123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079 |
- macro _INPUT_WITH_FLAG(Flag, IN[]) {
- .CMD=$_INPUT_WITH_FLAG_IMPL(${pre=$Flag :IN} IN $IN)
- }
- macro _INPUT_WITH_FLAG_IMPL(IN{input}[], Args...) {
- .CMD=$Args ${input;hide:IN}
- }
- macro ACCELEO(XSD{input}[], MTL{input}[], MTL_ROOT="${MODDIR}", LANG{input}[], OUT{output}[], OUT_NOAUTO{output}[], OUTPUT_INCLUDES[], DEBUG?"stdout2stderr":"stderr2stdout") {
- .PEERDIR=build/platform/java/jdk $JDK_RESOURCE_PEERDIR
- .CMD=${cwd:ARCADIA_BUILD_ROOT} $YMAKE_PYTHON ${input;pre=build/scripts/:DEBUG.py} $JDK_RESOURCE/bin/java -Dfile.encoding=utf8 -classpath ${RUN_JAR_PROG_CP_PRE}${tool:"tools/acceleo"}${RUN_JAR_PROG_CP_SUF} ru.yandex.se.logsng.tool.Cli $_INPUT_WITH_FLAG(--xsd IN $XSD) $_INPUT_WITH_FLAG(--mtl IN $MTL) $_INPUT_WITH_FLAG(--lang IN $LANG) --output-dir $BINDIR --build-root ${ARCADIA_BUILD_ROOT} --source-root ${ARCADIA_ROOT} --mtl-root $MTL_ROOT ${output_include;hide:OUTPUT_INCLUDES} ${output;hide:OUT} ${output;noauto;hide:OUT_NOAUTO} ${kv;hide:"p JV"} ${kv;hide:"pc light-blue"} ${kv;hide:"show_out"}
- }
- module JAVA_LIBRARY: JAR_LIBRARY {
- .SEM=BUILD_JAR_SEM
- }
- PROGRAM_AND_TESTS_CP_COLLECTING_NODES_SEM=IGNORED
- multimodule JAVA_PROGRAM {
- module JAR_RUNNABLE: _JAR_RUNNABLE {
- .ALLOWED=JAVA_RUNTIME_PEERDIR JAVA_RUNTIME_EXCLUDE
- .SEM=PROGRAM_AND_TESTS_CP_COLLECTING_NODES_SEM
- .IGNORED=RUN_JAVA_PROGRAM JAVA_DEPENDENCIES_CONFIGURATION PROVIDES FEATURE_VERSION
- .ALIASES=JAVA_RUNTIME_PEERDIR=PEERDIR JAVA_RUNTIME_EXCLUDE=EXCLUDE
- .PEERDIRSELF=JAR_COMPILATION
- SET(MODULE_TYPE JAVA_PROGRAM)
- }
- module JAR_COMPILATION: JAR_LIBRARY {
- .IGNORED=JAVA_RUNTIME_PEERDIR JAVA_RUNTIME_EXCLUDE
- .ALIASES=JAVA_RUNTIME_PEERDIR=_NOOP_MACRO JAVA_RUNTIME_EXCLUDE=_NOOP_MACRO
- .SEM=BUILD_JAR_SEM
- .FINAL_TARGET=no
- SET(MODULE_TYPE JAVA_PROGRAM)
- when ($OPENSOURCE == "yes" && $AUTOCHECK == "yes") {
- MODULE_LICENSES_RESTRICTION_TYPES = ALLOW_ONLY
- MODULE_LICENSES_RESTRICTIONS = SERVICE REQUIRE_CITATION REQUIRE_MODIFICATIONS_DISCLOSURE
- when ($MAKE_UBERJAR_VALUE == "yes") {
- _OK = no
- }
- }
- when ($OS_IOS == "yes" || $OS_ANDROID == "yes" || $MAPSMOBI_BUILD_TARGET == "yes") {
- MODULE_LICENSES_RESTRICTION_TYPES = ALLOW_ONLY
- MODULE_LICENSES_RESTRICTIONS = SERVICE REQUIRE_CITATION
- }
- ASSERT(_OK "UBERJAR() macro can not be used in this configuration, see YMAKE-1043")
- }
- }
- macro JUNIT_TESTS_JAR(Dir, Jar) {
- SET(UNITTEST_DIR $Dir)
- PEERDIR($Dir)
- SET(UNITTEST_MOD $Dir/$Jar)
- }
- BUILD_JUNIT5_JAR_SEM=$BUILD_JAR_SEM && junit5_test
- multimodule JUNIT5 {
- module JAR_TESTABLE: _JAR_TEST {
- .ALLOWED=YT_SPEC
- .IGNORED=JAVA_SRCS RUN_JAVA_PROGRAM JAVA_DEPENDENCIES_CONFIGURATION PROVIDES FEATURE_VERSION
- .ALIASES=JAVA_TEST_PEERDIR=PEERDIR JAVA_TEST_EXCLUDE=EXCLUDE
- .PEERDIRSELF=JAR_COMPILATION
- .SEM=PROGRAM_AND_TESTS_CP_COLLECTING_NODES_SEM
- PEERDIR(devtools/jtest-annotations/junit5)
- SET(MODULE_TYPE JUNIT5)
- }
- module JAR_COMPILATION: JAR_LIBRARY {
- .ALLOWED=YT_SPEC
- .ALIASES=JAVA_TEST_PEERDIR=_NOOP_MACRO JAVA_TEST_EXCLUDE=_NOOP_MACRO
- .FINAL_TARGET=no
- .DEFAULT_NAME_GENERATOR=FullPath
- .SEM=BUILD_JUNIT5_JAR_SEM
- .IGNORED=JUNIT_TESTS_JAR
- PEERDIR+=devtools/junit5-runner
- PEERDIR+=build/platform/java/jacoco-agent
- when ($OPENSOURCE != "yes") {
- PEERDIR+=devtools/jtest-annotations/junit5
- }
- SET(MODULE_TYPE JUNIT5)
- when ($OPENSOURCE == "yes" && $AUTOCHECK == "yes") {
- MODULE_LICENSES_RESTRICTION_TYPES = ALLOW_ONLY
- MODULE_LICENSES_RESTRICTIONS = SERVICE REQUIRE_CITATION REQUIRE_MODIFICATIONS_DISCLOSURE
- when ($MAKE_UBERJAR_VALUE == "yes") {
- _OK = no
- }
- }
- ASSERT(_OK "UBERJAR() macro can not be used in this condfiguration, see YMAKE-1043")
- }
- }
- BUILD_JUNIT4_JAR_SEM=$BUILD_JAR_SEM && junit4_test
- multimodule JTEST {
- module JAR_TESTABLE: _JAR_TEST {
- .ALLOWED=YT_SPEC
- .IGNORED=JAVA_SRCS RUN_JAVA_PROGRAM JAVA_DEPENDENCIES_CONFIGURATION PROVIDES FEATURE_VERSION
- .ALIASES=JAVA_TEST_PEERDIR=PEERDIR JAVA_TEST_EXCLUDE=EXCLUDE
- .PEERDIRSELF=JAR_COMPILATION
- .SEM=PROGRAM_AND_TESTS_CP_COLLECTING_NODES_SEM
- SET(MODULE_TYPE JTEST)
- PEERDIR(devtools/junit-runner devtools/jtest-annotations/junit4)
- DEPENDENCY_MANAGEMENT(contrib/java/com/google/code/gson/gson/2.10.1 contrib/java/com/beust/jcommander/1.72 contrib/java/junit/junit/4.12)
- }
- module JAR_COMPILATION: JAR_LIBRARY {
- .ALLOWED=YT_SPEC
- .ALIASES=JAVA_TEST_PEERDIR=_NOOP_MACRO JAVA_TEST_EXCLUDE=_NOOP_MACRO
- .FINAL_TARGET=no
- .DEFAULT_NAME_GENERATOR=FullPath
- .SEM=BUILD_JUNIT4_JAR_SEM
- .IGNORED=JUNIT_TESTS_JAR
- SET(MODULE_TYPE JTEST)
- DEPENDS(contrib/java/org/sonarsource/scanner/cli/sonar-scanner-cli/2.8)
- PEERDIR+=build/platform/java/jacoco-agent
- when ($OPENSOURCE != "yes") {
- PEERDIR+=devtools/jtest-annotations/junit4
- }
- when ($OPENSOURCE == "yes" && $AUTOCHECK == "yes") {
- MODULE_LICENSES_RESTRICTION_TYPES = ALLOW_ONLY
- MODULE_LICENSES_RESTRICTIONS = SERVICE REQUIRE_CITATION REQUIRE_MODIFICATIONS_DISCLOSURE
- when ($MAKE_UBERJAR_VALUE == "yes") {
- _OK = no
- }
- }
- ASSERT(_OK "UBERJAR() macro can not be used in this configuration, see YMAKE-1043")
- }
- }
- multimodule JTEST_FOR {
- module JAR_TESTABLE: _JAR_TEST {
- .ALLOWED=YT_SPEC
- .IGNORED=JAVA_SRCS RUN_JAVA_PROGRAM JAVA_DEPENDENCIES_CONFIGURATION PROVIDES FEATURE_VERSION
- .ALIASES=JAVA_TEST_PEERDIR=PEERDIR JAVA_TEST_EXCLUDE=EXCLUDE
- .RESTRICTED=JUNIT_TESTS_JAR
- .PEERDIRSELF=JAR_COMPILATION
- .SEM=PROGRAM_AND_TESTS_CP_COLLECTING_NODES_SEM
- SET(MODULE_TYPE JTEST_FOR)
- PEERDIR(${UNITTEST_DIR} devtools/junit-runner)
- DEPENDENCY_MANAGEMENT(contrib/java/com/google/code/gson/gson/2.8.6 contrib/java/com/beust/jcommander/1.72 contrib/java/junit/junit/4.12)
- }
- module JAR_COMPILATION: JAR_LIBRARY {
- .ALLOWED=YT_SPEC
- .ALIASES=JAVA_TEST_PEERDIR=_NOOP_MACRO JAVA_TEST_EXCLUDE=_NOOP_MACRO
- .FINAL_TARGET=no
- .DEFAULT_NAME_GENERATOR=FullPath
- .SEM=BUILD_JUNIT4_JAR_SEM
- .RESTRICTED=JUNIT_TESTS_JAR
- SET(MODULE_TYPE JTEST_FOR)
- DEPENDS(contrib/java/org/sonarsource/scanner/cli/sonar-scanner-cli/2.8)
- PEERDIR(devtools/junit-runner build/platform/java/jacoco-agent ${UNITTEST_DIR})
- }
- }
- _SEM_JAR_RUNNABLE=
- multimodule JAVA_CONTRIB_PROGRAM {
- module JAR_RUNNABLE: _JAR_RUNNABLE {
- .IGNORED=JAVA_SRCS RUN_JAR_PROGRAM RUN_JAVA_PROGRAM JAR_RESOURCE SRC_RESOURCE LOCAL_JAR
- .PEERDIRSELF=JAR_COMPILATION
- .SEM=_SEM_JAR_RUNNABLE
- SET(MODULE_TYPE JAVA_PROGRAM)
- ENABLE(DISABLE_SCRIPTGEN)
- }
- module JAR_COMPILATION: JAVA_CONTRIB {
- .ALIASES=JAVA_RUNTIME_PEERDIR=_NOOP_MACRO JAVA_RUNTIME_EXCLUDE=_NOOP_MACRO
- .FINAL_TARGET=no
- .SEM=BUILD_JAR_SEM
- }
- }
- JAVA_VCS_MF_ARG=
- COMPILE_JAVA_MF=${hide:JAVA_FAKEID} $COMPILE_JAVA $MAVEN_EXPORT_CMD
- when ($EXT_JAVA_VCS_INFO == "yes") {
- JAVA_VCS_MF_ARG=--vcs-mf $VCS_JAVA
- COMPILE_JAVA_MF=${hide:JAVA_FAKEID} $GENERATE_VCS_JAVA_INFO_NODEP && $COMPILE_JAVA $MAVEN_EXPORT_CMD
- }
- EXT_JAVA_VCS_INFO=no
- macro EMBED_JAVA_VCS_INFO() {
- .SEM=add_vcs_info_to_mf ${hide;output:"VcsInfoMfDummy.java"}
- ENABLE(EXT_JAVA_VCS_INFO)
- }
- module EXTERNAL_JAVA_LIBRARY: _BASE_UNIT {
- .EXTS=.jsrc .java .jar .mf
- .NODE_TYPE=Bundle
- .CMD=COMPILE_JAVA_MF
- .SEM=JAVA_CONTRIB_SEM
- .PEERDIR_POLICY=as_build_from
- .FINAL_TARGET=no
- .ALIASES=SRCS=_SRCS_NO_GLOBAL
- .ALLOWED=EMBED_JAVA_VCS_INFO
- .RESTRICTED=EXTERNAL_JAR
- .GLOBAL=MAVEN_EXPORT_COORDS
- SET(MODULE_TAG JAVA)
- PEERDIR(build/platform/java/jdk)
- PEERDIR+=$JDK_RESOURCE_PEERDIR $EXTERNAL_JAVA_EXTRA_PEERDIR
- when ($KOTLIN_PROTO == "yes") {
- PEERDIR+=build/platform/java/kotlin contrib/java/org/jetbrains/kotlin/kotlin-stdlib-jdk8/${_KOTLIN_VERSION}
- }
- when ($MAVEN_EXPORT == "yes") {
- when ($MAVEN_DEPLOY == "yes") {
- PEERDIR+=build/external_resources/maven
- MAVEN_EXPORT_CMD= && $MAVEN_EXPORT_GEN_DEPLST && $MAVEN_EXPORT_GEN_POM && $MAVEN_DEPLOY_CMD
- }
- otherwise {
- MAVEN_EXPORT_CMD= && $MAVEN_EXPORT_GEN_DEPLST && $MAVEN_EXPORT_GEN_POM
- }
- MAVEN_EXPORT_COORDS_GLOBAL=$MAVEN_EXPORT_GROUP_ID:${MODULE_PREFIX}${REALPRJNAME}:${MAVEN_EXPORT_VERSION}:
- }
- PEERDIR_TAGS=JAVA JAVA_PROTO JAVA_FBS JAVA_IDL PACKAGE_UNION
- HAS_MANAGEABLE_PEERS=yes
- DYNAMIC_LINK=yes
- _PROTO_CMDLINE=$_JAVA_PROTO_CMDLINE
- _EVLOG_CMDLINE=$_JAVA_EVLOG_CMDLINE
- _FBS_CMDLINE=$_JAVA_FLATC_CMDLINE
- when ($PACKAGE_PREFIX) {
- PACKAGE_PREFIX_ARGS=--package-prefix=$PACKAGE_PREFIX
- }
- DISABLE(NEED_PLATFORM_PEERDIRS)
- NO_PLATFORM()
- SET(MODULE_SUFFIX .jar)
- SET(MODULE_LANG JAVA)
- _WHEN_EXPORT_GRADLE()
- }
- ALL_JAR_SOURCES=
- LINT_JAVA_SOURCES=
- ALL_SRCDIRS=
- LINK_JAR_RESOURCES=
- LINK_JAR_JSOURCES=
- JAR_GEN_SRCS=
- JAR_GEN_JSRCS=
- macro _JAVA_SRCS(RESOURCES?"yes":"no", SRCDIR=".", PACKAGE_PREFIX="", EXCLUDE[], FILES[], SKIP_CHECK_SRCDIR?"SKIP_CHECK_SRCDIR":"", Globs...) {
- _CHECK_JAVA_SRCDIR($SKIP_CHECK_SRCDIR $SRCDIR)
- SET_APPEND(ALL_SRCDIRS $SRCDIR)
- 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 \${input;rootrel;ext=.java:${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)
- _FILL_JAR_GEN_SRCS(JAR_GEN_SRCS JAR $SRCDIR ${BINDIR}/cls ${BINDIR}/all-java.srclst $KT_SRCLIST ${BINDIR}/misc/all-gr-sources.txt ${BINDIR}/misc/${tolower:JAR_SRCS_GLOB}.res.txt $Globs EXCLUDE $EXCLUDE)
- _FILL_JAR_GEN_SRCS(JAR_GEN_JSRCS SRC_JAR $SRCDIR ${BINDIR}/cls ${BINDIR}/all-java.srclst $KT_SRCLIST ${BINDIR}/misc/all-gr-sources.txt ${BINDIR}/misc/${tolower:JAR_SRCS_GLOB}.src.txt $Globs EXCLUDE $EXCLUDE)
- }
- # tag:java-specific
- # Fill semantic jar_source_set by JAVA_SRCS() Args
- SEM_JAR_SOURCE_SET=
- macro _SEM_JAR_SOURCE_SET(SRCDIR=".", PACKAGE_PREFIX="", EXCLUDE[], FILES[], RESOURCES?"RESOURCES":"", SKIP_CHECK_SRCDIR?"SKIP_CHECK_SRCDIR":"", Globs...) {
- # Now ignore SKIP_CHECK_SRCDIR, PACKAGE_PREFIX, EXCLUDE, RESOURCES, FILES
- SET_APPEND(SEM_JAR_SOURCE_SET && jar_source_set ${pre=${SRCDIR}\::Globs})
- }
- ### Fill JAVA_SRCS to value for ya ide idea and real apply for late globs
- macro FULL_JAVA_SRCS(Args...) {
- _IDEA_JAVA_SRCS_VALUE($Args)
- _JAVA_SRCS($Args)
- }
- # tag:java-specific
- ### @usage: DEFAULT_JAVA_SRCS_LAYOUT()
- ###
- ### DEFAULT_JAVA_SRCS_LAYOUT() declare all source files can be find at maven/gradle standard path src/main/java **/*.java
- ### and all resources an be find at maven/gradle standard path src/main/resources **/*
- macro DEFAULT_JAVA_SRCS_LAYOUT() {
- # Maven default source paths, supported by gradle too
- # JAVA_SRCS may be alias of FULL_JAVA_SRCS
- FULL_JAVA_SRCS(SRCDIR src/main/java **/*.java SKIP_CHECK_SRCDIR)
- FULL_JAVA_SRCS(RESOURCES SRCDIR src/main/resources **/* SKIP_CHECK_SRCDIR)
- }
- # tag:java-specific
- ### @usage: DEFAULT_JUNIT_JAVA_SRCS_LAYOUT()
- ###
- ### DEFAULT_JUNIT_JAVA_SRCS_LAYOUT() declare all test source files can be find at maven/gradle standard path src/test/java **/*.java
- ### and all resources can be find at maven/gradle standard path src/test/resources **/*
- macro DEFAULT_JUNIT_JAVA_SRCS_LAYOUT() {
- # Maven default test source paths, supported by gradle too
- # JAVA_SRCS may be alias of FULL_JAVA_SRCS
- FULL_JAVA_SRCS(SRCDIR java **/*.java SKIP_CHECK_SRCDIR)
- FULL_JAVA_SRCS(RESOURCES SRCDIR resources **/* SKIP_CHECK_SRCDIR)
- }
- macro _HASH_HELPER(Args...) {
- .CMD=${hash:Args}
- .SEM=${hash:Args}
- }
- macro _GENTAR_HELPER(OUT_DIR[], Args...) {
- .CMD=${cwd:BINDIR} $YMAKE_PYTHON ${input:"build/scripts/autotar_gendirs.py"} --pack ${OUT_DIR} --outs ${output;tared;suf=.$_HASH_HELPER($Args).gentar:OUT_DIR} ${kv;hide:"tared_kind nodir"}
- }
- # tag:java-specific
- RUN_JAR_PROG_CP_PRE=@
- RUN_JAR_PROG_CP_SUF=.cplst
- when($JDK_VERSION == "8") {
- RUN_JAR_PROG_CP_PRE=
- RUN_JAR_PROG_CP_SUF=
- }
- # tag:java-specific
- JDK_LATEST_VERSION=22
- JDK_LATEST_PEERDIR=build/platform/java/jdk/jdk${JDK_LATEST_VERSION}
- # tag:java-specific
- # Fill semantic by RUN_JAVA_PROGRAM()
- _SEM_RUN_JAVA_PROGRAM=runs-ITEM \
- && runs-args ${Args} \
- && runs-classpath ${RUN_JAR_PROG_CP_PRE}${tool:CLASSPATH}${RUN_JAR_PROG_CP_SUF} \
- && runs-cwd ${CWD} ${hide;cwd:CWD} \
- && runs-in ${IN} ${hide;input:IN} \
- && runs-in_dir ${IN_DIR} \
- && runs-in_dirs_inputs ${IN_DIRS_INPUTS} \
- && runs-in_noparse ${IN_NOPARSE} ${hide;input;context=TEXT:IN_NOPARSE} \
- && runs-out ${OUT} ${hide;output:OUT} ${OUT_NOAUTO} ${hide;output;noauto:OUT_NOAUTO} ${hide;output;suf=.$_HASH_HELPER($CLASSPATH $IN_DIR $IN $IN_NOPARSE $TOOL $Args).gentar:OUT_DIR} \
- && runs-out_dir ${OUT_DIR} \
- && runs-tool ${TOOL} ${hide;tool:TOOL}
- macro _DO_2_RUN_JAR_PROGRAM(IN_DIRS_VAR="uniq_", IN_DIRS_INPUTS[], IN{input}[], IN_NOPARSE{input}[], IN_DIR[], OUT_NOAUTO{output}[], OUT{output}[], TOOL{tool}[], OUT_DIR[], CLASSPATH[], ADD_SRCS_TO_CLASSPATH?"yes":"no", CWD="${ARCADIA_BUILD_ROOT}", STDOUT="", STDOUT_NOAUTO="", Args...) {
- _LATE_GLOB(${IN_DIRS_VAR} ${suf=/**/*:IN_DIR})
- _CHECK_RUN_JAVA_PROG_CLASSPATH($CLASSPATH)
- .PEERDIR=build/platform/java/jdk $JDK_RESOURCE_PEERDIR
- .CMD=${kv;hide:"p RJ"} ${kv;hide:"pc blue"} ${hide:JAVA_FAKEID} ${cwd:BINDIR} $YMAKE_PYTHON ${input:"build/scripts/mkdir.py"} ${OUT_DIR} && ${cwd:CWD} $YMAKE_PYTHON ${input:"build/scripts/setup_java_tmpdir.py"} $YMAKE_PYTHON ${input:"build/scripts/stdout2stderr.py"} ${pre=--file=:STDOUT} ${output;hide:STDOUT} ${pre=--file=:STDOUT_NOAUTO} ${output;hide;noauto:STDOUT_NOAUTO} $YMAKE_PYTHON ${input:"build/scripts/fix_java_command_file_cp.py"} --build-root ${ARCADIA_BUILD_ROOT} $JDK_RESOURCE/bin/java -Dfile.encoding=utf8 -classpath ${RUN_JAR_PROG_CP_PRE}${tool:CLASSPATH}${RUN_JAR_PROG_CP_SUF} ${Args} && $_GENTAR_HELPER($CLASSPATH $IN_DIR $IN $IN_NOPARSE $TOOL $Args OUT_DIR $OUT_DIR) ${input;hide:IN} ${input;context=TEXT;hide:IN_NOPARSE} ${output;noauto;hide:OUT_NOAUTO} ${output;hide:OUT} ${tool;hide:TOOL} ${IN_DIRS_INPUTS}
- .SEM=$_SEM_RUN_JAVA_PROGRAM
- }
- macro _DO_1_RUN_JAR_PROGRAM(IN_DIRS_VAR="uniq", Args...) {
- _DO_2_RUN_JAR_PROGRAM($Args IN_DIRS_VAR $IN_DIRS_VAR IN_DIRS_INPUTS ${"$"}{input;hide:$IN_DIRS_VAR})
- }
- macro RUN_JAVA_PROGRAM(Args...) {
- _DO_1_RUN_JAR_PROGRAM($Args IN_DIRS_VAR uniq_${hash:Args})
- }
- _JAR_ANN_PROCESSORS=
- _JAR_ANN_PROC_OPT_PREFIX=
- _ANN_PROCESSORS_SEM=
- macro JAR_ANNOTATION_PROCESSOR(Classes...) {
- SET_APPEND(_JAR_ANN_PROCESSORS $Classes)
- SET(_JAR_ANN_PROC_OPT_PREFIX -processor)
- SET_APPEND(_ANN_PROCESSORS_SEM && annotation_processors $Classes)
- SET_APPEND(ANNOTATION_PROCESSOR_VALUE $ARGS_DELIM $Classes)
- }
- macro _JAR_ANN_PROC_OPTS(Classes...) {
- .CMD=$_JAR_ANN_PROC_OPT_PREFIX ${join=,:Classes}
- }
- macro _NOOP_MACRO(Args...) {
- ENABLE(UNUSED_MACRO)
- }
- module _JAR_BASE: _BARE_UNIT {
- .NODE_TYPE=Bundle
- .CMD=TOUCH_UNIT
- .PEERDIR_POLICY=as_build_from
- .FINAL_TARGET=no
- .ALIASES=SRCS=_SRCS_NO_GLOBAL
- .ALLOWED=EMBED_JAVA_VCS_INFO DEPENDENCY_MANAGEMENT EXCLUDE
- .DEFAULT_NAME_GENERATOR=TwoDirNames
- .RESTRICTED=WITH_JDK RESOURCE RESOURCE_FILES
- SET(MODULE_TAG JAVA)
- PEERDIR_TAGS=JAVA JAVA_PROTO JAVA_FBS JAVA_IDL DLL JAR_COMPILATION __EMPTY__ RESOURCE_LIB
- HAS_MANAGEABLE_PEERS=yes
- DYNAMIC_LINK=yes
- _PROTO_CMDLINE=$_JAVA_PROTO_CMDLINE
- _EVLOG_CMDLINE=$_JAVA_EVLOG_CMDLINE
- _FBS_CMDLINE=$_JAVA_FLATC_CMDLINE
- DISABLE(NEED_PLATFORM_PEERDIRS)
- NO_PLATFORM()
- VCS_JAVA=${suf=.__vcs_version__.mf:TARGET}
- SET(MODULE_LANG JAVA)
- _WHEN_EXPORT_GRADLE()
- }
- JAVA_CONTRIB_PROXY_SEM=IGNORED
- module JAVA_CONTRIB_PROXY: _JAR_BASE {
- .SEM=JAVA_CONTRIB_PROXY_SEM
- _DONT_REQUIRE_LICENSE()
- }
- macro _FETCH_CONTRIB(Id, Out, SBR="sbr:") {
- .CMD=${hide:SANDBOX_FAKEID} ${cwd:BINDIR} ${resource;pre=$SBR:Id} $YMAKE_PYTHON ${input:"build/scripts/fetch_from_sandbox.py"} --resource-file $(RESOURCE_ROOT)/sbr/$Id/resource --resource-id $Id --copy-to ${output:Out} ${input;hide:"build/scripts/fetch_from.py"} ${requirements;hide:"network:full"} ${kv;hide:"p SB"} ${kv;hide:"pc yellow"} ${kv;hide:"show_out"}
- ADD_CHECK(check.resource $Id)
- }
- LOCAL_JAR_PATH=
- LOCAL_SOURCES_JAR_PATH=
- JAR_RESOURCE_ID=
- SRC_RESOURCE_ID=
- FETCH_SRCS_JAR=
- FETCH_TARGET_JAR=
- FETCH_CONTRIB_JAR=${hide:JAVA_FAKEID} $FETCH_TARGET_JAR $FETCH_SRCS_JAR
- macro JAR_RESOURCE(Id) {
- SET(JAR_RESOURCE_ID $Id)
- }
- macro SRC_RESOURCE(Id) {
- SET(SRC_RESOURCE_ID $Id)
- }
- macro LOCAL_JAR(File) {
- SET(LOCAL_JAR_PATH $File)
- }
- macro LOCAL_SOURCES_JAR(File) {
- SET(LOCAL_SOURCES_JAR_PATH $File)
- }
- JAVA_CONTRIB_SEM= \
- ${hide:TARGET} ${hide:AUTO_INPUT} \
- consumer-classpath $EXPORT_GRADLE_CLASSPATH \
- && consumer-jar ${MODDIR}/${REALPRJNAME}.jar \
- && consumer-type contrib \
- $_JAVAC_SEM \
- && IGNORED
- module JAVA_CONTRIB: _JAR_BASE {
- .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})
- }
- otherwise {
- when ($LOCAL_JAR_PATH) {
- FETCH_TARGET_JAR= && $FS_TOOLS copy ${input:LOCAL_JAR_PATH} $TARGET
- }
- otherwise {
- FETCH_TARGET_JAR= && $GENERATE_VCS_JAVA_INFO_NODEP && ${cwd:BINDIR} $JDK_RESOURCE/bin/jar cfvm $TARGET $VCS_JAVA .
- PEERDIR+=build/platform/java/jdk
- PEERDIR+=$JDK_RESOURCE_PEERDIR
- }
- }
- when ($SRC_RESOURCE_ID) {
- FETCH_SRCS_JAR= && $_FETCH_CONTRIB($SRC_RESOURCE_ID ${BINDIR}/${REALPRJNAME}-sources.jar)
- }
- otherwise {
- when ($LOCAL_SOURCES_JAR_PATH) {
- FETCH_SRCS_JAR= && $FS_TOOLS copy ${input:LOCAL_SOURCES_JAR_PATH} ${output;pre=${BINDIR}/;suf=-sources.jar:REALPRJNAME}
- }
- otherwise {
- FETCH_SRCS_JAR= && $GENERATE_VCS_JAVA_INFO_NODEP && $FS_TOOLS md ${BINDIR}/fake-src && ${cwd;suf=/fake-src:BINDIR} $JDK_RESOURCE/bin/jar cfvm ${output;pre=${BINDIR}/;suf=-sources.jar:REALPRJNAME} $VCS_JAVA .
- PEERDIR+=build/platform/java/jdk
- PEERDIR+=$JDK_RESOURCE_PEERDIR
- }
- }
- when ($MAVEN_EXPORT == "yes") {
- _MAKEFILE_INCLUDE_LIKE_DEPS+=pom.xml
- FETCH_CONTRIB_JAR+= && $MAVEN_EXPORT_GEN_DEPLST
- }
- SET(MODULE_SUFFIX .jar)
- _SETUP_MAVEN_EXPORT_COORDS_IF_NEED($MODDIR)
- }
- MAKE_JAVA_CLASSPATH_FILE=$YMAKE_PYTHON ${input:"build/scripts/make_java_classpath_file.py"} ${input;hide:"build/scripts/process_command_files.py"}
- KOTLINC_OPTS_VALUE=
- KT_SRCLIST=${BINDIR}/misc/all-kt-sources.txt
- KT_SRSCLIST_FLAG=--kotlin $KT_SRCLIST
- KT_CLASSES_DIR=${BINDIR}/kt_cls
- KT_CLASSPATH=${BINDIR}/kt_cp.txt
- COLLECT_KT_CLASSPATH=${WRITER_PY} --file ${BINDIR}/kt_bfg.txt -m --ya-start-command-file ${ext=.jar:MANAGED_PEERS_CLOSURE} --ya-end-command-file
- LINK_KT_CLASSPATH=${MAKE_JAVA_CLASSPATH_FILE} ${BINDIR}/kt_bfg.txt $KT_CLASSPATH && $FS_TOOLS md $KT_CLASSES_DIR
- COMPILE_KT= \
- ${cwd:ARCADIA_BUILD_ROOT} ${env:"LC_ALL=en_US.UTF-8"} $YMAKE_PYTHON ${input:"build/scripts/run_javac.py"} \
- ${input;hide:"build/scripts/build_java_with_error_prone2.py"} \
- ${input;hide:"build/scripts/setup_java_tmpdir.py"} \
- --kotlin --sources-list $KT_SRCLIST \
- $JDK_RESOURCE/bin/java -jar $KOTLIN_COMPILER_RESOURCE_GLOBAL/kotlin-compiler.jar -no-stdlib -module-name $REALPRJNAME \
- -jvm-target ${KOTLIN_JVM_TARGET} @$KT_SRCLIST -classpath @$KT_CLASSPATH $KOTLINC_FLAGS_VALUE -d $KT_CLASSES_DIR $KOTLINC_OPTS_VALUE
- ALL_KT_COMMANDS=
- KT_CLASSPATH_ITEM=
- KT_KAPT_SOURCES_DIR=${BINDIR}/kapt_gen_src
- KT_KAPT_STUBS_DIR=${BINDIR}/kapt_gen_stubs
- KT_KAPT_AP_CLASSPATH=
- KT_KAPT_PLUGIN_OPTS=-P plugin:org.jetbrains.kotlin.kapt3:sources=${KT_KAPT_SOURCES_DIR} -P plugin:org.jetbrains.kotlin.kapt3:classes=${KT_CLASSES_DIR} -P plugin:org.jetbrains.kotlin.kapt3:stubs=${KT_KAPT_STUBS_DIR} -P plugin:org.jetbrains.kotlin.kapt3:aptMode=stubsAndApt
- macro KAPT_OPTS(Args...) {
- SET_APPEND(KT_KAPT_PLUGIN_OPTS ${pre=-P :Args})
- }
- macro KAPT_ANNOTATION_PROCESSOR(Args...) {
- KAPT_OPTS(${pre="plugin:org.jetbrains.kotlin.kapt3:processors=":Args})
- }
- macro KAPT_ANNOTATION_PROCESSOR_CLASSPATH(Args...) {
- PEERDIR($Args)
- SET_APPEND(KT_KAPT_AP_CLASSPATH $Args)
- }
- JAVAC_CMD=$JDK_RESOURCE/bin/javac
- RUN_JAVAC_ARGS=
- JAVA_YNDEXING=no
- when ($USE_SYSTEM_KYTHE) {
- KYTHE_RESOURCE=$USE_SYSTEM_KYTHE
- }
- otherwise {
- KYTHE_RESOURCE=$KYTHE_RESOURCE_GLOBAL
- }
- _JAVA_YNDEXING_CMD=$YMAKE_PYTHON ${input:"build/scripts/build_java_codenav_index.py"} $TARGET $ARCADIA_BUILD_ROOT $ARCADIA_ROOT ${BINDIR}/all-java.srclst $JDK_RESOURCE/bin/java -jar $KYTHE_RESOURCE/kythe/extractors/javac_extractor.jar
- _DO_JAVA_YNDEXING=
- SOURCES_JAR=no
- when ($BUILD_TYPE == "DEBUG" && $NO_DEBUGINFO != "yes") {
- SOURCES_JAR=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 .
- _PACK_SRC_JAR=
- _PACK_JNI=
- _PACK_JNI_CMD= && $FS_TOOLS link_or_copy_to_dir --ya-start-command-file ${ext=.so:MANAGED_PEERS_CLOSURE} ${ext=.dll:MANAGED_PEERS_CLOSURE} ${ext=.dylib:MANAGED_PEERS_CLOSURE} --ya-end-command-file ${BINDIR}/cls
- _MAKE_JSTYLE_FILE_LIST=
- _LINK_UBERJAR=
- _UBERJAR_SELF=
- _DO_LINK_UBERJAR= && $JDK_RESOURCE/bin/java -cp $UBERJAR_RESOURCE/devtools-java_shader.jar ru.yandex.devtools.emigrante.Main --out-jar $TARGET $_UBERJAR_SELF ${ext=.jar;pre=--jar :MANAGED_PEERS_CLOSURE} ${UBERJAR_PREFIX_FLAG} ${UBERJAR_HIDE_EXCLUDE_FLAGS} ${UBERJAR_HIDE_INCLUDE_FLAGS} $UBERJAR_PATH_EXCLUDES ${UBERJAR_MANIFEST_TRANSFORMER_MAIN_FLAG} ${UBERJAR_MANIFEST_TRANSFORMER_ATTRIBUTE_FLAGS} ${UBERJAR_APPENDING_TRANSFORMER_FLAGS} ${UBERJAR_SERVICES_RESOURCE_TRANSFORMER_FLAG} \
- && $YMAKE_PYTHON ${input:"build/scripts/mkdir.py"} $BINDIR/_empty/META-INF \
- && $YMAKE_PYTHON ${input:"build/scripts/touch.py"} $BINDIR/_empty/META-INF/MANIFEST.MF \
- && $UPDATE_VCS_JAVA_INFO_NODEP($TARGET) \
- && ${cwd;suf=/_empty:BINDIR} ${JDK_RESOURCE}/bin/jar ufv ${TARGET} META-INF/MANIFEST.MF \
- && $JDK_RESOURCE/bin/jar ufvm $TARGET $VCS_JAVA
- macro _PACK_JAR_HELPER(Out) {
- .CMD=${cwd;suf=/cls:BINDIR} ${env:"LC_ALL=en_US.UTF-8"} $JDK_RESOURCE/bin/jar cfvm $Out $VCS_JAVA .
- }
- macro _JAVAC_RUN_HELPER(JAVAC_CMD_WITH_ARGS...) {
- .CMD=${cwd:ARCADIA_BUILD_ROOT} ${env:"LC_ALL=en_US.UTF-8"} $YMAKE_PYTHON ${input:"build/scripts/run_javac.py"} ${input;hide:"build/scripts/build_java_with_error_prone2.py"} ${input;hide:"build/scripts/setup_java_tmpdir.py"} --with-setup-java-tmpdir --sources-list ${BINDIR}/all-java.srclst ${RUN_JAVAC_ARGS} ${JAVAC_CMD_WITH_ARGS} @${BINDIR}/all-java.srclst -classpath ${ARCADIA_BUILD_ROOT}/bfg.jar -Xpkginfo:always ${JAVAC_OPTS} $_JAR_ANN_PROC_OPTS($_JAR_ANN_PROCESSORS) -d ${BINDIR}/cls -g -encoding UTF-8
- }
- ERROR_PRONE_JDK16PLUS_ADD_OPENS=-J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED -J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED -J--add-opens=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED -J--add-opens=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED -J--add-opens=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED -J--add-opens=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED -J--add-opens=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED -J--add-opens=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED -J--add-opens=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED -J--add-opens=jdk.compiler/com.sun.tools.javac.jvm=ALL-UNNAMED -J--add-opens=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED
- ERROR_PRONE_2_7_1_FORCED_OPTS=-Xep:InlineMeInliner:OFF -Xep:SameNameButDifferent:OFF
- 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}
- }
- 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_OUT_DIR=
- MAVEN_EXPORT=no
- MAVEN_DEPLOY=no
- MAVEN_DEPLOY_SOURCES=
- MAVEN_EXPORT_VERSION={vcs_revision}
- MAVEN_EXPORT_GEN_DEPLST= \
- $WRITER_PY \
- --file ${output;pre=$MODULE_PREFIX;suf=$MODULE_SUFFIX.mvn_coords:REALPRJNAME} \
- --ya-start-command-file -m ${pre=D=:MAVEN_EXPORT_COORDS_GLOBAL} ${pre=E=:EXCLUDED_MAVEN_EXPORT_COORDS_GLOBAL} --ya-end-command-file \
- ${hide:APPLIED_EXCLUDES}
- MAVEN_EXPORT_GEN_POM=${kv;hide:"mvn_export yes"} \
- $YMAKE_PYTHON ${input:"build/scripts/generate_pom.py"} \
- --from-coord-files \
- --vcs-info $(VCS)/vcs.json \
- --target-path $MODDIR \
- $MAVEN_EXPORT_SOURCE_DIRS \
- $MAVEN_EXPORT_DEPS_COORS \
- $MAVEN_EXPORT_OUT_DIR_FLAG \
- --target-coords ${suf=.mvn_coords:TARGET} \
- --pom-path ${output:"pom.xml"}
- MAVEN_DEPLOY_CMD=$YMAKE_PYTHON ${input:"build/scripts/stdout2stderr.py"} $MAVEN_BIN \
- deploy:deploy-file -DpomFile=$BINDIR/pom.xml \
- -Dfile=$TARGET -DrepositoryId=$MAVEN_REPO_ID -Durl=$MAVEN_REPO_URL -Djava.net.preferIPv4Addresses=false -Djava.net.preferIPv6Addresses=true \
- ${MAVEN_DEPLOY_SOURCES} \
- $_ADD_OPTS_IF_NON_EMPTY(-gs $MAVEN_EXPORT_SETTINGS) \
- $_ADD_OPTS_IF_NON_EMPTY(-s $MAVEN_EXPORT_SETTINGS)
- MAVEN_EXPORT_CMD=
- 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
- EXTRACT_GENDIRS=${cwd:BINDIR} $YMAKE_PYTHON ${input:"build/scripts/autotar_gendirs.py"} --unpack --ext .gentar ${ext=.gentar:AUTO_INPUT}
- COLLECT_JAVA_SRCLIST=${YMAKE_PYTHON} ${input:"build/scripts/make_java_srclists.py"} ${input;hide:"build/scripts/process_command_files.py"} ${input;hide:"build/scripts/java_pack_to_file.py"} --moddir ${CURDIR} --java ${BINDIR}/all-java.srclst ${KT_SRSCLIST} ${JAVA_COVERAGE_SRCLIST} --ya-start-command-file ${ALL_JAR_SOURCES} ${ext=.java:AUTO_INPUT} ${ext=.kt:AUTO_INPUT} --ya-end-command-file
- COLLECT_CLASSPATH=${WRITER_PY} --file ${BINDIR}/bfg.txt -m --ya-start-command-file ${rootrel:MANAGED_PEERS_CLOSURE} $KT_CLASSPATH_ITEM --ya-end-command-file
- LINK_CLASSPATH=${YMAKE_PYTHON} ${input:"build/scripts/make_manifest_from_bf.py"} ${BINDIR}/bfg.txt ${ARCADIA_BUILD_ROOT}/bfg.jar
- COMPILE_JAVA_SRCLIST=$_JAVAC_RUN_HELPER($JAVAC_CMD)
- PACK_JAR=$_PACK_JAR_HELPER($TARGET)
- LINK_JAR=${hide:JAVA_FAKEID} ${kv;hide:"p JV"} ${kv;hide:"pc light-blue"} ${kv;hide:"show_out"} ${requirements;hide:"cpu:2"} \
- $PREPARE_JAVA_BUILD_DIRS \
- && $EXTRACT_GENDIRS \
- && $COLLECT_JAVA_SRCLIST \
- $JAR_GEN_SRCS \
- $ALL_KT_COMMANDS \
- && $COLLECT_CLASSPATH \
- && $LINK_CLASSPATH \
- && $COMPILE_JAVA_SRCLIST \
- $LINK_JAR_RESOURCES \
- && ${cwd;suf=/cls:BINDIR} $GENERATE_VCS_JAVA_INFO_NODEP . \
- $_PACK_SRC_JAR \
- $_PACK_JNI \
- && $PACK_JAR \
- $_DO_JAVA_YNDEXING \
- $_MAKE_JSTYLE_FILE_LIST \
- $_LINK_UBERJAR \
- $MAVEN_EXPORT_CMD \
- $_ADD_HIDDEN_INPUTS($JAVA_EXTERNAL_DEPENDENCIES_VALUE)
- _EXT_SRC_JAR=
- _EXT_JAR=
- _COPY_EXT_SRC_JAR= && $FS_TOOLS md ${BINDIR}/empty && ${cwd;suf=/empty:BINDIR} $JDK_RESOURCE/bin/jar cfvM ${output;pre=${BINDIR}/${MODULE_PREFIX};suf=-sources.jar:REALPRJNAME} .
- _DO_USE_EXT_JAR=${hide:JAVA_FAKEID} $FS_TOOLS copy ${input:_EXT_JAR} $TARGET $_COPY_EXT_SRC_JAR $MAVEN_EXPORT_CMD
- _DO_COPY_EXT_SRC_JAR= && $FS_TOOLS copy $_EXT_SRC_JAR ${output;pre=${BINDIR}/${MODULE_PREFIX};suf=-sources.jar:REALPRJNAME}
- macro JAVA_RESOURCE(JAR, SOURCES="") {
- SET(_EXT_SRC_JAR $SOURCES)
- SET(_EXT_JAR $JAR)
- }
- JAVA_FLATBUFFERS_VERSION = 24.3.25
- _KOTLIN_ALLOWED_VERSIONS = contrib/java/org/jetbrains/kotlin/kotlin-allopen/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-allopen-compiler-plugin/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-annotation-processing/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-compiler/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-compiler-embeddable/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-daemon-client/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-daemon-embeddable/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-gradle-plugin-api/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-gradle-plugin-model/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-lombok-compiler-plugin/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-main-kts/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-maven-allopen/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-maven-lombok/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-maven-noarg/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-maven-serialization/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-noarg-compiler-plugin/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-osgi-bundle/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-reflect/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-scripting-common/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-scripting-compiler-embeddable/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-scripting-compiler-impl-embeddable/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-scripting-ide-services/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-scripting-jsr223/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-scripting-jvm/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-scripting-jvm-host/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-script-runtime/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-script-util/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-serialization-compiler-plugin/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-stdlib/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-stdlib-common/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-stdlib-jdk7/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-stdlib-jdk8/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-stdlib-js/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-test/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-test-annotations-common/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-test-common/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-test-js/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-test-junit/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-test-junit5/${_KOTLIN_VERSION} \
- contrib/java/org/jetbrains/kotlin/kotlin-test-testng/${_KOTLIN_VERSION}
- module _COMPILABLE_JAR_BASE : _JAR_BASE {
- _GHOST_PEERDIR($_FORCED_DEPENDENCY_MANAGEMENT_VALUE)
- DEPENDENCY_MANAGEMENT(contrib/java/com/google/flatbuffers/flatbuffers-java/${JAVA_FLATBUFFERS_VERSION})
- CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/com/google/flatbuffers/flatbuffers-java EXCEPT contrib/java/com/google/flatbuffers/flatbuffers-java/${JAVA_FLATBUFFERS_VERSION})
- DEPENDENCY_MANAGEMENT(contrib/java/com/google/protobuf/protobuf-java/${JAVA_PROTO_RUNTIME_VERSION})
- CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/com/google/protobuf/protobuf-java EXCEPT contrib/java/com/google/protobuf/protobuf-java/${JAVA_PROTO_RUNTIME_VERSION})
- DEPENDENCY_MANAGEMENT(contrib/java/com/google/protobuf/protobuf-javalite/${JAVA_PROTO_RUNTIME_VERSION})
- CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/com/google/protobuf/protobuf-javalite EXCEPT contrib/java/com/google/protobuf/protobuf-javalite/${JAVA_PROTO_RUNTIME_VERSION})
- DEPENDENCY_MANAGEMENT(contrib/java/com/google/protobuf/protobuf-java-util/${JAVA_PROTO_RUNTIME_VERSION})
- CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/com/google/protobuf/protobuf-java-util EXCEPT contrib/java/com/google/protobuf/protobuf-java-util/${JAVA_PROTO_RUNTIME_VERSION})
- DEPENDENCY_MANAGEMENT(contrib/java/com/google/protobuf/protobuf-kotlin/${JAVA_PROTO_RUNTIME_VERSION})
- CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/com/google/protobuf/protobuf-kotlin EXCEPT contrib/java/com/google/protobuf/protobuf-kotlin/${JAVA_PROTO_RUNTIME_VERSION})
- DEPENDENCY_MANAGEMENT($_KOTLIN_ALLOWED_VERSIONS)
- CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-stdlib EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-stdlib/${_KOTLIN_VERSION})
- CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-stdlib-jdk7 EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-stdlib-jdk7/${_KOTLIN_VERSION})
- CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-stdlib-jdk8 EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-stdlib-jdk8/${_KOTLIN_VERSION})
- CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-stdlib-js EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-stdlib-js/${_KOTLIN_VERSION})
- CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-stdlib-common EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-stdlib-common/${_KOTLIN_VERSION})
- CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-reflect EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-reflect/${_KOTLIN_VERSION})
- CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-osgi-bundle EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-osgi-bundle/${_KOTLIN_VERSION})
- CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-test EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-test/${_KOTLIN_VERSION})
- CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-test-junit EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-test-junit/${_KOTLIN_VERSION})
- CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-test-junit5 EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-test-junit5/${_KOTLIN_VERSION})
- CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-test-testng EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-test-testng/${_KOTLIN_VERSION})
- CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-test-js EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-test-js/${_KOTLIN_VERSION})
- CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-test-common EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-test-common/${_KOTLIN_VERSION})
- CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-test-annotations-common EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-test-annotations-common/${_KOTLIN_VERSION})
- CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-main-kts EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-main-kts/${_KOTLIN_VERSION})
- CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-script-runtime EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-script-runtime/${_KOTLIN_VERSION})
- CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-script-util EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-script-util/${_KOTLIN_VERSION})
- CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-scripting-common EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-scripting-common/${_KOTLIN_VERSION})
- CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-scripting-jsr223 EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-scripting-jsr223/${_KOTLIN_VERSION})
- CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-scripting-jvm EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-scripting-jvm/${_KOTLIN_VERSION})
- CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-scripting-jvm-host EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-scripting-jvm-host/${_KOTLIN_VERSION})
- CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-scripting-ide-services EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-scripting-ide-services/${_KOTLIN_VERSION})
- CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-compiler EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-compiler/${_KOTLIN_VERSION})
- CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-compiler-embeddable EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-compiler-embeddable/${_KOTLIN_VERSION})
- CHECK_DEPENDENT_DIRS(DENY PEERDIRS contrib/java/org/jetbrains/kotlin/kotlin-daemon-client EXCEPT contrib/java/org/jetbrains/kotlin/kotlin-daemon-client/${_KOTLIN_VERSION})
- }
- _JAR_MAIN_CLASS=
- macro JAR_MAIN_CLASS(Class) {
- SET(_JAR_MAIN_CLASS ${Class})
- }
- _JAR_MAIN_SEM=
- _ADD_JAR_MAIN_SEM= && app_main_class ${_JAR_MAIN_CLASS}
- GRADLE_EXPORT_PUBLISHING=no
- _GRADLE_EXPORT_PUBLISHING_SEM=
- PUBLISH_MAVEN_VERSION=no
- _DO_GRADLE_EXPORT_PUBLISHING_SEM= \
- && publish \
- && publish_group $MAVEN_EXPORT_GROUP_ID \
- && publish_version $PUBLISH_MAVEN_VERSION
- BUILD_JAR_SEM= \
- ${hide:TARGET} ${hide:AUTO_INPUT} ${hide:APPLIED_EXCLUDES} \
- jar $MODDIR $REALPRJNAME \
- && consumer-classpath $EXPORT_GRADLE_CLASSPATH \
- && consumer-jar ${MODDIR}/${REALPRJNAME}.jar \
- && consumer-type library \
- $_JAVAC_SEM \
- $_KOTLIN_SEM \
- $_JAR_MAIN_SEM \
- $_GRADLE_EXPORT_PUBLISHING_SEM \
- $_ANN_PROCESSORS_SEM \
- $_ENABLE_PREVIEW_SEM \
- $SEM_JAR_SOURCE_SET
- BUILD_PROTO_JAR_SEM= \
- ${hide:target} ${hide:AUTO_INPUT} \
- jar_proto $MODDIR $REALPRJNAME \
- $_JAVA_PROTO_SEM \
- && consumer-classpath $EXPORT_GRADLE_CLASSPATH \
- && consumer-jar ${MODDIR}/${REALPRJNAME}.jar \
- && consumer-type library \
- $_JAVAC_SEM \
- $_ANN_PROCESSORS_SEM \
- $_ENABLE_PREVIEW_SEM \
- $_KOTLIN_SEM
- module JAR_LIBRARY: _COMPILABLE_JAR_BASE {
- .EXTS=.jsrc .java .jar .mf .gentar .kt
- .CMD=LINK_JAR
- .SEM=BUILD_JAR_SEM
- .FINAL_TARGET=yes
- .ALIASES=JAVA_SRCS=FULL_JAVA_SRCS ANNOTATION_PROCESSOR=JAR_ANNOTATION_PROCESSOR
- .RESTRICTED=EXTERNAL_JAR
- .GLOBAL=MAVEN_EXPORT_COORDS
- MODULE_SUFFIX=.jar
- PEERDIR(build/platform/java/jdk)
- PEERDIR+=$JDK_RESOURCE_PEERDIR
- when ($_EXT_SRC_JAR) {
- _COPY_EXT_SRC_JAR=_DO_COPY_EXT_SRC_JAR
- }
- when ($_EXT_JAR) {
- LINK_JAR=$_DO_USE_EXT_JAR
- }
- when ($OPENSOURCE_EXPORT == "no") {
- BUILD_JAR_SEM=IGNORED
- }
- when ($_JAR_MAIN_CLASS) {
- _JAR_MAIN_SEM=$_ADD_JAR_MAIN_SEM
- }
- when ($GRADLE_EXPORT_PUBLISHING == "yes") {
- _GRADLE_EXPORT_PUBLISHING_SEM=$_DO_GRADLE_EXPORT_PUBLISHING_SEM
- }
- DEPENDENCY_MANAGEMENT(contrib/java/org/jetbrains/kotlin/kotlin-stdlib-jdk8/${_KOTLIN_VERSION})
- when ($WITH_KOTLIN_VALUE) {
- KT_SRSCLIST=$KT_SRSCLIST_FLAG
- _MAKE_LINT_KT_FILES_LIST = $YMAKE_PYTHON ${input:"build/scripts/kt_copy.py"} $KT_SRCLIST ${output;noauto:"all-kt-sources.txt"} $(SOURCE_ROOT) $(BUILD_ROOT)
- ALL_KT_COMMANDS=&& $COLLECT_KT_CLASSPATH && $LINK_KT_CLASSPATH
- when ($WITH_KAPT_VALUE == "yes") {
- _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
- _APPEND_KAPT_GENERATED_SRCS=$YMAKE_PYTHON ${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
- }
- ALL_KT_COMMANDS+=&& $COMPILE_KT && $_MAKE_LINT_KT_FILES_LIST
- LINK_JAR_RESOURCES+=&& $FS_TOOLS copy_all_files ${KT_CLASSES_DIR} ${BINDIR}/cls
- PEERDIR+=build/platform/java/kotlin contrib/java/org/jetbrains/kotlin/kotlin-stdlib-jdk8
- when($WITH_KOTLINC_PLUGIN_ALLOPEN) {
- KOTLINC_OPTS_VALUE+=-Xplugin=${KOTLIN_COMPILER_RESOURCE_GLOBAL}/plugins/kotlin-allopen-plugin.jar
- }
- when($WITH_KOTLINC_PLUGIN_LOMBOK) {
- KOTLINC_OPTS_VALUE+=-Xplugin=${KOTLIN_COMPILER_RESOURCE_GLOBAL}/plugins/kotlin-lombok-plugin.jar
- }
- when($WITH_KOTLINC_PLUGIN_NOARG) {
- KOTLINC_OPTS_VALUE+=-Xplugin=${KOTLIN_COMPILER_RESOURCE_GLOBAL}/plugins/kotlin-noarg-plugin.jar
- }
- when($WITH_KOTLINC_PLUGIN_SERIALIZATION) {
- KOTLINC_OPTS_VALUE+=-Xplugin=${KOTLIN_COMPILER_RESOURCE_GLOBAL}/plugins/kotlin-serialization-plugin.jar
- }
- KT_CLASSPATH_ITEM=$MODDIR/kt_cls
- }
- otherwise {
- KT_SRSCLIST=
- ALL_KT_COMMANDS=
- KT_CLASSES=
- }
- when ($MAVEN_EXPORT == "yes") {
- when ($MAVEN_DEPLOY == "yes") {
- PEERDIR+=build/external_resources/maven
- MAVEN_EXPORT_CMD= && $MAVEN_EXPORT_GEN_DEPLST && $MAVEN_EXPORT_GEN_POM && $MAVEN_DEPLOY_CMD
- }
- otherwise {
- MAVEN_EXPORT_CMD= && $MAVEN_EXPORT_GEN_DEPLST && $MAVEN_EXPORT_GEN_POM
- }
- MAVEN_EXPORT_COORDS_GLOBAL=$MAVEN_EXPORT_GROUP_ID:${MODULE_PREFIX}${REALPRJNAME}:${MAVEN_EXPORT_VERSION}:
- }
- when ($SOURCES_JAR == "yes") {
- _PACK_SRC_JAR=$_PACK_SRC_JAR_IMPL
- MAVEN_DEPLOY_SOURCES=-Dsources=${output;pre=${BINDIR}/${MODULE_PREFIX};suf=-sources.jar:REALPRJNAME}
- }
- when ($JAVA_COVERAGE == "yes") {
- JAVA_COVERAGE_SRCLIST=$JAVA_COVERAGE_SRCLIST_FLAG
- }
- when ($MAKE_UBERJAR_VALUE == "yes") {
- _LINK_UBERJAR=$_DO_LINK_UBERJAR
- PACK_JAR=$_PACK_JAR_HELPER(${BINDIR}/${REALPRJNAME}.lib.jar)
- when($ALL_JAR_SOURCES) {
- _UBERJAR_SELF=--jar ${BINDIR}/${REALPRJNAME}.lib.jar
- }
- PEERDIR+=build/platform/java/uberjar
- PEERDIR+=$UBERJAR_RESOURCE_PEERDIR
- }
- when($JAVA_YNDEXING == "yes") {
- PEERDIR+=build/platform/java/kythe
- _DO_JAVA_YNDEXING=&& $_JAVAC_RUN_HELPER($_JAVA_YNDEXING_CMD) && ${cwd:BINDIR} $YMAKE_PYTHON ${input:"build/scripts/find_and_tar.py"} kindex.tar .kzip ${output;hide;tared:"kindex.tar"}
- }
- when($ERROR_PRONE_VALUE) {
- PEERDIR+=$ERROR_PRONE_PEERDIR
- RUN_JAVAC_ARGS=--error-prone $ERROR_PRONE_RESOURCE/error_prone.jar
- }
- when($ERROR_PRONE_VALUE && $JDK_REAL_VERSION == "17") {
- JAVAC_FLAGS_VALUE+=$ERROR_PRONE_JDK16PLUS_ADD_OPENS
- JAVAC_OPTS+=$ERROR_PRONE_JDK16PLUS_ADD_OPENS
- }
- when($ERROR_PRONE_VALUE && $JDK_REAL_VERSION == "20") {
- JAVAC_FLAGS_VALUE+=$ERROR_PRONE_JDK16PLUS_ADD_OPENS
- JAVAC_OPTS+=$ERROR_PRONE_JDK16PLUS_ADD_OPENS
- }
- when($ERROR_PRONE_VALUE && $JDK_REAL_VERSION == "21") {
- JAVAC_FLAGS_VALUE+=$ERROR_PRONE_JDK16PLUS_ADD_OPENS
- JAVAC_OPTS+=$ERROR_PRONE_JDK16PLUS_ADD_OPENS
- }
- when($ERROR_PRONE_VALUE && $JDK_REAL_VERSION == "22") {
- JAVAC_FLAGS_VALUE+=$ERROR_PRONE_JDK16PLUS_ADD_OPENS
- JAVAC_OPTS+=$ERROR_PRONE_JDK16PLUS_ADD_OPENS
- }
- when($ERROR_PRONE_VALUE && $ERROR_PRONE_VERSION == "2.7.1") {
- JAVAC_FLAGS_VALUE+=$ERROR_PRONE_2_7_1_FORCED_OPTS
- JAVAC_OPTS+=$ERROR_PRONE_2_7_1_FORCED_OPTS
- }
- when ($JAVA_ADD_DLLS_VALUE == "yes") {
- CONSUME_NON_MANAGEABLE_PEERS=yes
- _PACK_JNI=$_PACK_JNI_CMD
- }
- when ($LINT_LEVEL_VALUE != "none") {
- _MAKE_JSTYLE_FILE_LIST= && ${WRITER_PY} --file ${output;noauto:"lint-java.srclst"} -m --ya-start-command-file $LINT_JAVA_SOURCES --ya-end-command-file
- }
- SET(MODULE_TYPE JAVA_LIBRARY)
- ENABLE(YMAKE_JAVA_TEST)
- _ADD_KOTLIN_STYLE_CHECKS($(BUILD_ROOT)/$MODDIR/all-kt-sources.txt REQUIREMENTS cpu:2)
- _ADD_JAVA_STYLE_CHECKS($(BUILD_ROOT)/$MODDIR/lint-java.srclst::$(SOURCE_ROOT))
- _ADD_CLASSPATH_CLASH_CHECK()
- JAVA_MODULE()
- }
- _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=${nopath;join;ext=.jar;pre="::":MANAGED_PEERS_CLOSURE} -D PROJECT_DIR=${MODDIR} -D JAR_BASENAME=${REALPRJNAME} $Props
- }
- _GEN_USERSCRIPTS=
- macro _ADD_GEN_JAVA_SCRIPT(Out, Template, Props...) {
- SET_APPEND(_GEN_USERSCRIPTS && \$_GEN_JAVA_SCRIPT_IMPL($Out $Template $Props))
- }
- _PACK_JDK=
- DO_GEN_JAVA_RUN_SH=
- _SOURCE_JARS=
- _SOURCE_JARS_CPLIST=
- GEN_JAVA_RUN_SH=$SCRIPTGEN_RESOURCE_GLOBAL/scriptgen --java $JDK_RESOURCE/bin/java --output ${output:"run.sh"} -D GENERATE_DEFAULT_RUNNER=yes -D JAR_NAME=${REALPRJNAME}.jar -D CLASSPATH=${nopath;join;pre="::":MANAGED_PEERS_CLOSURE} -D PROJECT_DIR=${REALPRJNAME} -D JAR_BASENAME=${REALPRJNAME}
- GEN_RUN_CP=${WRITER_PY} --file ${BINDIR}/run-bf.txt -Q -m --ya-start-command-file ${nopath;qe;pre=$REALPRJNAME/: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=$FS_TOOLS link_or_copy_to_dir --ya-start-command-file ${ext=.jar:MANAGED_PEERS_CLOSURE} ${ext=.so:MANAGED_PEERS_CLOSURE} ${ext=.dll:MANAGED_PEERS_CLOSURE} ${ext=.dylib:MANAGED_PEERS_CLOSURE} ${_SOURCE_JARS} --ya-end-command-file ${BINDIR}/${REALPRJNAME} ${hide;late_out;nopath;ext=.jar;pre=$BINDIR/$REALPRJNAME/:MANAGED_PEERS_CLOSURE} ${hide;late_out;nopath;ext=.so;pre=$BINDIR/$REALPRJNAME/:MANAGED_PEERS_CLOSURE} ${hide;late_out;nopath;ext=.dll;pre=$BINDIR/$REALPRJNAME/:MANAGED_PEERS_CLOSURE} ${hide;late_out;nopath;ext=.dylib;pre=$BINDIR/$REALPRJNAME/:MANAGED_PEERS_CLOSURE}
- MAKE_JAR_PROGRAM_CPLST=${MAKE_JAVA_CLASSPATH_FILE} --from-args ${output;pre=$MODULE_PREFIX;suf=${MODULE_SUFFIX}.cplst:REALPRJNAME} --ya-start-command-file ${nopath;rootrel;ext=.jar;pre=$BINDIR/$REALPRJNAME/: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=
- LINK_JAR_PROGRAM=${hide:JAVA_FAKEID} $FS_TOOLS md ${BINDIR}/${REALPRJNAME} && $COLLECT_JAR_PROGRAM_CP && $DO_GEN_JAVA_RUN_SH && $GEN_RUN_CP && $MAKE_JAR_PROGRAM_CPLST $DO_TAR_CLASSPATH $_GEN_USERSCRIPTS $_PACK_JDK ${kv;hide:"p JP"} ${kv;hide:"pc light-blue"} ${kv;hide:"show_out"}
- LINK_UBERJAR_PROGRAM=${hide:JAVA_FAKEID} ${kv;hide:"p UJ"} ${MAKE_JAVA_CLASSPATH_FILE} --from-args ${output;pre=$MODULE_PREFIX;suf=${MODULE_SUFFIX}.cplst:REALPRJNAME} $TARGET \
- && $FS_TOOLS md ${BINDIR}/${REALPRJNAME} \
- && $FS_TOOLS link_or_copy ${BINDIR}/${REALPRJNAME}.jar $TARGET \
- && $FS_TOOLS link_or_copy_to_dir --ya-start-command-file ${BINDIR}/${REALPRJNAME}.jar ${ext=.so:MANAGED_PEERS_CLOSURE} ${ext=.dll:MANAGED_PEERS_CLOSURE} ${ext=.dylib:MANAGED_PEERS_CLOSURE} ${_SOURCE_JARS} --ya-end-command-file ${BINDIR}/${REALPRJNAME} ${hide;output;ext=.jar;pre=$BINDIR/$REALPRJNAME/:REALPRJNAME} ${hide;late_out;nopath;ext=.so;pre=$BINDIR/$REALPRJNAME/:MANAGED_PEERS_CLOSURE} ${hide;late_out;nopath;ext=.dll;pre=$BINDIR/$REALPRJNAME/:MANAGED_PEERS_CLOSURE} ${hide;late_out;nopath;ext=.dylib;pre=$BINDIR/$REALPRJNAME/:MANAGED_PEERS_CLOSURE} \
- $DO_TAR_CLASSPATH \
- $_GEN_USERSCRIPTS \
- $_PACK_JDK
- RUN_WITH_SOURCES=no
- TARED_CLASSPATH=yes
- _JAR_SRCS_CALLED=no
- macro _MARK_JAVA_PROG_WITH_SOURCES(Args...) {
- ENABLE(_JAR_SRCS_CALLED)
- }
- module _JAR_RUNNABLE: _COMPILABLE_JAR_BASE {
- .FINAL_TARGET=yes
- .CMD=LINK_JAR_PROGRAM
- .SEM=IGNORED
- .ALIASES=JAVA_SRCS=_MARK_JAVA_PROG_WITH_SOURCES GENERATE_SCRIPT=_YMAKE_GENERATE_SCRIPT
- .ALLOWED=WITH_JDK
- .PEERDIR_POLICY=as_build_from
- MODULE_SUFFIX=.run.cp.jar
- CONSUME_NON_MANAGEABLE_PEERS=yes
- when ($RUN_WITH_SOURCES == "yes") {
- _SOURCE_JARS=${ext=.jar;noext;suf=-sources.jar:MANAGED_PEERS_CLOSURE} ${hide;late_out;ext=.jar;nopath;pre=$BINDIR/$REALPRJNAME/;noext;suf=-sources.jar:MANAGED_PEERS_CLOSURE}
- _SOURCE_JARS_CPLIST=${nopath;rootrel;ext=.jar;pre=$BINDIR/$REALPRJNAME/;noext;suf=-sources.jar:MANAGED_PEERS_CLOSURE}
- }
- when ($TARED_CLASSPATH == "yes") {
- DO_TAR_CLASSPATH=$TAR_CLASSPATH
- }
- when ($DISABLE_SCRIPTGEN) {
- DO_GEN_JAVA_RUN_SH=
- }
- otherwise {
- DO_GEN_JAVA_RUN_SH=$GEN_JAVA_RUN_SH
- PEERDIR+=build/platform/java/scriptgen
- }
- when ($MAKE_UBERJAR_VALUE == "yes") {
- LINK_JAR_PROGRAM=$LINK_UBERJAR_PROGRAM
- DYNAMIC_LINK=no
- _SCRIPTGEN_FLAGS=-D IS_UBERJAR=yes
- }
- otherwise {
- _SCRIPTGEN_FLAGS=-D IS_UBERJAR=no
- }
- CHECK_PROVIDES()
- }
- 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} ${kv;hide:"p JT"}
- YMAKE_JAVA_TEST=
- module _JAR_TEST: _COMPILABLE_JAR_BASE {
- .FINAL_TARGET=yes
- .CMD=LINK_JAR_TEST
- .DEFAULT_NAME_GENERATOR=FullPath
- CONSUME_NON_MANAGEABLE_PEERS=yes
- SET(MODULE_SUFFIX .test.cp.jar)
- ENABLE(YMAKE_JAVA_TEST)
- JAVA_TEST()
- CHECK_PROVIDES()
- SET_APPEND(_MAKEFILE_INCLUDE_LIKE_DEPS canondata/result.json)
- }
- JAVA_SWIG_DELIM=JAVA_SWIG_DELIM
- JDK_REAL_VERSION=
- JDK_VERSION=
- when ($JDK_VERSION == "22") {
- JDK_REAL_VERSION=22
- }
- elsewhen ($JDK_VERSION == "21") {
- JDK_REAL_VERSION=21
- }
- elsewhen ($JDK_VERSION == "20") {
- JDK_REAL_VERSION=20
- }
- elsewhen ($JDK_VERSION == "17") {
- JDK_REAL_VERSION=17
- }
- elsewhen ($JDK_VERSION == "15") {
- JDK_REAL_VERSION=15
- }
- elsewhen ($JDK_VERSION == "11") {
- JDK_REAL_VERSION=11
- }
- elsewhen ($MAPSMOBI_BUILD_TARGET && $OS_ANDROID) {
- JDK_REAL_VERSION=11
- }
- otherwise {
- JDK_REAL_VERSION=17
- }
- when ($USE_SYSTEM_JDK) {
- JDK_RESOURCE_PEERDIR=
- }
- otherwise {
- when ($JDK_REAL_VERSION == "22") {
- JDK_RESOURCE_PEERDIR=build/platform/java/jdk/jdk22 build/platform/java/jdk/jdk17
- }
- when ($JDK_REAL_VERSION == "21") {
- JDK_RESOURCE_PEERDIR=build/platform/java/jdk/jdk21 build/platform/java/jdk/jdk17
- }
- when ($JDK_REAL_VERSION == "20") {
- JDK_RESOURCE_PEERDIR=build/platform/java/jdk/jdk20 build/platform/java/jdk/jdk17
- }
- when ($JDK_REAL_VERSION == "17") {
- JDK_RESOURCE_PEERDIR=build/platform/java/jdk/jdk17 build/platform/java/jdk/jdk11
- }
- when ($JDK_REAL_VERSION == "15") {
- JDK_RESOURCE_PEERDIR=build/platform/java/jdk/jdk15 build/platform/java/jdk/jdk17
- }
- when ($JDK_REAL_VERSION == "11") {
- JDK_RESOURCE_PEERDIR=build/platform/java/jdk/jdk11 build/platform/java/jdk/jdk17
- }
- }
- when ($JDK_REAL_VERSION == "22") {
- UBERJAR_RESOURCE_PEERDIR=build/platform/java/uberjar/uberjar22
- }
- when ($JDK_REAL_VERSION == "21") {
- UBERJAR_RESOURCE_PEERDIR=build/platform/java/uberjar/uberjar21
- }
- when ($JDK_REAL_VERSION == "20") {
- UBERJAR_RESOURCE_PEERDIR=build/platform/java/uberjar/uberjar20
- }
- when ($JDK_REAL_VERSION == "17") {
- UBERJAR_RESOURCE_PEERDIR=build/platform/java/uberjar/uberjar17
- }
- when ($JDK_REAL_VERSION == "15") {
- UBERJAR_RESOURCE_PEERDIR=build/platform/java/uberjar/uberjar15
- }
- when ($JDK_REAL_VERSION == "11") {
- UBERJAR_RESOURCE_PEERDIR=build/platform/java/uberjar/uberjar11
- }
- JAVAC_OPTS=
- when ($USE_SYSTEM_JDK) {
- JDK_RESOURCE=$USE_SYSTEM_JDK
- }
- otherwise {
- when ($JDK_REAL_VERSION == "22") {
- JDK_RESOURCE=$JDK22_RESOURCE_GLOBAL
- }
- when ($JDK_REAL_VERSION == "21") {
- JDK_RESOURCE=$JDK21_RESOURCE_GLOBAL
- }
- when ($JDK_REAL_VERSION == "20") {
- JDK_RESOURCE=$JDK20_RESOURCE_GLOBAL
- }
- when ($JDK_REAL_VERSION == "17") {
- JDK_RESOURCE=$JDK17_RESOURCE_GLOBAL
- }
- when ($JDK_REAL_VERSION == "15") {
- JDK_RESOURCE=$JDK15_RESOURCE_GLOBAL
- }
- when ($JDK_REAL_VERSION == "11") {
- JDK_RESOURCE=$JDK11_RESOURCE_GLOBAL
- }
- }
- when (!$USE_SYSTEM_ERROR_PRONE) {
- when ($JDK_REAL_VERSION == "11" || $JDK_REAL_VERSION == "15") {
- ERROR_PRONE_VERSION=2.7.1
- ERROR_PRONE_PEERDIR=build/platform/java/error_prone/2.7.1
- ERROR_PRONE_RESOURCE=$ERROR_PRONE_2_7_1_RESOURCE_GLOBAL
- }
- elsewhen ($JDK_REAL_VERSION == "17") {
- ERROR_PRONE_VERSION=2.10.0
- ERROR_PRONE_PEERDIR=build/platform/java/error_prone/2.10.0
- ERROR_PRONE_RESOURCE=$ERROR_PRONE_2_10_0_RESOURCE_GLOBAL
- }
- elsewhen ($JDK_REAL_VERSION == "20") {
- ERROR_PRONE_VERSION=2.18.0
- ERROR_PRONE_PEERDIR=build/platform/java/error_prone/2.18.0
- ERROR_PRONE_RESOURCE=$ERROR_PRONE_2_18_0_RESOURCE_GLOBAL
- }
- elsewhen ($JDK_REAL_VERSION == "21") {
- ERROR_PRONE_VERSION=2.18.0
- ERROR_PRONE_PEERDIR=build/platform/java/error_prone/2.18.0
- ERROR_PRONE_RESOURCE=$ERROR_PRONE_2_18_0_RESOURCE_GLOBAL
- }
- elsewhen ($JDK_REAL_VERSION == "22") {
- ERROR_PRONE_VERSION=2.18.0
- ERROR_PRONE_PEERDIR=build/platform/java/error_prone/2.18.0
- ERROR_PRONE_RESOURCE=$ERROR_PRONE_2_18_0_RESOURCE_GLOBAL
- }
- otherwise {
- ERROR_PRONE_VERSION=2.7.1
- ERROR_PRONE_PEERDIR=build/platform/java/error_prone
- ERROR_PRONE_RESOURCE=$ERROR_PRONE_RESOURCE_GLOBAL
- }
- }
- otherwise {
- ERROR_PRONE_VERSION=2.7.1
- ERROR_PRONE_PEERDIR=build/platform/java/error_prone
- ERROR_PRONE_RESOURCE=$ERROR_PRONE_RESOURCE_GLOBAL
- }
- when ($USE_SYSTEM_UBERJAR) {
- UBERJAR_RESOURCE=$USE_SYSTEM_UBERJAR
- }
- otherwise {
- when ($JDK_REAL_VERSION == "22") {
- UBERJAR_RESOURCE=$UBERJAR22_RESOURCE_GLOBAL
- }
- when ($JDK_REAL_VERSION == "21") {
- UBERJAR_RESOURCE=$UBERJAR21_RESOURCE_GLOBAL
- }
- when ($JDK_REAL_VERSION == "20") {
- UBERJAR_RESOURCE=$UBERJAR20_RESOURCE_GLOBAL
- }
- when ($JDK_REAL_VERSION == "17") {
- UBERJAR_RESOURCE=$UBERJAR17_RESOURCE_GLOBAL
- }
- when ($JDK_REAL_VERSION == "15") {
- UBERJAR_RESOURCE=$UBERJAR15_RESOURCE_GLOBAL
- }
- when ($JDK_REAL_VERSION == "11") {
- UBERJAR_RESOURCE=$UBERJAR11_RESOURCE_GLOBAL
- }
- }
- when ($JDK_REAL_VERSION == "22") {
- WITH_JDK_RESOURCE=$WITH_JDK22_RESOURCE_GLOBAL
- }
- when ($JDK_REAL_VERSION == "21") {
- WITH_JDK_RESOURCE=$WITH_JDK21_RESOURCE_GLOBAL
- }
- when ($JDK_REAL_VERSION == "20") {
- WITH_JDK_RESOURCE=$WITH_JDK20_RESOURCE_GLOBAL
- }
- when ($JDK_REAL_VERSION == "17") {
- WITH_JDK_RESOURCE=$WITH_JDK17_RESOURCE_GLOBAL
- }
- when ($JDK_REAL_VERSION == "15") {
- WITH_JDK_RESOURCE=$WITH_JDK15_RESOURCE_GLOBAL
- }
- when ($JDK_REAL_VERSION == "11") {
- WITH_JDK_RESOURCE=$WITH_JDK11_RESOURCE_GLOBAL
- }
- EXTERNAL_JAVA_JDK_RESOURCE=
- EXTERNAL_JAVA_EXTRA_PEERDIR=
- when ($USE_SYSTEM_JDK) {
- EXTERNAL_JAVA_EXTRA_PEERDIR=
- EXTERNAL_JAVA_JDK_RESOURCE=$USE_SYSTEM_JDK
- }
- elsewhen ($JDK_VERSION == "") {
- EXTERNAL_JAVA_JDK_RESOURCE=$JDK11_RESOURCE_GLOBAL
- EXTERNAL_JAVA_EXTRA_PEERDIR=build/platform/java/jdk/jdk11
- }
- otherwise {
- EXTERNAL_JAVA_JDK_RESOURCE=$JDK_RESOURCE
- }
- COMPILE_JAVA=${cwd:ARCADIA_BUILD_ROOT} $YMAKE_PYTHON3 ${input:"build/scripts/compile_java.py"} --ya-start-command-file --java-bin $EXTERNAL_JAVA_JDK_RESOURCE/bin/java --javac-bin $EXTERNAL_JAVA_JDK_RESOURCE/bin/javac --jar-bin $JDK_RESOURCE/bin/jar --kotlin-compiler $KOTLIN_COMPILER_RESOURCE_GLOBAL/kotlin-compiler.jar $JAVA_VCS_MF_ARG $PACKAGE_PREFIX_ARGS --jar-output $TARGET --srcs-jar-output ${output;suf=-sources.jar:REALPRJNAME} $AUTO_INPUT DELIM $JAVAC_OPTS DELIM $MANAGED_PEERS_CLOSURE DELIM -no-stdlib -module-name $REALPRJNAME -jvm-target ${KOTLIN_JVM_TARGET} ${KOTLINC_OPTS_VALUE} --ya-end-command-file ${kv;hide:"p JV"} ${kv;hide:"pc light-blue"} ${kv;hide:"show_out"} ${requirements;hide:"cpu:2"} ${hide;input:"build/scripts/java_command_file.py"} ${hide;input:"build/scripts/process_command_files.py"}
- ARGS_DELIM="MACRO_CALLS_DELIM"
- SYSTEM_PROPERTIES_VALUE=
- macro SYSTEM_PROPERTIES(Args...) {
- SET_APPEND(SYSTEM_PROPERTIES_VALUE $Args)
- }
- JVM_ARGS_VALUE=-ea
- macro JVM_ARGS(Args...) {
- SET_APPEND(JVM_ARGS_VALUE $Args)
- }
- CHECK_JAVA_DEPS_VALUE=
- macro CHECK_JAVA_DEPS(Arg) {
- SET(CHECK_JAVA_DEPS_VALUE $Arg)
- }
- ERROR_PRONE_VALUE=
- macro USE_ERROR_PRONE() {
- SET(ERROR_PRONE_VALUE yes)
- }
- MAKE_UBERJAR_VALUE=
- macro UBERJAR() {
- SET(MAKE_UBERJAR_VALUE yes)
- DISABLE(PASS_PEERS)
- }
- UBERJAR_PREFIX_VALUE=
- UBERJAR_PREFIX_FLAG=
- macro UBERJAR_HIDING_PREFIX(Arg) {
- SET(UBERJAR_PREFIX_VALUE $Arg)
- SET(UBERJAR_PREFIX_FLAG ${pre=--shade-prefix :Arg})
- }
- UBERJAR_HIDE_EXCLUDE_VALUE=
- UBERJAR_HIDE_EXCLUDE_FLAGS=
- macro UBERJAR_HIDE_EXCLUDE_PATTERN(Args...) {
- SET_APPEND(UBERJAR_HIDE_EXCLUDE_VALUE $ARGS_DELIM $Args)
- SET_APPEND(UBERJAR_HIDE_EXCLUDE_FLAGS ${pre=--shade-exclude :Args})
- }
- UBERJAR_HIDE_INCLUDE_VALUE=
- UBERJAR_HIDE_INCLUDE_FLAGS=
- macro UBERJAR_HIDE_INCLUDE_PATTERN(Args...) {
- SET_APPEND(UBERJAR_HIDE_INCLUDE_VALUE $ARGS_DELIM $Args)
- SET_APPEND(UBERJAR_HIDE_INCLUDE_FLAGS ${pre=--shade-include :Args})
- }
- UBERJAR_PATH_EXCLUDES=
- UBERJAR_PATH_EXCLUDE_VALUE=
- macro UBERJAR_PATH_EXCLUDE_PREFIX(Args...) {
- SET_APPEND(UBERJAR_PATH_EXCLUDE_VALUE $ARGS_DELIM $Args)
- SET_APPEND(UBERJAR_PATH_EXCLUDES ${pre=--uber-exclude :Args})
- }
- UBERJAR_MANIFEST_TRANSFORMER_MAIN_VALUE=
- UBERJAR_MANIFEST_TRANSFORMER_MAIN_FLAG=
- macro UBERJAR_MANIFEST_TRANSFORMER_MAIN(Main) {
- SET(UBERJAR_MANIFEST_TRANSFORMER_MAIN_VALUE $Main)
- SET(UBERJAR_MANIFEST_TRANSFORMER_MAIN_FLAG --manifest-main $Main)
- }
- UBERJAR_MANIFEST_TRANSFORMER_ATTRIBUTE_VALUE=
- UBERJAR_MANIFEST_TRANSFORMER_ATTRIBUTE_FLAGS=
- macro UBERJAR_MANIFEST_TRANSFORMER_ATTRIBUTE(Key, Values...) {
- SET_APPEND(UBERJAR_MANIFEST_TRANSFORMER_ATTRIBUTE_VALUE $ARGS_DELIM $Key : $Values)
- SET_APPEND(UBERJAR_MANIFEST_TRANSFORMER_ATTRIBUTE_FLAGS --manifest-attribute ${Key}:'${Values}')
- }
- UBERJAR_APPENDING_TRANSFORMER_VALUE=
- UBERJAR_APPENDING_TRANSFORMER_FLAGS=
- macro UBERJAR_APPENDING_TRANSFORMER(Resources...) {
- SET_APPEND(UBERJAR_APPENDING_TRANSFORMER_VALUE $ARGS_DELIM $Resources)
- SET_APPEND(UBERJAR_APPENDING_TRANSFORMER_FLAGS ${pre=--append-transformer :Resources})
- }
- UBERJAR_SERVICES_RESOURCE_TRANSFORMER_VALUE=
- UBERJAR_SERVICES_RESOURCE_TRANSFORMER_FLAG=
- macro UBERJAR_SERVICES_RESOURCE_TRANSFORMER() {
- SET(UBERJAR_SERVICES_RESOURCE_TRANSFORMER_VALUE yes)
- SET(UBERJAR_SERVICES_RESOURCE_TRANSFORMER_FLAG --service-transformer)
- }
- IDEA_EXCLUDE_DIRS_VALUE=
- macro IDEA_EXCLUDE_DIRS(Args...) {
- SET_APPEND(IDEA_EXCLUDE_DIRS_VALUE $Args)
- }
- IDEA_RESOURCE_DIRS_VALUE=
- macro IDEA_RESOURCE_DIRS(Args...) {
- SET_APPEND(IDEA_RESOURCE_DIRS_VALUE $Args)
- }
- IDEA_MODULE_NAME_VALUE=
- macro IDEA_MODULE_NAME(Name) {
- SET(IDEA_MODULE_NAME_VALUE $Name)
- }
- JAVAC_FLAGS_VALUE=
- _JAVAC_SEM=
- macro JAVAC_FLAGS(Args...) {
- SET_APPEND(JAVAC_OPTS $Args)
- SET_APPEND(JAVAC_FLAGS_VALUE $ARGS_DELIM $Args)
- SET_APPEND(_JAVAC_SEM && javac-flags $Args)
- }
- ENABLE_PREVIEW_VALUE=
- _ENABLE_PREVIEW_SEM=
- macro ENABLE_PREVIEW() {
- SET_APPEND(JVM_ARGS_VALUE --enable-preview)
- SET_APPEND(JAVAC_OPTS --enable-preview --release $JDK_REAL_VERSION)
- SET_APPEND(JAVAC_FLAGS_VALUE --enable-preview --release $JDK_REAL_VERSION)
- SET(ENABLE_PREVIEW_VALUE yes)
- SET(_ENABLE_PREVIEW_SEM && enable_preview)
- }
- SAVE_JAVAC_GENERATED_SRCS=
- SAVE_JAVAC_GENERATED_SRCS_DIR=
- SAVE_JAVAC_GENERATED_SRCS_TAR=
- when ($SAVE_JAVAC_GENERATED_SRCS) {
- SAVE_JAVAC_GENERATED_SRCS_DIR=${BINDIR}/__javac_generated_srcs__
- SAVE_JAVAC_GENERATED_SRCS_TAR=${BINDIR}/javac_generated.tar
- JAVAC_FLAGS_VALUE+=-s $SAVE_JAVAC_GENERATED_SRCS_DIR
- }
- MAVEN_GROUP_ID_VALUE=
- MAVEN_EXPORT_GROUP_ID=ru.yandex
- macro MAVEN_GROUP_ID(Arg, VERSION="no") {
- SET(MAVEN_GROUP_ID_VALUE $Arg)
- SET(MAVEN_EXPORT_GROUP_ID $Arg)
- SET(PUBLISH_MAVEN_VERSION $VERSION)
- }
- ANNOTATION_PROCESSOR_VALUE=
- macro ANNOTATION_PROCESSOR(Args...) {
- SET_APPEND(ANNOTATION_PROCESSOR_VALUE $ARGS_DELIM $Args)
- }
- EXCLUDE_VALUE=
- macro EXCLUDE(Args...) {
- SET_APPEND(EXCLUDE_VALUE $ARGS_DELIM $Args)
- }
- JAVA_SRCS_VALUE=
- macro _IDEA_JAVA_SRCS_VALUE(RESOURCES?"RESOURCES":"", SKIP_CHECK_SRCDIR?"SKIP_CHECK_SRCDIR":"", Args...) {
- SET_APPEND(JAVA_SRCS_VALUE $ARGS_DELIM $RESOURCES $Args)
- }
- macro JAVA_SRCS(Args...) {
- _IDEA_JAVA_SRCS_VALUE($Args)
- _SEM_JAR_SOURCE_SET($Args)
- }
- JAVA_ADD_DLLS_VALUE=no
- macro ADD_DLLS_TO_JAR() {
- SET(JAVA_ADD_DLLS_VALUE yes)
- }
- MANAGED_PEERS=
- MANAGED_PEERS_CLOSURE=
- RUN_JAVA_PROGRAM_MANAGED=
- MANAGEABLE_PEERS_ROOTS=contrib/java
- HAS_MANAGEABLE_PEERS=no
- PROPAGATES_MANAGEABLE_PEERS=no
- TEST_CLASSPATH_VALUE=
- TEST_CLASSPATH_MANAGED=
- DEPENDENCY_MANAGEMENT_VALUE=
- macro DEPENDENCY_MANAGEMENT(Args...) {
- SET_APPEND(DEPENDENCY_MANAGEMENT_VALUE $ARGS_DELIM $Args)
- _GHOST_PEERDIR($Args)
- }
- WITH_JDK_VALUE=
- macro WITH_JDK() {
- when ($REALPRJNAME == "jdk") {
- _OK=no
- }
- otherwise {
- _PACK_JDK= && ${YMAKE_PYTHON} ${input:"build/scripts/tar_directory.py"} ${output;tared:"jdk.tar"} $WITH_JDK_RESOURCE $WITH_JDK_RESOURCE
- WITH_JDK_VALUE=yes
- }
- ASSERT(_OK [[alt1]]jdk[[rst]] name is prohibited for [[imp]]JAVA_PROGRAM[[rst]] module when [[imp]]WITH_JDK[[rst]] is used, [[imp]]WITH_JDK[[rst]] will be ignored.)
- }
- WITH_KOTLIN_VALUE=
- _WITH_KOTLIN_SEM=
- _KOTLIN_VERSION_SEM=
- macro WITH_KOTLIN() {
- SET(WITH_KOTLIN_VALUE yes)
- SET(_WITH_KOTLIN_SEM && with_kotlin)
- SET(_KOTLIN_VERSION_SEM && kotlin_version ${_KOTLIN_VERSION})
- }
- WITH_KAPT_VALUE=
- macro WITH_KAPT() {
- SET(WITH_KAPT_VALUE yes)
- }
- WITH_GROOVY_VALUE=
- macro WITH_GROOVY() {
- SET(WITH_GROOVY_VALUE yes)
- }
- KOTLINC_FLAGS_VALUE=-Xjvm-default=all
- macro KOTLINC_FLAGS(Args...) {
- SET_APPEND(KOTLINC_OPTS_VALUE $Args)
- }
- WITH_KOTLINC_PLUGIN_ALLOPEN=
- _WITH_KOTLINC_PLUGIN_ALLOPEN_SEM=
- macro _WITH_KOTLINC_ALLOPEN(Options...) {
- SET_APPEND(KOTLINC_OPTS_VALUE ${pre=-P plugin\:org.jetbrains.kotlin.allopen\::Options})
- SET(WITH_KOTLINC_PLUGIN_ALLOPEN yes)
- SET(_WITH_KOTLINC_ALLOPEN_SEM && with_kotlinc_plugin_allopen)
- }
- macro WITH_KOTLINC_ALLOPEN(HEAD, TAIL...) {
- _WITH_KOTLINC_ALLOPEN($HEAD $TAIL)
- }
- WITH_KOTLINC_PLUGIN_LOMBOK=
- _WITH_KOTLINC_PLUGIN_LOMBOK_SEM=
- macro WITH_KOTLINC_LOMBOK(Options...) {
- SET_APPEND(KOTLINC_OPTS_VALUE ${pre=-P plugin\:org.jetbrains.kotlin.lombok\::Options})
- SET(WITH_KOTLINC_PLUGIN_LOMBOK yes)
- SET(_WITH_KOTLINC_PLUGIN_LOMBOK_SEM && with_kotlinc_plugin_lombok)
- }
- WITH_KOTLINC_PLUGIN_NOARG=
- _WITH_KOTLINC_PLUGIN_NOARG_SEM=
- macro WITH_KOTLINC_NOARG(Options...) {
- SET_APPEND(KOTLINC_OPTS_VALUE ${pre=-P plugin\:org.jetbrains.kotlin.noarg\::Options})
- SET(WITH_KOTLINC_PLUGIN_NOARG yes)
- SET(_WITH_KOTLINC_PLUGIN_NOARG_SEM && with_kotlinc_plugin_noarg)
- }
- WITH_KOTLINC_PLUGIN_SERIALIZATION=
- _WITH_KOTLINC_PLUGIN_SERIALIZATION_SEM=
- macro WITH_KOTLINC_SERIALIZATION() {
- SET(WITH_KOTLINC_PLUGIN_SERIALIZATION yes)
- SET(_WITH_KOTLINC_PLUGIN_SERIALIZATION_SEM && with_kotlinc_plugin_serialization)
- }
- _KOTLIN_VERSION=1.9.24
- KOTLIN_VERSION=1.9.24
- KOTLIN_BOM_FILE=${ARCADIA_ROOT}/contrib/java/org/jetbrains/kotlin/kotlin-bom/1.9.24/ya.dependency_management.inc
- GROOVY_VERSION=3.0.5
- _KOTLIN_SEM= \
- ${_WITH_KOTLIN_SEM} \
- ${_KOTLIN_VERSION_SEM} \
- ${_WITH_KOTLINC_PLUGIN_ALLOPEN_SEM} \
- ${_WITH_KOTLINC_PLUGIN_LOMBOK_SEM} \
- ${_WITH_KOTLINC_PLUGIN_NOARG_SEM} \
- ${_WITH_KOTLINC_PLUGIN_SERIALIZATION_SEM}
- _JAVA_PROTO_GRPC_SEM=
- when ($_GRPC_ENABLED == "yes") {
- _JAVA_PROTO_GRPC_SEM= && proto_grpc && proto_grpc_version ${JAVA_GRPC_VERSION}
- }
- _JAVA_PROTO_NAMESPACE_SEM=
- when ($PROTO_NAMESPACE != "") {
- _JAVA_PROTO_NAMESPACE_SEM= && proto_namespace $PROTO_NAMESPACE
- }
- _JAVA_PROTO_SEM= \
- ${_JAVA_PROTO_NAMESPACE_SEM} \
- && proto_compiler_version ${JAVA_PROTO_COMPILER_VERSION} \
- && proto_runtime_version ${JAVA_PROTO_RUNTIME_VERSION} \
- && proto_common_version ${JAVA_PROTO_COMMON_VERSION} \
- ${_JAVA_PROTO_GRPC_SEM}
- DIRECT_DEPS_ONLY_VALUE=
- macro DIRECT_DEPS_ONLY() {
- SET(DIRECT_DEPS_ONLY_VALUE yes)
- }
- JAVA_EXTERNAL_DEPENDENCIES_VALUE=
- macro JAVA_EXTERNAL_DEPENDENCIES(Args...) {
- SET_APPEND(JAVA_EXTERNAL_DEPENDENCIES_VALUE $Args)
- }
- JAVA_CLASSPATH_CMD_TYPE_VALUE=
- macro TEST_JAVA_CLASSPATH_CMD_TYPE(Type) {
- SET(JAVA_CLASSPATH_CMD_TYPE_VALUE $Type)
- }
- IGNORE_JAVA_DEPENDENCIES_CONFIGURATION=no
- JAVA_DEPENDENCIES_CONFIGURATION_VALUE=
- macro JAVA_DEPENDENCIES_CONFIGURATION(Args...) {
- SET_APPEND(JAVA_DEPENDENCIES_CONFIGURATION_VALUE $Args)
- }
- JAVA_FORBIDDEN_LIBRARIES_VALUE=
- JAR_INCLUDE_FILTER_VALUE=
- JAR_EXCLUDE_FILTER_VALUE=
- macro JAR_INCLUDE(Filters...) {
- SET_APPEND(JAR_INCLUDE_FILTER_VALUE $Filters)
- }
- macro JAR_EXCLUDE(Filters...) {
- SET_APPEND(JAR_EXCLUDE_FILTER_VALUE $Filters)
- }
- _COMPILE_JSRC=${cwd:ARCADIA_BUILD_ROOT} $YMAKE_PYTHON ${input:"build/scripts/compile_jsrc.py"} --input $AUTO_INPUT --output $TARGET --prefix $BINDIR ${kv;hide:"p JC"} ${kv;hide:"pc light-blue"} ${kv;hide:"show_out"}
- COMPILE_JSRC_MF=$_COMPILE_JSRC && $GENERATE_MF
- module JSRC_LIBRARY: _BARE_UNIT {
- .CMD=COMPILE_JSRC_MF
- .EXTS=.java
- .PEERDIR_POLICY=as_include
- .FINAL_TARGET=no
- .ALIASES=SRCS=FILES
- PEERDIR_TAGS=JAVA JAVA_PROTO JAVA_FBS JAVA_IDL
- MODULE_TYPE=LIBRARY
- SET(MODULE_SUFFIX .jsrc)
- SET(DONT_RESOLVE_INCLUDES yes)
- SET(NEED_PLATFORM_PEERDIRS no)
- SET(MODULE_LANG JAVA)
- NO_RUNTIME()
- }
- JAVA_PROGRAM_CP_USE_COMMAND_FILE=yes
- when ($JDK_REAL_VERSION == "8") {
- JAVA_PROGRAM_CP_USE_COMMAND_FILE=no
- }
- KOTLIN_JVM_TARGET=
- when ($JDK_REAL_VERSION == "8") {
- KOTLIN_JVM_TARGET=1.8
- }
- elsewhen ($JDK_REAL_VERSION == "22") {
- KOTLIN_JVM_TARGET=21
- }
- otherwise {
- KOTLIN_JVM_TARGET=$JDK_REAL_VERSION
- }
- macro JDK_VERSION(Arg) {
- .SEM=required_jdk $Arg ${output;hide:"JdkVersionFakeProp.java"}
- SET(JDK_REAL_VERSION $Arg)
- _JDK_VERSION_MACRO_CHECK($Arg)
- }
- macro DEFAULT_JDK_VERSION(Arg) {
- _SET_FIRST_VALUE(_JDK_VERSION $JDK_VERSION $Arg)
- JDK_VERSION($_JDK_VERSION)
- }
- USE_SYSTEM_JDK=
- USE_SYSTEM_UBERJAR=
- USE_SYSTEM_ERROR_PRONE=
- _USE_KTLINT_OLD=no
- macro USE_KTLINT_OLD() {
- ENABLE(_USE_KTLINT_OLD)
- }
- _KTLINT_BASELINE_FILE=
- macro KTLINT_BASELINE_FILE(File, Ticket) {
- SET(_KTLINT_BASELINE_FILE $File)
- }
- _WITH_YA_1931=no
- macro WITH_YA_1931() {
- MESSAGE(WARNING Some files in this project have style errors that were not caught by prior ktlint runs. Remove WITH_YA_1931 macro to see them.)
- ENABLE(_WITH_YA_1931)
- }
|