aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsvidyuk <svidyuk@yandex-team.com>2025-01-21 07:30:47 +0300
committersvidyuk <svidyuk@yandex-team.com>2025-01-21 07:59:13 +0300
commit5d7f675908d15c5303c0e9a62d5c84c3ee8ea3b6 (patch)
tree1fa9a61476873e81490f9319b32e71a4db495cf0
parent06e85acf4c773282303b439f027e769c705bd34a (diff)
downloadydb-5d7f675908d15c5303c0e9a62d5c84c3ee8ea3b6.tar.gz
Start to join all java build scripts code into single place
commit_hash:dcea153842a8a7c8513f6458bc5367e80269635d
-rw-r--r--build/conf/java.conf17
-rw-r--r--build/scripts/prepare_jar_build.py (renamed from build/scripts/make_java_srclists.py)9
-rw-r--r--build/scripts/ya.make2
3 files changed, 18 insertions, 10 deletions
diff --git a/build/conf/java.conf b/build/conf/java.conf
index b49301eeff..541b4bc447 100644
--- a/build/conf/java.conf
+++ b/build/conf/java.conf
@@ -752,10 +752,10 @@ when ($BUILD_TYPE == "DEBUG" && $NO_DEBUGINFO != "yes") {
}
_PACK_SRC_JAR_IMPL=\
-&& $FS_TOOLS md ${BINDIR}/src \
-&& $JAR_GEN_JSRCS \
-&& $LINK_JAR_JSOURCES \
-&& ${cwd;suf=/src:BINDIR} $JDK_RESOURCE/bin/jar cfvm ${output;pre=${BINDIR}/${MODULE_PREFIX};suf=-sources.jar:REALPRJNAME} $VCS_JAVA .
+ && $FS_TOOLS md ${BINDIR}/src \
+ && $JAR_GEN_JSRCS \
+ && $LINK_JAR_JSOURCES \
+ && ${cwd;suf=/src:BINDIR} $JDK_RESOURCE/bin/jar cfvm ${output;pre=${BINDIR}/${MODULE_PREFIX};suf=-sources.jar:REALPRJNAME} $VCS_JAVA .
_PACK_SRC_JAR=
# tag:java-specific
@@ -835,9 +835,9 @@ MAVEN_EXPORT_CMD=
# tag:java-specific
JAVA_COVERAGE_SRCLIST_FLAG=--coverage ${output;pre=${MODULE_PREFIX};suf=.cpsf:REALPRJNAME} --source-root ${ARCADIA_ROOT}
JAVA_COVERAGE_SRCLIST=
-PREPARE_JAVA_BUILD_DIRS=$FS_TOOLS md ${BINDIR}/cls && $FS_TOOLS md ${BINDIR}/misc
-COLLECT_JAVA_SRCLIST=${YMAKE_PYTHON} ${input:"build/scripts/make_java_srclists.py"} \
- --moddir ${CURDIR} --java ${BINDIR}/all-java.srclst ${KT_SRSCLIST} ${JAVA_COVERAGE_SRCLIST} \
+PREPARE_JAR_BUILD=${cwd:BINDIR} ${YMAKE_PYTHON3} ${input:"build/scripts/prepare_jar_build.py"} \
+ --bindir ${BINDIR} --moddir ${CURDIR} \
+ --java ${BINDIR}/all-java.srclst ${KT_SRSCLIST} ${JAVA_COVERAGE_SRCLIST} \
--ya-start-command-file ${ext=.gentar:AUTO_INPUT} ${ALL_JAR_SOURCES} ${ext=.java:AUTO_INPUT} ${ext=.kt:AUTO_INPUT} --ya-end-command-file \
${hide;input:"build/scripts/process_command_files.py"} \
${hide;input:"build/scripts/java_pack_to_file.py"} \
@@ -847,8 +847,7 @@ LINK_CLASSPATH=${YMAKE_PYTHON} ${input:"build/scripts/make_manifest_from_bf.py"}
COMPILE_JAVA_SRCLIST=$_JAVAC_RUN_HELPER($JAVAC_CMD)
PACK_JAR=$_PACK_JAR_HELPER($TARGET)
LINK_JAR=${hide:JAVA_FAKEID} ${hide;kv:"p JV"} ${hide;kv:"pc light-blue"} ${hide;kv:"show_out"} ${hide;requirements:"cpu:2"} \
- && $PREPARE_JAVA_BUILD_DIRS \
- && $COLLECT_JAVA_SRCLIST \
+ && $PREPARE_JAR_BUILD \
&& $JAR_GEN_SRCS \
&& $ALL_KT_COMMANDS \
&& $COLLECT_CLASSPATH \
diff --git a/build/scripts/make_java_srclists.py b/build/scripts/prepare_jar_build.py
index a6e275d39c..a326ca9884 100644
--- a/build/scripts/make_java_srclists.py
+++ b/build/scripts/prepare_jar_build.py
@@ -112,16 +112,25 @@ class SourcesConsumer:
self.coverage.append(rel)
+def prepare_build_dirs(bindir):
+ for dir in [os.path.join(bindir, dirname) for dirname in ['cls', 'misc']]:
+ if not os.path.exists(dir):
+ os.makedirs(dir)
+
+
def main():
args = pcf.get_args(sys.argv[1:])
parser = argparse.ArgumentParser()
parser.add_argument('--moddir')
+ parser.add_argument('--bindir')
parser.add_argument('--java')
parser.add_argument('--kotlin')
parser.add_argument('--coverage')
parser.add_argument('--source-root')
args, remaining_args = parser.parse_known_args(args)
+ prepare_build_dirs(args.bindir)
+
src_sorter = SourcesSorter(args.moddir)
src_consumer = SourcesConsumer(
source_root=args.source_root,
diff --git a/build/scripts/ya.make b/build/scripts/ya.make
index 4dbc7581eb..24998211c3 100644
--- a/build/scripts/ya.make
+++ b/build/scripts/ya.make
@@ -99,7 +99,7 @@ ELSEIF (PY3)
make_container.py
make_container_layer.py
make_java_classpath_file.py
- make_java_srclists.py
+ prepare_jar_build.py
make_manifest_from_bf.py
merge_coverage_data.py
merge_files.py