diff options
author | Alexander Smirnov <alex@ydb.tech> | 2025-03-04 16:15:41 +0000 |
---|---|---|
committer | Alexander Smirnov <alex@ydb.tech> | 2025-03-04 16:15:41 +0000 |
commit | b21a377d1f5b24149cf65fd1f8feb44411ae38f9 (patch) | |
tree | 0459a651275d60cf60489d8142f20a8bd5e6a199 /build/conf/java.conf | |
parent | 827cd39b843ead1adfaa20f8a55e2e17da62a4eb (diff) | |
parent | 00325857a11f51ad6b43a4d35f57e85e06866ab6 (diff) | |
download | ydb-b21a377d1f5b24149cf65fd1f8feb44411ae38f9.tar.gz |
Merge pull request #15307 from ydb-platform/merge-libs-250304-1328
Diffstat (limited to 'build/conf/java.conf')
-rw-r--r-- | build/conf/java.conf | 39 |
1 files changed, 21 insertions, 18 deletions
diff --git a/build/conf/java.conf b/build/conf/java.conf index f76b0cfc90..8a06527ba7 100644 --- a/build/conf/java.conf +++ b/build/conf/java.conf @@ -404,7 +404,7 @@ macro _JAVA_SRCS(RESOURCES?"yes":"no", SRCDIR=".", PACKAGE_PREFIX="", EXCLUDE[], SET(VAR_SALT $SRCDIR $Globs $EXCLUDE $PACKAGE_PREFIX $RESOURCES $FILES) SET(JAR_SRCS_GLOB uniq_${hash:VAR_SALT}) _LATE_GLOB(${JAR_SRCS_GLOB} ${pre=${SRCDIR}/:Globs} EXCLUDE ${EXCLUDE}) - SET_APPEND(LINT_JAVA_SOURCES \${rootrel;input;ext=.java:${JAR_SRCS_GLOB}}) + SET_APPEND(LINT_JAVA_SOURCES \${rootrel;ext=.java;input:${JAR_SRCS_GLOB}}) SET_APPEND(ALL_JAR_SOURCES --jsources ${BINDIR}/misc/${tolower:JAR_SRCS_GLOB}.src.txt --resources ${BINDIR}/misc/${tolower:JAR_SRCS_GLOB}.res.txt --srcdir ${quo:SRCDIR} \${input:${JAR_SRCS_GLOB}} ${pre=\$\{input\:\";suf=\"\}:FILES}) _FILL_JAR_COPY_RESOURCES_CMD(LINK_JAR_RESOURCES ${quo:SRCDIR} ${BINDIR}/cls ${PACKAGE_PREFIX} ${BINDIR}/misc/${tolower:JAR_SRCS_GLOB}.res.txt) _FILL_JAR_COPY_RESOURCES_CMD(LINK_JAR_JSOURCES ${quo:SRCDIR} ${BINDIR}/src ${PACKAGE_PREFIX} ${BINDIR}/misc/${tolower:JAR_SRCS_GLOB}.src.txt) @@ -503,7 +503,7 @@ macro JAR_ANNOTATION_PROCESSOR(Classes...) { # tag:java-specific macro _JAR_ANN_PROC_OPTS(Classes...) { - .CMD=$_JAR_ANN_PROC_OPT_PREFIX ${join=,:Classes} $_USE_ANNOTATION_PROCESSOR_OPT + .CMD=$_JAR_ANN_PROC_OPT_PREFIX ${hideempty;join=,:Classes} $_USE_ANNOTATION_PROCESSOR_OPT } # tag:java-specific @@ -531,7 +531,8 @@ macro _NOOP_MACRO(Args...) { # tag:java-specific module _JAR_BASE: _BARE_UNIT { .NODE_TYPE=Bundle - .CMD=TOUCH_UNIT + .CMD=$TOUCH_UNIT + .STRUCT_CMD=yes .PEERDIR_POLICY=as_build_from .FINAL_TARGET=no .ALIASES=SRCS=_SRCS_NO_GLOBAL @@ -581,7 +582,7 @@ JAR_RESOURCE_ID= SRC_RESOURCE_ID= FETCH_SRCS_JAR= FETCH_TARGET_JAR= -FETCH_CONTRIB_JAR=${hide:JAVA_FAKEID} $FETCH_TARGET_JAR $FETCH_SRCS_JAR +FETCH_CONTRIB_JAR=${hide:JAVA_FAKEID} && $FETCH_TARGET_JAR && $FETCH_SRCS_JAR # tag:java-specific macro JAR_RESOURCE(Id) { @@ -613,14 +614,14 @@ _JAVA_CONTRIB_SEM= \ # tag:java-specific module JAVA_CONTRIB: _JAR_BASE { - .CMD=FETCH_CONTRIB_JAR + .CMD=$FETCH_CONTRIB_JAR .PEERDIR_POLICY=as_include .SEM=_JAVA_CONTRIB_SEM .FINAL_TARGET=yes .GLOBAL=MAVEN_EXPORT_COORDS when ($JAR_RESOURCE_ID) { - FETCH_TARGET_JAR= && $_FETCH_CONTRIB($JAR_RESOURCE_ID ${BINDIR}/${MODULE_PREFIX}${REALPRJNAME}${MODULE_SUFFIX}) + FETCH_TARGET_JAR= && $_FETCH_CONTRIB($JAR_RESOURCE_ID ${MODULE_PREFIX}${REALPRJNAME}${MODULE_SUFFIX}) } otherwise { when ($LOCAL_JAR_PATH) { @@ -770,14 +771,14 @@ macro _ADD_OPTS_IF_NON_EMPTY(Opt, Args...) { .CMD=${pre=$Opt :Args} } macro _ADD_GEN_POM_FROM_COORD_FILES_ARGS(Deps...) { - .CMD=${pre=--deps-coords ;ext=.jar;suf=.mvn_coords:Deps} + .CMD=${pre=--deps-coords ;suf=.mvn_coords;ext=.jar:Deps} } MAVEN_BIN=$MAVEN_RESOURCE_GLOBAL/bin/mvn MAVEN_EXPORT_OUT_DIR_FLAG=$_ADD_OPTS_IF_NON_EMPTY(--output-dir ${MAVEN_EXPORT_OUT_DIR}) MAVEN_EXPORT_SOURCE_DIRS=$_ADD_OPTS_IF_NON_EMPTY(--source-dirs ${ALL_SRCDIRS}) -MAVEN_EXPORT_DEPS_COORS=$_ADD_GEN_POM_FROM_COORD_FILES_ARGS(${MANAGED_PEERS_CLOSURE}) +MAVEN_EXPORT_DEPS_COORS=$_ADD_GEN_POM_FROM_COORD_FILES_ARGS($MANAGED_PEERS_CLOSURE) MAVEN_EXPORT_OUT_DIR= MAVEN_EXPORT=no @@ -1010,7 +1011,7 @@ _BUILD_PROTO_JAR_SEM= \ ### Reimplementation of the JAVA_LIBRARY with ymake.core.conf and ymake based dependency management module JAR_LIBRARY: _COMPILABLE_JAR_BASE { .EXTS=.jsrc .java .jar .mf .gentar .kt - .CMD=LINK_JAR + .CMD=$LINK_JAR .SEM=_BUILD_JAR_SEM .FINAL_TARGET=yes .ALIASES=JAVA_SRCS=FULL_JAVA_SRCS ANNOTATION_PROCESSOR=JAR_ANNOTATION_PROCESSOR @@ -1047,7 +1048,7 @@ module JAR_LIBRARY: _COMPILABLE_JAR_BASE { # For Kapt usage see: https://kotlinlang.org/docs/kapt.html#using-in-cli # See for kapt.kotlin.generated: https://github.com/JetBrains/kotlin/blob/master/plugins/kapt3/kapt3-cli/testData/integration/kotlinFileGeneration/build.txt _KAPT_OPTS=-Xplugin=${tool:"contrib/java/org/jetbrains/kotlin/kotlin-annotation-processing/1.9.24"} $KT_KAPT_PLUGIN_OPTS - _RUN_KAPT=${YMAKE_PYTHON} ${input:"build/scripts/with_kapt_args.py"} ${pre=--ap-classpath :KT_KAPT_AP_CLASSPATH} -- $COMPILE_KT $_KAPT_OPTS + _RUN_KAPT=${YMAKE_PYTHON} ${input:"build/scripts/with_kapt_args.py"} --ap-classpath ${KT_KAPT_AP_CLASSPATH} -- $COMPILE_KT $_KAPT_OPTS _APPEND_KAPT_GENERATED_SRCS=$YMAKE_PYTHON3 ${input:"build/scripts/resolve_java_srcs.py"} -d $KT_KAPT_SOURCES_DIR --include-patterns '**/*.java' '**/*.kt' --resolve-kotlin --append -s ${BINDIR}/all-java.srclst -k $KT_SRCLIST -r ${BINDIR}/not-used.txt ALL_KT_COMMANDS+=&& $_RUN_KAPT && $_APPEND_KAPT_GENERATED_SRCS @@ -1179,7 +1180,7 @@ module JAR_LIBRARY: _COMPILABLE_JAR_BASE { # tag:java-specific _SCRIPTGEN_FLAGS= macro _GEN_JAVA_SCRIPT_IMPL(Out, Template, Props...) { - .CMD=$SCRIPTGEN_RESOURCE_GLOBAL/scriptgen --java $JDK_RESOURCE/bin/java --output ${output:Out} --template ${input:Template} ${_SCRIPTGEN_FLAGS} -D JAR_NAME=${REALPRJNAME}.jar -D CLASSPATH=${join;pre="::";nopath;ext=.jar:MANAGED_PEERS_CLOSURE} -D PROJECT_DIR=${MODDIR} -D JAR_BASENAME=${REALPRJNAME} -D MAIN_CLASS=${_JAR_MAIN_CLASS} -D ENABLE_PREVIEW_VALUE=${ENABLE_PREVIEW_VALUE} $Props + .CMD=$SCRIPTGEN_RESOURCE_GLOBAL/scriptgen --java $JDK_RESOURCE/bin/java --output ${output:Out} --template ${input:Template} ${_SCRIPTGEN_FLAGS} -D JAR_NAME=${REALPRJNAME}.jar -D CLASSPATH=${join=;pre=\:\:;nopath;ext=.jar:MANAGED_PEERS_CLOSURE} -D PROJECT_DIR=${MODDIR} -D JAR_BASENAME=${REALPRJNAME} -D MAIN_CLASS=${_JAR_MAIN_CLASS} -D ENABLE_PREVIEW_VALUE=${ENABLE_PREVIEW_VALUE} $Props } # tag:java-specific @@ -1202,12 +1203,17 @@ when ($HOST_OS_WINDOWS == "yes") { GEN_JAVA_RUN_SH=$SCRIPTGEN_RESOURCE_GLOBAL/scriptgen --java $JDK_RESOURCE/bin/java --output ${output:_GEN_JAVA_RUN_SH_OUTPUT} \ -D GENERATE_DEFAULT_RUNNER=yes \ -D JAR_NAME=${REALPRJNAME}.jar \ - -D CLASSPATH=${join;pre="::";nopath:MANAGED_PEERS_CLOSURE} \ + -D CLASSPATH=${join=;pre=\:\:;nopath:MANAGED_PEERS_CLOSURE} \ -D PROJECT_DIR=${REALPRJNAME} \ -D JAR_BASENAME=${REALPRJNAME} \ -D MAIN_CLASS=${_JAR_MAIN_CLASS} \ -D ENABLE_PREVIEW=${ENABLE_PREVIEW_VALUE} GEN_RUN_CP=${WRITER_PY} --file ${BINDIR}/run-bf.txt -Q -m --ya-start-command-file ${qe;pre=$REALPRJNAME/;nopath:MANAGED_PEERS_CLOSURE} --ya-end-command-file && ${YMAKE_PYTHON} ${input:"build/scripts/make_manifest_from_bf.py"} ${BINDIR}/run-bf.txt ${TARGET} +COLLECT_JAR_PROGRAM_CP__LATEOUT__=\ + ${pre=$BINDIR/$REALPRJNAME/;nopath;ext=.jar:MANAGED_PEERS_CLOSURE} \ + ${pre=$BINDIR/$REALPRJNAME/;nopath;ext=.so:MANAGED_PEERS_CLOSURE} \ + ${pre=$BINDIR/$REALPRJNAME/;nopath;ext=.dll:MANAGED_PEERS_CLOSURE} \ + ${pre=$BINDIR/$REALPRJNAME/;nopath;ext=.dylib:MANAGED_PEERS_CLOSURE} COLLECT_JAR_PROGRAM_CP=$FS_TOOLS link_or_copy_to_dir \ --ya-start-command-file \ ${ext=.jar:MANAGED_PEERS_CLOSURE} \ @@ -1217,10 +1223,7 @@ COLLECT_JAR_PROGRAM_CP=$FS_TOOLS link_or_copy_to_dir \ ${_SOURCE_JARS} \ --ya-end-command-file \ ${BINDIR}/${REALPRJNAME} \ - ${hide;late_out;pre=$BINDIR/$REALPRJNAME/;nopath;ext=.jar:MANAGED_PEERS_CLOSURE} \ - ${hide;late_out;pre=$BINDIR/$REALPRJNAME/;nopath;ext=.so:MANAGED_PEERS_CLOSURE} \ - ${hide;late_out;pre=$BINDIR/$REALPRJNAME/;nopath;ext=.dll:MANAGED_PEERS_CLOSURE} \ - ${hide;late_out;pre=$BINDIR/$REALPRJNAME/;nopath;ext=.dylib:MANAGED_PEERS_CLOSURE} + ${hide;late_out:COLLECT_JAR_PROGRAM_CP__LATEOUT__} MAKE_JAR_PROGRAM_CPLST=${MAKE_JAVA_CLASSPATH_FILE} --from-args ${output;pre=$MODULE_PREFIX;suf=${MODULE_SUFFIX}.cplst:REALPRJNAME} --ya-start-command-file ${rootrel;pre=$BINDIR/$REALPRJNAME/;nopath;ext=.jar:MANAGED_PEERS_CLOSURE} ${_SOURCE_JARS_CPLIST} --ya-end-command-file TAR_CLASSPATH= && $YMAKE_PYTHON ${input:"build/scripts/find_and_tar.py"} ${output;pre=$MODULE_PREFIX;suf=.tar:REALPRJNAME} ${cwd;pre=$BINDIR/:REALPRJNAME} DO_TAR_CLASSPATH= @@ -1258,7 +1261,7 @@ macro _MARK_JAVA_PROG_WITH_SOURCES(Args...) { # tag:java-specific module _JAR_RUNNABLE: _COMPILABLE_JAR_BASE { .FINAL_TARGET=yes - .CMD=LINK_JAR_PROGRAM + .CMD=$LINK_JAR_PROGRAM .SEM=_SEM_IGNORED .ALIASES=JAVA_SRCS=_MARK_JAVA_PROG_WITH_SOURCES .ALLOWED=WITH_JDK GENERATE_SCRIPT @@ -1299,7 +1302,7 @@ module _JAR_RUNNABLE: _COMPILABLE_JAR_BASE { LINK_JAR_TEST=${hide:JAVA_FAKEID} ${WRITER_PY} --file ${BINDIR}/run-bf.txt -Q -m --ya-start-command-file ${ext=.jar:MANAGED_PEERS_CLOSURE} --ya-end-command-file && ${YMAKE_PYTHON} ${input:"build/scripts/make_manifest_from_bf.py"} ${BINDIR}/run-bf.txt ${TARGET} ${hide;kv:"p JT"} module _JAR_TEST: _COMPILABLE_JAR_BASE { .FINAL_TARGET=yes - .CMD=LINK_JAR_TEST + .CMD=$LINK_JAR_TEST .DEFAULT_NAME_GENERATOR=FullPath CONSUME_NON_MANAGEABLE_PEERS=yes |