aboutsummaryrefslogtreecommitdiffstats
path: root/build/conf/java.conf
diff options
context:
space:
mode:
authorAlexander Smirnov <alex@ydb.tech>2025-03-04 16:15:41 +0000
committerAlexander Smirnov <alex@ydb.tech>2025-03-04 16:15:41 +0000
commitb21a377d1f5b24149cf65fd1f8feb44411ae38f9 (patch)
tree0459a651275d60cf60489d8142f20a8bd5e6a199 /build/conf/java.conf
parent827cd39b843ead1adfaa20f8a55e2e17da62a4eb (diff)
parent00325857a11f51ad6b43a4d35f57e85e06866ab6 (diff)
downloadydb-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.conf39
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