diff options
author | zaverden <[email protected]> | 2025-03-25 06:29:48 +0300 |
---|---|---|
committer | zaverden <[email protected]> | 2025-03-25 06:46:34 +0300 |
commit | 002d22d192163baf71d1fa2e401f312784b60849 (patch) | |
tree | 16165413a01eb3b031723d0bc968f99d97beaac6 | |
parent | 7250aa1f61673aa672809372a0a8b338e5361ccd (diff) |
feat(conf): JAVA_RESOURCE_TAR
commit_hash:d0f3aef0673ee6866c204589c0131efbf0dfc54c
-rw-r--r-- | build/conf/java.conf | 12 | ||||
-rw-r--r-- | build/plugins/java.py | 8 |
2 files changed, 20 insertions, 0 deletions
diff --git a/build/conf/java.conf b/build/conf/java.conf index 1e2081fca2e..4eb0a87b341 100644 --- a/build/conf/java.conf +++ b/build/conf/java.conf @@ -1842,6 +1842,18 @@ macro JAVA_SRCS(Args...) { _SEM_JAR_SOURCE_SET($Args) } +### @usage: JAVA_RESOURCE_TAR(tar_path EXTRACT_ROOT root_dir) +### +### Adds tar content as resources +### +### Documentation: https://docs.yandex-team.ru/ya-make/manual/java/macros#java_resource_tar +macro JAVA_RESOURCE_TAR(TAR, EXTRACT_ROOT="<required>") { + COPY_FILE($TAR $EXTRACT_ROOT/${suf=.gentar;nopath:TAR}) + FULL_JAVA_SRCS(SRCDIR $BINDIR $EXTRACT_ROOT/**/* EXCLUDE **/*.gentar) + _JAVA_RESOURCE_TAR_VALIDATE_EXTRACT_ROOT($EXTRACT_ROOT) +} + + # tag:java-specific JAVA_ADD_DLLS_VALUE=no macro ADD_DLLS_TO_JAR() { diff --git a/build/plugins/java.py b/build/plugins/java.py index f95c08cea81..fdc45d452b7 100644 --- a/build/plugins/java.py +++ b/build/plugins/java.py @@ -367,3 +367,11 @@ def on_setup_project_coords_if_needed(unit, *args): else: value = 'project(\\":{}\\")'.format(project_dir.replace('/', ':')) unit.set(['EXPORT_GRADLE_CLASSPATH', value]) + + +def on_java_resource_tar_validate_extract_root(unit, extract_root): + if extract_root == '<required>': + ymake.report_configure_error( + 'Macro JAVA_RESOURCE_TAR requires to set EXTRACT_ROOT. ' + 'Usage JAVA_RESOURCE_TAR(tar_path EXTRACT_ROOT root_dir)' + ) |