diff options
author | svidyuk <svidyuk@yandex-team.ru> | 2022-02-10 16:47:12 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:47:12 +0300 |
commit | e23df0602fedd83374b43b6137a296baa2aad3f6 (patch) | |
tree | 1facb78b6535ac70f17ba39ed606d949f932fcea /build/conf | |
parent | 92661c40a019d4809586c8ce322075d197427346 (diff) | |
download | ydb-e23df0602fedd83374b43b6137a296baa2aad3f6.tar.gz |
Restoring authorship annotation for <svidyuk@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'build/conf')
-rw-r--r-- | build/conf/java.ymake.conf | 344 | ||||
-rw-r--r-- | build/conf/jbuild.ymake.conf | 242 |
2 files changed, 293 insertions, 293 deletions
diff --git a/build/conf/java.ymake.conf b/build/conf/java.ymake.conf index ed85153c78..9a95c6a44b 100644 --- a/build/conf/java.ymake.conf +++ b/build/conf/java.ymake.conf @@ -1,179 +1,179 @@ -YMAKE_JAVA_MODULES=yes -JBUILD_JAVA_MODULES=no - -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") { +YMAKE_JAVA_MODULES=yes +JBUILD_JAVA_MODULES=no + +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"} -} - -### @usage: JAVA_LIBRARY() -### -### The module describing java library build. -### -### Documentation: https://wiki.yandex-team.ru/yatool/java/ -module JAVA_LIBRARY: JAR_LIBRARY { + .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"} +} + +### @usage: JAVA_LIBRARY() +### +### The module describing java library build. +### +### Documentation: https://wiki.yandex-team.ru/yatool/java/ +module JAVA_LIBRARY: JAR_LIBRARY { .ALIASES=REQUIREMENTS=JAVA_REQUIREMENTS -} - -### @usage: JAVA_PROGRAM() -### -### The module describing java programs build. -### Output artifacts: .jar and directory with all the jar to the classpath of the formation. -### -### Documentation: https://wiki.yandex-team.ru/yatool/java/ -multimodule JAVA_PROGRAM { - module JAR_RUNABLE: _JAR_RUNABLE { - .ALLOWED=JAVA_RUNTIME_PEERDIR JAVA_RUNTIME_EXCLUDE - # TODO(svidyuk) JAVA_DEPENDENCIES_CONFIGURATION must not be ignored here but there are diagnostics issues in case of ECLUDE in the middle: - # * A -> B -> C -> lib-v1.4 - # | |-> DM(lib-v1.1) - # | |-> EXCLUDE(lib-v1.4) - # | |-> FORBID_CONFLICT_DM_RECENT = OK - # |-> DM(lib-v1.1) - # |-> FORBID_CONFLICT_DM_RECENT = FAIL (because downgrade from v1.4 to v1.1 is detected before understanding that v1.4 was excuded on the examined path) - .IGNORED=RUN_JAVA_PROGRAM JAVA_DEPENDENCIES_CONFIGURATION - .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 +} + +### @usage: JAVA_PROGRAM() +### +### The module describing java programs build. +### Output artifacts: .jar and directory with all the jar to the classpath of the formation. +### +### Documentation: https://wiki.yandex-team.ru/yatool/java/ +multimodule JAVA_PROGRAM { + module JAR_RUNABLE: _JAR_RUNABLE { + .ALLOWED=JAVA_RUNTIME_PEERDIR JAVA_RUNTIME_EXCLUDE + # TODO(svidyuk) JAVA_DEPENDENCIES_CONFIGURATION must not be ignored here but there are diagnostics issues in case of ECLUDE in the middle: + # * A -> B -> C -> lib-v1.4 + # | |-> DM(lib-v1.1) + # | |-> EXCLUDE(lib-v1.4) + # | |-> FORBID_CONFLICT_DM_RECENT = OK + # |-> DM(lib-v1.1) + # |-> FORBID_CONFLICT_DM_RECENT = FAIL (because downgrade from v1.4 to v1.1 is detected before understanding that v1.4 was excuded on the examined path) + .IGNORED=RUN_JAVA_PROGRAM JAVA_DEPENDENCIES_CONFIGURATION + .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 REQUIREMENTS=JAVA_REQUIREMENTS - .FINAL_TARGET=no - SET(MODULE_TYPE JAVA_PROGRAM) - } -} - -multimodule JUNIT5 { - module JAR_TESTABLE: _JAR_TEST { - .ALLOWED=YT_SPEC - # TODO(svidyuk) JAVA_DEPENDENCIES_CONFIGURATION must not be ignored here but there are diagnostics issues in case of ECLUDE in the middle: - # * A -> B -> C -> lib-v1.4 - # | |-> DM(lib-v1.1) - # | |-> EXCLUDE(lib-v1.4) - # | |-> FORBID_CONFLICT_DM_RECENT = OK - # |-> DM(lib-v1.1) - # |-> FORBID_CONFLICT_DM_RECENT = FAIL (because downgrade from v1.4 to v1.1 is detected before understanding that v1.4 was excuded on the examined path) - .IGNORED=JAVA_SRCS RUN_JAVA_PROGRAM JAVA_DEPENDENCIES_CONFIGURATION - .ALIASES=JAVA_TEST_PEERDIR=PEERDIR JAVA_TEST_EXCLUDE=EXCLUDE - .PEERDIRSELF=JAR_COMPILATION - - 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 - - PEERDIR(devtools/junit5-runner build/platform/java/jacoco-agent) - SET(MODULE_TYPE JUNIT5) - } -} - -multimodule JTEST { - module JAR_TESTABLE: _JAR_TEST { - .ALLOWED=YT_SPEC - # TODO(svidyuk) JAVA_DEPENDENCIES_CONFIGURATION must not be ignored here but there are diagnostics issues in case of ECLUDE in the middle: - # * A -> B -> C -> lib-v1.4 - # | |-> DM(lib-v1.1) - # | |-> EXCLUDE(lib-v1.4) - # | |-> FORBID_CONFLICT_DM_RECENT = OK - # |-> DM(lib-v1.1) - # |-> FORBID_CONFLICT_DM_RECENT = FAIL (because downgrade from v1.4 to v1.1 is detected before understanding that v1.4 was excuded on the examined path) - .IGNORED=JAVA_SRCS RUN_JAVA_PROGRAM JAVA_DEPENDENCIES_CONFIGURATION - .ALIASES=JAVA_TEST_PEERDIR=PEERDIR JAVA_TEST_EXCLUDE=EXCLUDE - .PEERDIRSELF=JAR_COMPILATION - - SET(MODULE_TYPE JTEST) - PEERDIR(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 - - SET(MODULE_TYPE JTEST) - DEPENDS(contrib/java/org/sonarsource/scanner/cli/sonar-scanner-cli/2.8) - PEERDIR(build/platform/java/jacoco-agent) - } -} - -multimodule JTEST_FOR { - module JAR_TESTABLE: _JAR_TEST { - .ALLOWED=YT_SPEC - # TODO(svidyuk) JAVA_DEPENDENCIES_CONFIGURATION must not be ignored here but there are diagnostics issues in case of ECLUDE in the middle: - # * A -> B -> C -> lib-v1.4 - # | |-> DM(lib-v1.1) - # | |-> EXCLUDE(lib-v1.4) - # | |-> FORBID_CONFLICT_DM_RECENT = OK - # |-> DM(lib-v1.1) - # |-> FORBID_CONFLICT_DM_RECENT = FAIL (because downgrade from v1.4 to v1.1 is detected before understanding that v1.4 was excuded on the examined path) - .IGNORED=JAVA_SRCS RUN_JAVA_PROGRAM JAVA_DEPENDENCIES_CONFIGURATION - .ALIASES=JAVA_TEST_PEERDIR=PEERDIR JAVA_TEST_EXCLUDE=EXCLUDE - .PEERDIRSELF=JAR_COMPILATION - - 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 - - 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}) - } -} - -multimodule JAVA_CONTRIB_PROGRAM { - module JAR_RUNABLE: _JAR_RUNABLE { - .IGNORED=JAVA_SRCS RUN_JAR_PROGRAM RUN_JAVA_PROGRAM JAR_RESOURCE SRC_RESOURCE LOCAL_JAR - .PEERDIRSELF=JAR_COMPILATION - - 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 - } -} - -module _DLL_COMPATIBLE_JAVA_LIBRARY: EXTERNAL_JAVA_LIBRARY { + .FINAL_TARGET=no + SET(MODULE_TYPE JAVA_PROGRAM) + } +} + +multimodule JUNIT5 { + module JAR_TESTABLE: _JAR_TEST { + .ALLOWED=YT_SPEC + # TODO(svidyuk) JAVA_DEPENDENCIES_CONFIGURATION must not be ignored here but there are diagnostics issues in case of ECLUDE in the middle: + # * A -> B -> C -> lib-v1.4 + # | |-> DM(lib-v1.1) + # | |-> EXCLUDE(lib-v1.4) + # | |-> FORBID_CONFLICT_DM_RECENT = OK + # |-> DM(lib-v1.1) + # |-> FORBID_CONFLICT_DM_RECENT = FAIL (because downgrade from v1.4 to v1.1 is detected before understanding that v1.4 was excuded on the examined path) + .IGNORED=JAVA_SRCS RUN_JAVA_PROGRAM JAVA_DEPENDENCIES_CONFIGURATION + .ALIASES=JAVA_TEST_PEERDIR=PEERDIR JAVA_TEST_EXCLUDE=EXCLUDE + .PEERDIRSELF=JAR_COMPILATION + + 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 + + PEERDIR(devtools/junit5-runner build/platform/java/jacoco-agent) + SET(MODULE_TYPE JUNIT5) + } +} + +multimodule JTEST { + module JAR_TESTABLE: _JAR_TEST { + .ALLOWED=YT_SPEC + # TODO(svidyuk) JAVA_DEPENDENCIES_CONFIGURATION must not be ignored here but there are diagnostics issues in case of ECLUDE in the middle: + # * A -> B -> C -> lib-v1.4 + # | |-> DM(lib-v1.1) + # | |-> EXCLUDE(lib-v1.4) + # | |-> FORBID_CONFLICT_DM_RECENT = OK + # |-> DM(lib-v1.1) + # |-> FORBID_CONFLICT_DM_RECENT = FAIL (because downgrade from v1.4 to v1.1 is detected before understanding that v1.4 was excuded on the examined path) + .IGNORED=JAVA_SRCS RUN_JAVA_PROGRAM JAVA_DEPENDENCIES_CONFIGURATION + .ALIASES=JAVA_TEST_PEERDIR=PEERDIR JAVA_TEST_EXCLUDE=EXCLUDE + .PEERDIRSELF=JAR_COMPILATION + + SET(MODULE_TYPE JTEST) + PEERDIR(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 + + SET(MODULE_TYPE JTEST) + DEPENDS(contrib/java/org/sonarsource/scanner/cli/sonar-scanner-cli/2.8) + PEERDIR(build/platform/java/jacoco-agent) + } +} + +multimodule JTEST_FOR { + module JAR_TESTABLE: _JAR_TEST { + .ALLOWED=YT_SPEC + # TODO(svidyuk) JAVA_DEPENDENCIES_CONFIGURATION must not be ignored here but there are diagnostics issues in case of ECLUDE in the middle: + # * A -> B -> C -> lib-v1.4 + # | |-> DM(lib-v1.1) + # | |-> EXCLUDE(lib-v1.4) + # | |-> FORBID_CONFLICT_DM_RECENT = OK + # |-> DM(lib-v1.1) + # |-> FORBID_CONFLICT_DM_RECENT = FAIL (because downgrade from v1.4 to v1.1 is detected before understanding that v1.4 was excuded on the examined path) + .IGNORED=JAVA_SRCS RUN_JAVA_PROGRAM JAVA_DEPENDENCIES_CONFIGURATION + .ALIASES=JAVA_TEST_PEERDIR=PEERDIR JAVA_TEST_EXCLUDE=EXCLUDE + .PEERDIRSELF=JAR_COMPILATION + + 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 + + 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}) + } +} + +multimodule JAVA_CONTRIB_PROGRAM { + module JAR_RUNABLE: _JAR_RUNABLE { + .IGNORED=JAVA_SRCS RUN_JAR_PROGRAM RUN_JAVA_PROGRAM JAR_RESOURCE SRC_RESOURCE LOCAL_JAR + .PEERDIRSELF=JAR_COMPILATION + + 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 + } +} + +module _DLL_COMPATIBLE_JAVA_LIBRARY: EXTERNAL_JAVA_LIBRARY { SET(DONT_RESOLVE_INCLUDES yes) -} - -### @usage: DLL_JAVA() -### -### DLL built using swig for Java. Produces dynamic library and a .jar. -### Dynamic library is treated the same as in the case of PEERDIR from Java to DLL. -### .jar goes on the classpath. -### -### Documentation: https://wiki.yandex-team.ru/yatool/java/#integracijascpp/pythonsborkojj -multimodule DLL_JAVA { - module JNI_DLL: DLL { - .ALIASES=SRCS=_SWIG_LANG_FILTERED_SRCS - SET(SWIG_LANG jni_cpp) +} + +### @usage: DLL_JAVA() +### +### DLL built using swig for Java. Produces dynamic library and a .jar. +### Dynamic library is treated the same as in the case of PEERDIR from Java to DLL. +### .jar goes on the classpath. +### +### Documentation: https://wiki.yandex-team.ru/yatool/java/#integracijascpp/pythonsborkojj +multimodule DLL_JAVA { + module JNI_DLL: DLL { + .ALIASES=SRCS=_SWIG_LANG_FILTERED_SRCS + SET(SWIG_LANG jni_cpp) .FINAL_TARGET=no - } - module JAR_COMPILATION: _DLL_COMPATIBLE_JAVA_LIBRARY { - .ALIASES=SRCS=_SWIG_LANG_FILTERED_SRCS PEERDIR=_NOOP_MACRO - .PEERDIRSELF=JNI_DLL - SET(SWIG_LANG jni_java) - PEERDIR+=build/platform/java/jdk + } + module JAR_COMPILATION: _DLL_COMPATIBLE_JAVA_LIBRARY { + .ALIASES=SRCS=_SWIG_LANG_FILTERED_SRCS PEERDIR=_NOOP_MACRO + .PEERDIRSELF=JNI_DLL + SET(SWIG_LANG jni_java) + PEERDIR+=build/platform/java/jdk PEERDIR+=$JDK_RESOURCE_PEERDIR .FINAL_TARGET=yes - } -} + } +} diff --git a/build/conf/jbuild.ymake.conf b/build/conf/jbuild.ymake.conf index 945a7cc979..08dcb14624 100644 --- a/build/conf/jbuild.ymake.conf +++ b/build/conf/jbuild.ymake.conf @@ -1,122 +1,122 @@ -YMAKE_JAVA_MODULES=no -JBUILD_JAVA_MODULES=yes - -EXTERNAL_JAR_VALUE= -### @usage: EXTERNAL_JAR(library.jar) -### -### Provide an external name for built JAVA_LIBRARY() or JAVA_PROGRAM() -### -### Documentation: https://wiki.yandex-team.ru/yatool/java/#ispolzovanievneshnixmavenbibliotek -macro EXTERNAL_JAR(Args...) { - SET_APPEND(EXTERNAL_JAR_VALUE $ARGS_DELIM $Args) -} - -### @usage: JAVA_LIBRARY() -### -### The module describing java library build. -### -### Documentation: https://wiki.yandex-team.ru/yatool/java/ -module JAVA_LIBRARY: _JAVA_PLACEHOLDER { - SET(MODULE_TYPE JAVA_LIBRARY) -} - -### @usage: JAVA_PROGRAM() -### -### The module describing java programs build. -### Output artifacts: .jar and directory with all the jar to the classpath of the formation. -### -### Documentation: https://wiki.yandex-team.ru/yatool/java/ -module JAVA_PROGRAM: _JAVA_PLACEHOLDER { - .ALIASES=JAVA_RUNTIME_PEERDIR=PEERDIR JAVA_RUNTIME_EXCLUDE=EXCLUDE - SET(MODULE_TYPE JAVA_PROGRAM) -} - -### @usage: JUNIT5() -### -### Java tests module based on JUnit 5 framework. -### -### If requested, build system will scan the source code of the module for the presence of junit tests and run them. -### Output artifacts: a jar, a directory of exhaust tests(if required run the tests) - test logs, system logs testiranja, temporary files, tests, etc. -### -### Documentation: https://wiki.yandex-team.ru/yatool/test/#testynajava -module JUNIT5: _JAVA_PLACEHOLDER { - .ALIASES=JAVA_TEST_PEERDIR=PEERDIR JAVA_TEST_EXCLUDE=EXCLUDE - SET(MODULE_TYPE JUNIT5) - SET(TEST_RUNNER devtools/junit5-runner) - SET(TEST_CLASSPATH_VALUE ${MODDIR} ${TEST_RUNNER}) - # Used as place to add managed dependencies for test execution and take them into account - # during traverses properly. - _RUN_JAVA(TOOL ${TEST_RUNNER} OUT fake.out.java_test_cmd) - - PEERDIR(${TEST_RUNNER}) - PEERDIR(build/platform/java/jacoco-agent) - JAVA_TEST() -} - -### @usage: JTEST() -### -### Java tests module based on JUnit 4 framework. -### -### If requested, build system will scan the source code of the module for the presence of junit tests and run them. -### Output artifacts: a jar, a directory of exhaust tests(if required run the tests) - test logs, system logs testiranja, temporary files, tests, etc. -### -### Documentation: https://wiki.yandex-team.ru/yatool/test/#testynajava -module JTEST: _JAVA_PLACEHOLDER { - .ALLOWED=YT_SPEC - .ALIASES=JAVA_TEST_PEERDIR=PEERDIR JAVA_TEST_EXCLUDE=EXCLUDE - SET(MODULE_TYPE JTEST) - SET(TEST_RUNNER devtools/junit-runner) - SET(TEST_CLASSPATH_VALUE ${MODDIR} ${TEST_RUNNER}) - # Used as place to add managed dependencies for test execution and take them into account - # during traverses properly. - _RUN_JAVA(TOOL ${TEST_RUNNER} OUT fake.out.java_test_cmd) - - # TODO: if <needs_sonar> - DEPENDS(contrib/java/org/sonarsource/scanner/cli/sonar-scanner-cli/2.8) - DEPENDS(${TEST_RUNNER}) - _GHOST_PEERDIR(${TEST_RUNNER}) - PEERDIR(build/platform/java/jacoco-agent) - JAVA_TEST() - - SET_APPEND(_MAKEFILE_INCLUDE_LIKE_DEPS canondata/result.json) -} - -### @usage: JTEST_FOR(ModuleDir) -### -### Convinience java tests module based on JUnit 4 framework for specified library or program. -### -### In contrast to the JTEST, the build system will scan for the presence of the test sources of the module in ModuleDir . As ModuleDir should contain JAVA_PROGRAM or JAVA_LIBRARY . JTEST_FOR also can have its own source, in this case they will be compiled and added to the classpath of a test run. -### Output artifacts: a jar, a directory of exhaust tests(if requested tests are run). -### -### Documentation: https://wiki.yandex-team.ru/yatool/test/#testynajava -module JTEST_FOR: JTEST { - .ALIASES=JAVA_TEST_PEERDIR=PEERDIR JAVA_TEST_EXCLUDE=EXCLUDE - SET(MODULE_TYPE JTEST_FOR) - SET(TEST_CLASSPATH_VALUE ${MODDIR} ${TEST_RUNNER} ${UNITTEST_DIR}) - - PEERDIR($UNITTEST_DIR) - SET(REALPRJNAME jtest) - JAVA_TEST() -} - -module JAVA_CONTRIB_PROGRAM: JAVA_CONTRIB { - SET(MODULE_TYPE JAVA_PROGRAM) - ENABLE(DISABLE_SCRIPTGEN) -} - -### @usage: DLL_JAVA() -### -### DLL built using swig for Java. Produces dynamic library and a .jar. -### Dynamic library is treated the same as in the case of PEERDIR from Java to DLL. -### .jar goes on the classpath. -### -### Documentation: https://wiki.yandex-team.ru/yatool/java/#integracijascpp/pythonsborkojj -module DLL_JAVA: DLL { - .EXTS=.o .obj .jsrc .java .mf - .CMD=SWIG_DLL_JAR_CMD - PEERDIR(build/platform/java/jdk) +YMAKE_JAVA_MODULES=no +JBUILD_JAVA_MODULES=yes + +EXTERNAL_JAR_VALUE= +### @usage: EXTERNAL_JAR(library.jar) +### +### Provide an external name for built JAVA_LIBRARY() or JAVA_PROGRAM() +### +### Documentation: https://wiki.yandex-team.ru/yatool/java/#ispolzovanievneshnixmavenbibliotek +macro EXTERNAL_JAR(Args...) { + SET_APPEND(EXTERNAL_JAR_VALUE $ARGS_DELIM $Args) +} + +### @usage: JAVA_LIBRARY() +### +### The module describing java library build. +### +### Documentation: https://wiki.yandex-team.ru/yatool/java/ +module JAVA_LIBRARY: _JAVA_PLACEHOLDER { + SET(MODULE_TYPE JAVA_LIBRARY) +} + +### @usage: JAVA_PROGRAM() +### +### The module describing java programs build. +### Output artifacts: .jar and directory with all the jar to the classpath of the formation. +### +### Documentation: https://wiki.yandex-team.ru/yatool/java/ +module JAVA_PROGRAM: _JAVA_PLACEHOLDER { + .ALIASES=JAVA_RUNTIME_PEERDIR=PEERDIR JAVA_RUNTIME_EXCLUDE=EXCLUDE + SET(MODULE_TYPE JAVA_PROGRAM) +} + +### @usage: JUNIT5() +### +### Java tests module based on JUnit 5 framework. +### +### If requested, build system will scan the source code of the module for the presence of junit tests and run them. +### Output artifacts: a jar, a directory of exhaust tests(if required run the tests) - test logs, system logs testiranja, temporary files, tests, etc. +### +### Documentation: https://wiki.yandex-team.ru/yatool/test/#testynajava +module JUNIT5: _JAVA_PLACEHOLDER { + .ALIASES=JAVA_TEST_PEERDIR=PEERDIR JAVA_TEST_EXCLUDE=EXCLUDE + SET(MODULE_TYPE JUNIT5) + SET(TEST_RUNNER devtools/junit5-runner) + SET(TEST_CLASSPATH_VALUE ${MODDIR} ${TEST_RUNNER}) + # Used as place to add managed dependencies for test execution and take them into account + # during traverses properly. + _RUN_JAVA(TOOL ${TEST_RUNNER} OUT fake.out.java_test_cmd) + + PEERDIR(${TEST_RUNNER}) + PEERDIR(build/platform/java/jacoco-agent) + JAVA_TEST() +} + +### @usage: JTEST() +### +### Java tests module based on JUnit 4 framework. +### +### If requested, build system will scan the source code of the module for the presence of junit tests and run them. +### Output artifacts: a jar, a directory of exhaust tests(if required run the tests) - test logs, system logs testiranja, temporary files, tests, etc. +### +### Documentation: https://wiki.yandex-team.ru/yatool/test/#testynajava +module JTEST: _JAVA_PLACEHOLDER { + .ALLOWED=YT_SPEC + .ALIASES=JAVA_TEST_PEERDIR=PEERDIR JAVA_TEST_EXCLUDE=EXCLUDE + SET(MODULE_TYPE JTEST) + SET(TEST_RUNNER devtools/junit-runner) + SET(TEST_CLASSPATH_VALUE ${MODDIR} ${TEST_RUNNER}) + # Used as place to add managed dependencies for test execution and take them into account + # during traverses properly. + _RUN_JAVA(TOOL ${TEST_RUNNER} OUT fake.out.java_test_cmd) + + # TODO: if <needs_sonar> + DEPENDS(contrib/java/org/sonarsource/scanner/cli/sonar-scanner-cli/2.8) + DEPENDS(${TEST_RUNNER}) + _GHOST_PEERDIR(${TEST_RUNNER}) + PEERDIR(build/platform/java/jacoco-agent) + JAVA_TEST() + + SET_APPEND(_MAKEFILE_INCLUDE_LIKE_DEPS canondata/result.json) +} + +### @usage: JTEST_FOR(ModuleDir) +### +### Convinience java tests module based on JUnit 4 framework for specified library or program. +### +### In contrast to the JTEST, the build system will scan for the presence of the test sources of the module in ModuleDir . As ModuleDir should contain JAVA_PROGRAM or JAVA_LIBRARY . JTEST_FOR also can have its own source, in this case they will be compiled and added to the classpath of a test run. +### Output artifacts: a jar, a directory of exhaust tests(if requested tests are run). +### +### Documentation: https://wiki.yandex-team.ru/yatool/test/#testynajava +module JTEST_FOR: JTEST { + .ALIASES=JAVA_TEST_PEERDIR=PEERDIR JAVA_TEST_EXCLUDE=EXCLUDE + SET(MODULE_TYPE JTEST_FOR) + SET(TEST_CLASSPATH_VALUE ${MODDIR} ${TEST_RUNNER} ${UNITTEST_DIR}) + + PEERDIR($UNITTEST_DIR) + SET(REALPRJNAME jtest) + JAVA_TEST() +} + +module JAVA_CONTRIB_PROGRAM: JAVA_CONTRIB { + SET(MODULE_TYPE JAVA_PROGRAM) + ENABLE(DISABLE_SCRIPTGEN) +} + +### @usage: DLL_JAVA() +### +### DLL built using swig for Java. Produces dynamic library and a .jar. +### Dynamic library is treated the same as in the case of PEERDIR from Java to DLL. +### .jar goes on the classpath. +### +### Documentation: https://wiki.yandex-team.ru/yatool/java/#integracijascpp/pythonsborkojj +module DLL_JAVA: DLL { + .EXTS=.o .obj .jsrc .java .mf + .CMD=SWIG_DLL_JAR_CMD + PEERDIR(build/platform/java/jdk) PEERDIR+=$JDK_RESOURCE_PEERDIR - - PROPAGATES_MANAGEABLE_PEERS=yes - SET(SWIG_LANG java) -} + + PROPAGATES_MANAGEABLE_PEERS=yes + SET(SWIG_LANG java) +} |