diff options
author | Maxim Yurchuk <maxim-yurchuk@ydb.tech> | 2024-11-20 17:37:57 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-20 17:37:57 +0000 |
commit | f76323e9b295c15751e51e3443aa47a36bee8023 (patch) | |
tree | 4113c8cad473a33e0f746966e0cf087252fa1d7a /build | |
parent | 753ecb8d410a4cb459c26f3a0082fb2d1724fe63 (diff) | |
parent | a7b9a6afea2a9d7a7bfac4c5eb4c1a8e60adb9e6 (diff) | |
download | ydb-f76323e9b295c15751e51e3443aa47a36bee8023.tar.gz |
Merge pull request #11788 from ydb-platform/mergelibs-241120-1113
Library import 241120-1113
Diffstat (limited to 'build')
27 files changed, 541 insertions, 341 deletions
diff --git a/build/conf/go.conf b/build/conf/go.conf index ab87169dd4..4943bce8c0 100644 --- a/build/conf/go.conf +++ b/build/conf/go.conf @@ -225,17 +225,17 @@ GO_TOOL=$YMAKE_PYTHON3 ${input:"build/scripts/go_tool.py"} $_PROCESS_WHOLE_ARCHI # tag:go-specific macro _GO_LINK_LIB_IMPL(CGO_FILES[], EXTRA_INPUTS[], EXTRA_TEXT_INPUTS[], GO_FILES...) { - .CMD=${hide:_GO_FAKEID} $GO_TOOL ${hide;input:EXTRA_INPUTS} ${hide;context=TEXT;input:EXTRA_TEXT_INPUTS} --ya-start-command-file $_GO_TOOL_COMMON_FLAGS ++peers ${rootrel;tags_in=local,GO|local,GO_PROTO|local,GO_FBS:PEERS} --ya-end-command-file ${hide;kv:"p GO"} ${hide;kv:"pc light-red"} ${hide;kv:"show_out"} + .CMD=${hide:_GO_FAKEID} $GO_TOOL ${hide;input:EXTRA_INPUTS} ${hide;context=TEXT;input:EXTRA_TEXT_INPUTS} --ya-start-command-file $_GO_TOOL_COMMON_FLAGS ++peers ${rootrel;tags_in=local,GO|local,GO_PROTO|local,GO_PROTO_FROM_SCHEMA|local,GO_FBS:PEERS} --ya-end-command-file ${hide;kv:"p GO"} ${hide;kv:"pc light-red"} ${hide;kv:"show_out"} } # tag:go-specific macro _GO_LINK_EXE_IMPL(CGO_FILES[], EXTRA_INPUTS[], EXTRA_TEXT_INPUTS[], GO_FILES...) { - .CMD=${hide:_GO_FAKEID} $GO_TOOL ${hide;input:EXTRA_INPUTS} ${hide;context=TEXT;input:EXTRA_TEXT_INPUTS} --ya-start-command-file $_GO_TOOL_COMMON_FLAGS ++vcs $VCS_GO $GO_WITH_MUSL $GO_EXTLD ++peers ${rootrel;tags_in=local,GO|local,GO_PROTO|local,GO_FBS:PEERS} ++non-local-peers ${rootrel;tags_in=GO|GO_PROTO|GO_FBS|;tags_out=local:PEERS} ++cgo-peers ${VCS_C_OBJ_RR} ${_EXTRA_OBJS} ${rootrel;tags_out=GO|GO_PROTO|GO_FBS|RESOURCE_LIB:PEERS} --ya-end-command-file ${hide;kv:"p LD"} ${hide;kv:"pc light-red"} ${hide;kv:"show_out"} && $_GO_LINK_EXE_EXT_CMD + .CMD=${hide:_GO_FAKEID} $GO_TOOL ${hide;input:EXTRA_INPUTS} ${hide;context=TEXT;input:EXTRA_TEXT_INPUTS} --ya-start-command-file $_GO_TOOL_COMMON_FLAGS ++vcs $VCS_GO $GO_WITH_MUSL $GO_EXTLD ++peers ${rootrel;tags_in=local,GO|local,GO_PROTO|local,GO_PROTO_FROM_SCHEMA|local,GO_FBS:PEERS} ++non-local-peers ${rootrel;tags_in=GO|GO_PROTO|GO_PROTO_FROM_SCHEMA|GO_FBS|;tags_out=local:PEERS} ++cgo-peers ${VCS_C_OBJ_RR} ${_EXTRA_OBJS} ${rootrel;tags_out=GO|GO_PROTO|GO_PROTO_FROM_SCHEMA|GO_FBS|RESOURCE_LIB:PEERS} --ya-end-command-file ${hide;kv:"p LD"} ${hide;kv:"pc light-red"} ${hide;kv:"show_out"} && $_GO_LINK_EXE_EXT_CMD } # tag:go-specific macro _GO_LINK_TEST_IMPL(CGO_FILES[], EXTRA_INPUTS[], EXTRA_TEXT_INPUTS[], GO_TEST_FILES[], GO_XTEST_FILES[], GO_FILES...) { - .CMD=${hide:_GO_FAKEID} $GO_TOOL ${hide;input:EXTRA_INPUTS} ${hide;context=TEXT;input:EXTRA_TEXT_INPUTS} --ya-start-command-file $_GO_TOOL_COMMON_FLAGS ++vcs $VCS_GO $GO_WITH_MUSL $GO_EXTLD ++test-miner $GO_TEST_MINER ++test-import-path $GO_TEST_IMPORT_PATH ++peers ${rootrel;tags_in=local,GO|local,GO_PROGRAM|local,GO_PROTO|local,GO_FBS:PEERS} ++non-local-peers ${rootrel;tags_in=GO|GO_PROTO|GO_FBS;tags_out=local:PEERS} ++cgo-peers ${VCS_C_OBJ_RR} ${rootrel;tags_out=GO|GO_PROGRAM|GO_PROTO|GO_FBS|RESOURCE_LIB:PEERS} ++test_srcs ${input:GO_TEST_FILES} ++xtest_srcs ${input:GO_XTEST_FILES} ++cover_info $GO_COVER_INFO_VALUE ++skip-tests $_GO_SKIP_TEST_VALUE --ya-end-command-file ${hide;kv:"p GO"} ${hide;kv:"pc light-red"} ${hide;kv:"show_out"} + .CMD=${hide:_GO_FAKEID} $GO_TOOL ${hide;input:EXTRA_INPUTS} ${hide;context=TEXT;input:EXTRA_TEXT_INPUTS} --ya-start-command-file $_GO_TOOL_COMMON_FLAGS ++vcs $VCS_GO $GO_WITH_MUSL $GO_EXTLD ++test-miner $GO_TEST_MINER ++test-import-path $GO_TEST_IMPORT_PATH ++peers ${rootrel;tags_in=local,GO|local,GO_PROGRAM|local,GO_PROTO|local,GO_PROTO_FROM_SCHEMA|local,GO_FBS:PEERS} ++non-local-peers ${rootrel;tags_in=GO|GO_PROTO|GO_PROTO_FROM_SCHEMA|GO_FBS;tags_out=local:PEERS} ++cgo-peers ${VCS_C_OBJ_RR} ${rootrel;tags_out=GO|GO_PROGRAM|GO_PROTO|GO_PROTO_FROM_SCHEMA|GO_FBS|RESOURCE_LIB:PEERS} ++test_srcs ${input:GO_TEST_FILES} ++xtest_srcs ${input:GO_XTEST_FILES} ++cover_info $GO_COVER_INFO_VALUE ++skip-tests $_GO_SKIP_TEST_VALUE --ya-end-command-file ${hide;kv:"p GO"} ${hide;kv:"pc light-red"} ${hide;kv:"show_out"} } # tag:go-specific @@ -649,7 +649,7 @@ module _GO_BASE_UNIT: _BASE_UNIT { ENABLE(_GO_MODULE) SET(MODULE_TAG GO) - SET(PEERDIR_TAGS GO GO_PROTO GO_FBS __EMPTY__ RESOURCE_LIB) + SET(PEERDIR_TAGS GO GO_PROTO GO_PROTO_FROM_SCHEMA GO_FBS __EMPTY__ RESOURCE_LIB) DEFAULT(_GO_VET_TOOL) DEFAULT(_GO_VET_FLAGS) DEFAULT(_GO_VET_EXTS) @@ -815,7 +815,7 @@ module GO_LIBRARY: _GO_BASE_UNIT { .FINAL_TARGET=no SET(_GO_TOOL_MODE lib) SET(MODULE_TYPE LIBRARY) - SET(PEERDIR_TAGS GO GO_PROTO GO_FBS __EMPTY__ RESOURCE_LIB PACKAGE_UNION) + SET(PEERDIR_TAGS GO GO_PROTO GO_PROTO_FROM_SCHEMA GO_FBS __EMPTY__ RESOURCE_LIB PACKAGE_UNION) MODULE_SUFFIX=.a } @@ -956,7 +956,7 @@ module GO_TEST: GO_PROGRAM { .ALLOWED=GO_SKIP_TESTS YT_SPEC .FINAL_TARGET=no SET(MODULE_TAG GO_TEST) - SET(PEERDIR_TAGS GO GO_PROGRAM GO_PROTO GO_FBS __EMPTY__ RESOURCE_LIB) + SET(PEERDIR_TAGS GO GO_PROGRAM GO_PROTO GO_PROTO_FROM_SCHEMA GO_FBS __EMPTY__ RESOURCE_LIB) SET(_GO_TOOL_MODE test) SET(MODULE_TYPE PROGRAM) ENABLE(GO_TEST_MODULE) diff --git a/build/conf/java.conf b/build/conf/java.conf index d029f6a379..02f5e25af2 100644 --- a/build/conf/java.conf +++ b/build/conf/java.conf @@ -78,20 +78,17 @@ multimodule JAVA_PROGRAM { } _PROCESSOR_CLASSES_VALUE= -_PROCESSOR_CLASSES_SEM= macro PROCESSOR_CLASSES(Classes...) { SET_APPEND(_PROCESSOR_CLASSES_VALUE $Classes) - SET_APPEND(_PROCESSOR_CLASSES_SEM && java-apclasses $Classes) } -_AUTO_SERVICE_SEM= macro AUTO_SERVICE(Ver) { USE_ANNOTATION_PROCESSOR(contrib/java/com/google/auto/service/auto-service/${Ver}) + # TODO Remove PEERDIR - old AP mechanic PEERDIR(contrib/java/com/google/auto/service/auto-service-annotations/${Ver}) - SET(_AUTO_SERVICE_SEM && java-apautoservice $Ver) } -_BUILD_JAVA_ANNOTATION_PROCESSOR_SEM=$BUILD_JAR_SEM $_PROCESSOR_CLASSES_SEM $_AUTO_SERVICE_SEM +_BUILD_JAVA_ANNOTATION_PROCESSOR_SEM=$BUILD_JAR_SEM ### @usage: JAVA_ANNOTATION_PROCESSOR() ### @@ -296,13 +293,11 @@ multimodule JTEST_FOR { } } -# TODO Something for using tool in RUN_JAVA_PROGRAM -_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 + .SEM=IGNORED SET(MODULE_TYPE JAVA_PROGRAM) ENABLE(DISABLE_SCRIPTGEN) @@ -375,7 +370,7 @@ module EXTERNAL_JAVA_LIBRARY: _BASE_UNIT { 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 + PEERDIR_TAGS=JAVA JAVA_PROTO JAVA_PROTO_FROM_SCHEMA JAVA_FBS JAVA_IDL PACKAGE_UNION HAS_MANAGEABLE_PEERS=yes DYNAMIC_LINK=yes _PROTO_CMDLINE=$_JAVA_PROTO_CMDLINE @@ -526,23 +521,20 @@ macro _JAR_ANN_PROC_OPTS(Classes...) { } # tag:java-specific -_USE_ANNOTATION_PROCESSOR_TOOL= +_USE_ANNOTATION_PROCESSOR_PATH= +_USE_ANNOTATION_PROCESSOR_OPT= _USE_ANNOTATION_PROCESSOR_SEM= ### @usage: USE_ANNOTATION_PROCESSOR(Path) ### ### Used to specify annotation processor for building JAVA_PROGRAM() and JAVA_LIBRARY(). macro USE_ANNOTATION_PROCESSOR(Path) { - SET(_USE_ANNOTATION_PROCESSOR_TOOL $Path) - SET(_USE_ANNOTATION_PROCESSOR_SEM && use_annotation_processor $Path) + SET(_USE_ANNOTATION_PROCESSOR_PATH $Path) } -when ($_USE_ANNOTATION_PROCESSOR_TOOL != "") { - _USE_ANNOTATION_PROCESSOR_CMD=${tool:_USE_ANNOTATION_PROCESSOR_TOOL} - _USE_ANNOTATION_PROCESSOR_OPT=${pre=-processorpath "@";suf=.cplst:_USE_ANNOTATION_PROCESSOR_CMD} -} -otherwise { - _USE_ANNOTATION_PROCESSOR_CMD= - _USE_ANNOTATION_PROCESSOR_OPT= +when ($_USE_ANNOTATION_PROCESSOR_PATH != "") { + _USE_ANNOTATION_PROCESSOR_TOOL = ${tool:_USE_ANNOTATION_PROCESSOR_PATH} + _USE_ANNOTATION_PROCESSOR_OPT += ${pre=-processorpath "@";suf=.cplst:_USE_ANNOTATION_PROCESSOR_TOOL} + _USE_ANNOTATION_PROCESSOR_SEM += && use_annotation_processor $_USE_ANNOTATION_PROCESSOR_PATH/${nopath:_USE_ANNOTATION_PROCESSOR_TOOL} } # tag:java-specific @@ -563,7 +555,7 @@ module _JAR_BASE: _BARE_UNIT { SET(MODULE_TAG JAVA) - PEERDIR_TAGS=JAVA JAVA_PROTO JAVA_FBS JAVA_IDL DLL JAR_COMPILATION __EMPTY__ RESOURCE_LIB + PEERDIR_TAGS=JAVA JAVA_PROTO JAVA_PROTO_FROM_SCHEMA JAVA_FBS JAVA_IDL DLL JAR_COMPILATION __EMPTY__ RESOURCE_LIB HAS_MANAGEABLE_PEERS=yes DYNAMIC_LINK=yes @@ -1184,7 +1176,7 @@ module JAR_LIBRARY: _COMPILABLE_JAR_BASE { # tag:java-specific _SCRIPTGEN_FLAGS= macro _GEN_JAVA_SCRIPT_IMPL(Out, Template, Props...) { - .CMD=$SCRIPTGEN_RESOURCE_GLOBAL/scriptgen --java $JDK_RESOURCE/bin/java --output ${output:Out} --template ${input:Template} ${_SCRIPTGEN_FLAGS} -D JAR_NAME=${REALPRJNAME}.jar -D CLASSPATH=${nopath;join;ext=.jar;pre="::":MANAGED_PEERS_CLOSURE} -D PROJECT_DIR=${MODDIR} -D JAR_BASENAME=${REALPRJNAME} $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} -D MAIN_CLASS=${_JAR_MAIN_CLASS} -D ENABLE_PREVIEW_VALUE=${ENABLE_PREVIEW_VALUE} $Props } # tag:java-specific @@ -1204,7 +1196,7 @@ _GEN_JAVA_RUN_SH_OUTPUT=run.sh when ($HOST_OS_WINDOWS == "yes") { _GEN_JAVA_RUN_SH_OUTPUT=run.bat } -GEN_JAVA_RUN_SH=$SCRIPTGEN_RESOURCE_GLOBAL/scriptgen --java $JDK_RESOURCE/bin/java --output ${output:_GEN_JAVA_RUN_SH_OUTPUT} -D GENERATE_DEFAULT_RUNNER=yes -D JAR_NAME=${REALPRJNAME}.jar -D CLASSPATH=${nopath;join;pre="::":MANAGED_PEERS_CLOSURE} -D PROJECT_DIR=${REALPRJNAME} -D JAR_BASENAME=${REALPRJNAME} +GEN_JAVA_RUN_SH=$SCRIPTGEN_RESOURCE_GLOBAL/scriptgen --java $JDK_RESOURCE/bin/java --output ${output:_GEN_JAVA_RUN_SH_OUTPUT} -D GENERATE_DEFAULT_RUNNER=yes -D JAR_NAME=${REALPRJNAME}.jar -D CLASSPATH=${nopath;join;pre="::":MANAGED_PEERS_CLOSURE} -D PROJECT_DIR=${REALPRJNAME} -D JAR_BASENAME=${REALPRJNAME} -D MAIN_CLASS=${_JAR_MAIN_CLASS} -D ENABLE_PREVIEW=${ENABLE_PREVIEW_VALUE} GEN_RUN_CP=${WRITER_PY} --file ${BINDIR}/run-bf.txt -Q -m --ya-start-command-file ${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 @@ -2087,7 +2079,7 @@ module JSRC_LIBRARY: _BARE_UNIT { .PEERDIR_POLICY=as_include .FINAL_TARGET=no .ALIASES=SRCS=FILES - PEERDIR_TAGS=JAVA JAVA_PROTO JAVA_FBS JAVA_IDL + PEERDIR_TAGS=JAVA JAVA_PROTO JAVA_PROTO_FROM_SCHEMA JAVA_FBS JAVA_IDL MODULE_TYPE=LIBRARY SET(MODULE_SUFFIX .jsrc) SET(DONT_RESOLVE_INCLUDES yes) diff --git a/build/conf/project_specific/yql_udf.conf b/build/conf/project_specific/yql_udf.conf index 68de630833..55cd244262 100644 --- a/build/conf/project_specific/yql_udf.conf +++ b/build/conf/project_specific/yql_udf.conf @@ -36,15 +36,15 @@ macro UDF_NO_PROBE() { module YQL_UDF_TEST: PY3TEST_BIN { SET_APPEND(_MAKEFILE_INCLUDE_LIKE_DEPS canondata/result.json) - PEERDIR($YQL_BASE_TEST_DIR/tests/common/udf_test) + PEERDIR(yql/essentials/tests/common/udf_test) DEPENDS(yql/essentials/tools/astdiff) DEPENDS($YQL_BASE_TEST_DIR/tools/yqlrun) DEPENDS(yql/essentials/tools/udf_resolver) DATA(arcadia/yql/essentials/mount) - DATA(arcadia/$YQL_BASE_TEST_DIR/cfg/udf_test) + DATA(arcadia/yql/essentials/cfg/udf_test) ENV(YQL_ASTDIFF_PATH="yql/essentials/tools/astdiff/astdiff") - ENV(YQL_CONFIG_DIR="$YQL_BASE_TEST_DIR/cfg/udf_test") + ENV(YQL_CONFIG_DIR="yql/essentials/cfg/udf_test") ENV(YQL_YQLRUN_PATH="$YQL_BASE_TEST_DIR/tools/yqlrun/yqlrun") ENV(YQL_SQL2YQL_PATH="yql/essentials/tools/sql2yql/sql2yql") ENV(YQL_UDFRESOLVER_PATH="yql/essentials/tools/udf_resolver/udf_resolver") @@ -53,27 +53,32 @@ module YQL_UDF_TEST: PY3TEST_BIN { module YQL_UDF_YDB_TEST: PY3TEST_BIN { SET_APPEND(_MAKEFILE_INCLUDE_LIKE_DEPS canondata/result.json) - PEERDIR($YQL_BASE_TEST_DIR/tests/common/udf_test) + PEERDIR(yql/essentials/tests/common/udf_test) DEPENDS(yql/essentials/tools/astdiff) DEPENDS($YQL_BASE_TEST_DIR/tools/yqlrun) DEPENDS(yql/essentials/tools/udf_resolver) DATA(arcadia/yql/essentials/mount) - DATA(arcadia/$YQL_BASE_TEST_DIR/cfg/udf_test) + DATA(arcadia/yql/essentials/cfg/udf_test) + ENV(YQL_ASTDIFF_PATH="yql/essentials/tools/astdiff/astdiff") + ENV(YQL_CONFIG_DIR="yql/essentials/cfg/udf_test") + ENV(YQL_YQLRUN_PATH="$YQL_BASE_TEST_DIR/tools/yqlrun/yqlrun") + ENV(YQL_SQL2YQL_PATH="yql/essentials/tools/sql2yql/sql2yql") + ENV(YQL_UDFRESOLVER_PATH="yql/essentials/tools/udf_resolver/udf_resolver") } module YQL_UDF_TEST_CONTRIB: PY3TEST_BIN { SET_APPEND(_MAKEFILE_INCLUDE_LIKE_DEPS canondata/result.json) - PEERDIR($YQL_BASE_TEST_DIR/tests/common/udf_test) + PEERDIR(yql/essentials/tests/common/udf_test) DEPENDS(yql/essentials/tools/astdiff) DEPENDS($YQL_BASE_TEST_DIR/tools/yqlrun) DEPENDS(yql/essentials/tools/udf_resolver) DATA(arcadia/yql/essentials/mount) - DATA(arcadia/$YQL_BASE_TEST_DIR/cfg/udf_test) + DATA(arcadia/yql/essentials/cfg/udf_test) ENV(YQL_ASTDIFF_PATH="yql/essentials/tools/astdiff/astdiff") - ENV(YQL_CONFIG_DIR="$YQL_BASE_TEST_DIR/cfg/udf_test") + ENV(YQL_CONFIG_DIR="yql/essentials/cfg/udf_test") ENV(YQL_YQLRUN_PATH="$YQL_BASE_TEST_DIR/tools/yqlrun/yqlrun") ENV(YQL_SQL2YQL_PATH="yql/essentials/tools/sql2yql/sql2yql") ENV(YQL_UDFRESOLVER_PATH="yql/essentials/tools/udf_resolver/udf_resolver") diff --git a/build/conf/proto.conf b/build/conf/proto.conf index a55bfbe7bd..17704bdfd0 100644 --- a/build/conf/proto.conf +++ b/build/conf/proto.conf @@ -655,6 +655,162 @@ CPP_PROTO_LIBRARY_SEM=$CPP_LIBRARY_SEM JAVA_PROTO_LIBRARY_SEM=$BUILD_PROTO_JAR_SEM $_GRADLE_EXPORT_PUBLISHING_SEM +module _CPP_PROTO : LIBRARY { + .ALLOWED=_EXPOSE LIST_PROTO + # TODO(svidyuk): think about marker which forces semantics inheritance + .SEM=CPP_PROTO_LIBRARY_SEM + FORCE_COVERAGE_DISABLED=yes + ENABLE(CPP_PROTO) + ENABLE(GEN_PROTO) + NO_CLANG_TIDY() + CPP_PROTOLIBS_DEBUG_INFO() + SET(PEERDIR_TAGS) + + when ($BUILD_PROTO_AS_EVLOG == "yes" && $USE_VANILLA_PROTOC == "yes") { + _OK=no + } + ASSERT(_OK BUILD_PROTO_AS_EVLOG and USE_VANILLA_PROTOC are incompatible yet) + + MODULE_SUFFIX=$_CPP_PROTO_MODULE_SUFFIX + MODULE_PREFIX=$_CPP_PROTO_MODULE_PREFIX + + when ($_COMMON_GOOGLE_APIS != "None") { + PEERDIR += contrib/libs/googleapis-common-protos + } +} + +module _JAVA_PROTO: EXTERNAL_JAVA_LIBRARY { + .EXTS=.jsrc + .ALLOWED=GRPC + .SEM=JAVA_PROTO_LIBRARY_SEM + SET(PEERDIR_TAGS JAVA) + ENABLE(JAVA_PROTO) + DISABLE(_NEED_SBOM_INFO) + PEERDIR+=$JAVA_PROTOBUF_PEERS + + when ($KOTLIN_PROTO == "yes") { + KOTLIN_PROTO_PEERS=contrib/java/com/google/protobuf/protobuf-kotlin/${JAVA_PROTO_RUNTIME_VERSION} + KOTLIN_PROTO_FLAGS=--kotlin_out=$ARCADIA_BUILD_ROOT/java_out + } + when ($GRADLE_EXPORT_PUBLISHING == "yes") { + _GRADLE_EXPORT_PUBLISHING_SEM=$_DO_GRADLE_EXPORT_PUBLISHING_SEM + } + + .IGNORED=GENERATE_ENUM_SERIALIZATION GENERATE_ENUM_SERIALIZATION_WITH_HEADER USE_SKIFF CPP_PROTO_PLUGIN2 PY_PROTO_PLUGIN YMAPS_SPROTO RESOURCE + ADDINCL(FOR proto $PROTOBUF_INCLUDE_PATH) + + when ($_COMMON_GOOGLE_APIS != "None") { + PEERDIR += contrib/java/com/google/api/grpc/proto-google-common-protos/${JAVA_PROTO_COMMON_VERSION} + ADDINCL += GLOBAL FOR proto ${ARCADIA_ROOT}/contrib/libs/googleapis-common-protos + } +} + +module _PY_PROTO: PY2_LIBRARY { + .ALIASES=SRCS=PY_SRCS + .ALLOWED=OPTIMIZE_PY_PROTOS NO_OPTIMIZE_PY_PROTOS + .SEM=IGNORED + SET(PEERDIR_TAGS PY2) + ENABLE(PY_PROTO) + DISABLE(_NEED_SBOM_INFO) + OPTIMIZE_PY_PROTOS() + OBJ_SUF=.py2 + # Can not use NO_LINT(), because is not allowed outside of contrib directory + SET(_NO_LINT_VALUE none_internal) + + when ($_COMMON_GOOGLE_APIS != "None") { + PEERDIR += contrib/libs/googleapis-common-protos + } + + _IGNORE_SELF_PEERS= + _CPP_PROTO_LIBRARY=${MODDIR}/$_CPP_PROTO_MODULE_PREFIX$REALPRJNAME$_CPP_PROTO_MODULE_SUFFIX + when ($OPTIMIZE_PY_PROTOS_FLAG == "no") { + _IGNORE_PEERDIRSELF=CPP_PROTO + } + SET_APPEND(_WHOLE_ARCHIVE_LIBS_VALUE_GLOBAL $_CPP_PROTO_LIBRARY) +} + +module _PY3_PROTO: PY3_LIBRARY { + .ALIASES=SRCS=PY_SRCS + .ALLOWED=OPTIMIZE_PY_PROTOS NO_OPTIMIZE_PY_PROTOS + .SEM=IGNORED + SET(PEERDIR_TAGS PY3) + ENABLE(PY3_PROTO) + DISABLE(_NEED_SBOM_INFO) + OPTIMIZE_PY_PROTOS() + OBJ_SUF=.py3 + # Can not use NO_LINT(), because is not allowed outside of contrib directory + SET(_NO_LINT_VALUE none_internal) + + when ($_COMMON_GOOGLE_APIS != "None") { + PEERDIR += contrib/libs/googleapis-common-protos + } + + _IGNORE_SELF_PEERS= + _CPP_PROTO_LIBRARY=${MODDIR}/$_CPP_PROTO_MODULE_PREFIX$REALPRJNAME$_CPP_PROTO_MODULE_SUFFIX + when ($OPTIMIZE_PY_PROTOS_FLAG == "no") { + _IGNORE_PEERDIRSELF=CPP_PROTO + } + SET_APPEND(_WHOLE_ARCHIVE_LIBS_VALUE_GLOBAL $_CPP_PROTO_LIBRARY) +} + +module _GO_PROTO: GO_LIBRARY { + .IGNORED=GENERATE_ENUM_SERIALIZATION GENERATE_ENUM_SERIALIZATION_WITH_HEADER YMAPS_SPROTO + .SEM=IGNORED + SET(PEERDIR_TAGS GO) + ENABLE(GO_PROTO) + + when ($_COMMON_GOOGLE_APIS == "None") { + } + elsewhen ($_COMMON_GOOGLE_APIS == "") { + PEERDIR += $_GO_COMMON_GOOGLE_APIS + ADDINCL += GLOBAL FOR proto ${ARCADIA_ROOT}/contrib/libs/googleapis-common-protos + } + otherwise { + PEERDIR += $_COMMON_GOOGLE_APIS + ADDINCL += GLOBAL FOR proto ${ARCADIA_ROOT}/contrib/libs/googleapis-common-protos + } +} + +module _TS_PROTO: _TS_PROTO_IMPL { + DISABLE(_NEED_SBOM_INFO) +} + +module _TS_PREPARE_DEPS: _PREPARE_DEPS_BASE { + .IGNORED=PEERDIR + DISABLE(_NEED_SBOM_INFO) +} + +module _DESC_PROTO: _BARE_UNIT { + .CMD=_PROTO_DESC_MERGE_CMD + .SEM=IGNORED + .EXTS=.desc .rawproto + .NODE_TYPE=Library + .IGNORED=GENERATE_ENUM_SERIALIZATION GENERATE_ENUM_SERIALIZATION_WITH_HEADER YMAPS_SPROTO RESOURCE GO_PROTO_PLUGIN GRPC + .ALIASES=SRCS=_SRCS_NO_GLOBAL + + ENABLE(DESC_PROTO) + DISABLE(_NEED_SBOM_INFO) + MODULE_SUFFIX=.self.protodesc + SET(MODULE_TYPE LIBRARY) + SET(_MODDIR_HASH ${hash:MODDIR}) + + _EVLOG_CMDLINE=$_PROTO_DESC_CMDLINE + _PROTO_CMDLINE=$_PROTO_DESC_CMDLINE + + when ($_COMMON_GOOGLE_APIS != "None") { + PEERDIR += contrib/libs/googleapis-common-protos + } + + when ($NEED_GOOGLE_PROTO_PEERDIRS == "yes") { + when ($USE_VANILLA_PROTOC == "yes") { + PEERDIR += contrib/libs/protobuf_std/builtin_proto/protos_from_protobuf + } + otherwise { + PEERDIR += contrib/libs/protobuf/builtin_proto/protos_from_protoc + } + } +} + # tag:proto ### @usage: PROTO_LIBRARY() ### @@ -674,173 +830,44 @@ JAVA_PROTO_LIBRARY_SEM=$BUILD_PROTO_JAR_SEM $_GRADLE_EXPORT_PUBLISHING_SEM ### ### See: [GRPC()](#macro_GRPC), [OPTIMIZE_PY_PROTOS()](#macro_OPTIMIZE_PY_PROTOS), [INCLUDE_TAGS()](#macro_INCLUDE_TAGS), [EXCLUDE_TAGS()](#macro_EXCLUDE_TAGS) multimodule PROTO_LIBRARY { - module CPP_PROTO : LIBRARY { - .ALLOWED=_EXPOSE LIST_PROTO - # TODO(svidyuk): think about marker which forces semantics inheritance - .SEM=CPP_PROTO_LIBRARY_SEM - FORCE_COVERAGE_DISABLED=yes - ENABLE(CPP_PROTO) - ENABLE(GEN_PROTO) - NO_CLANG_TIDY() - CPP_PROTOLIBS_DEBUG_INFO() - SET(PEERDIR_TAGS CPP_PROTO) - - when ($BUILD_PROTO_AS_EVLOG == "yes" && $USE_VANILLA_PROTOC == "yes") { - _OK=no - } - ASSERT(_OK BUILD_PROTO_AS_EVLOG and USE_VANILLA_PROTOC are incompatible yet) - - MODULE_SUFFIX=$_CPP_PROTO_MODULE_SUFFIX - MODULE_PREFIX=$_CPP_PROTO_MODULE_PREFIX - - when ($_COMMON_GOOGLE_APIS != "None") { - PEERDIR += contrib/libs/googleapis-common-protos - } + module CPP_PROTO: _CPP_PROTO { + SET_APPEND(PEERDIR_TAGS CPP_PROTO) } - module JAVA_PROTO: EXTERNAL_JAVA_LIBRARY { - .EXTS=.jsrc - .ALLOWED=GRPC - .SEM=JAVA_PROTO_LIBRARY_SEM - SET(PEERDIR_TAGS JAVA JAVA_PROTO) - ENABLE(JAVA_PROTO) - DISABLE(_NEED_SBOM_INFO) - PEERDIR+=$JAVA_PROTOBUF_PEERS - - when ($KOTLIN_PROTO == "yes") { - KOTLIN_PROTO_PEERS=contrib/java/com/google/protobuf/protobuf-kotlin/${JAVA_PROTO_RUNTIME_VERSION} - KOTLIN_PROTO_FLAGS=--kotlin_out=$ARCADIA_BUILD_ROOT/java_out - } - when ($GRADLE_EXPORT_PUBLISHING == "yes") { - _GRADLE_EXPORT_PUBLISHING_SEM=$_DO_GRADLE_EXPORT_PUBLISHING_SEM - } - - .IGNORED=GENERATE_ENUM_SERIALIZATION GENERATE_ENUM_SERIALIZATION_WITH_HEADER USE_SKIFF CPP_PROTO_PLUGIN2 PY_PROTO_PLUGIN YMAPS_SPROTO RESOURCE - ADDINCL(FOR proto $PROTOBUF_INCLUDE_PATH) - - when ($_COMMON_GOOGLE_APIS != "None") { - PEERDIR += contrib/java/com/google/api/grpc/proto-google-common-protos/${JAVA_PROTO_COMMON_VERSION} - ADDINCL += GLOBAL FOR proto ${ARCADIA_ROOT}/contrib/libs/googleapis-common-protos - } + module JAVA_PROTO: _JAVA_PROTO { + SET_APPEND(PEERDIR_TAGS JAVA_PROTO) } - module PY_PROTO: PY2_LIBRARY { - .ALIASES=SRCS=PY_SRCS - .ALLOWED=OPTIMIZE_PY_PROTOS NO_OPTIMIZE_PY_PROTOS + module PY_PROTO: _PY_PROTO { + SET_APPEND(PEERDIR_TAGS PY_PROTO) .PEERDIRSELF=CPP_PROTO - .SEM=IGNORED - SET(PEERDIR_TAGS PY2 PY_PROTO) - ENABLE(PY_PROTO) - DISABLE(_NEED_SBOM_INFO) - OPTIMIZE_PY_PROTOS() - OBJ_SUF=.py2 - # Can not use NO_LINT(), because is not allowed outside of contrib directory - SET(_NO_LINT_VALUE none_internal) - - when ($_COMMON_GOOGLE_APIS != "None") { - PEERDIR += contrib/libs/googleapis-common-protos - } - - _IGNORE_SELF_PEERS= - _CPP_PROTO_LIBRARY=${MODDIR}/$_CPP_PROTO_MODULE_PREFIX$REALPRJNAME$_CPP_PROTO_MODULE_SUFFIX - when ($OPTIMIZE_PY_PROTOS_FLAG == "no") { - _IGNORE_PEERDIRSELF=CPP_PROTO - } - SET_APPEND(_WHOLE_ARCHIVE_LIBS_VALUE_GLOBAL $_CPP_PROTO_LIBRARY) } - module PY3_PROTO: PY3_LIBRARY { - .ALIASES=SRCS=PY_SRCS - .ALLOWED=OPTIMIZE_PY_PROTOS NO_OPTIMIZE_PY_PROTOS + module PY3_PROTO: _PY3_PROTO { + SET_APPEND(PEERDIR_TAGS PY3_PROTO) .PEERDIRSELF=CPP_PROTO - .SEM=IGNORED - SET(PEERDIR_TAGS PY3 PY3_PROTO) - ENABLE(PY3_PROTO) - DISABLE(_NEED_SBOM_INFO) - OPTIMIZE_PY_PROTOS() - OBJ_SUF=.py3 - # Can not use NO_LINT(), because is not allowed outside of contrib directory - SET(_NO_LINT_VALUE none_internal) - - when ($_COMMON_GOOGLE_APIS != "None") { - PEERDIR += contrib/libs/googleapis-common-protos - } - - _IGNORE_SELF_PEERS= - _CPP_PROTO_LIBRARY=${MODDIR}/$_CPP_PROTO_MODULE_PREFIX$REALPRJNAME$_CPP_PROTO_MODULE_SUFFIX - when ($OPTIMIZE_PY_PROTOS_FLAG == "no") { - _IGNORE_PEERDIRSELF=CPP_PROTO - } - SET_APPEND(_WHOLE_ARCHIVE_LIBS_VALUE_GLOBAL $_CPP_PROTO_LIBRARY) } - module GO_PROTO: GO_LIBRARY { - .IGNORED=GENERATE_ENUM_SERIALIZATION GENERATE_ENUM_SERIALIZATION_WITH_HEADER YMAPS_SPROTO - .SEM=IGNORED - SET(PEERDIR_TAGS GO GO_PROTO) - ENABLE(GO_PROTO) - - when ($_COMMON_GOOGLE_APIS == "None") { - } - elsewhen ($_COMMON_GOOGLE_APIS == "") { - PEERDIR += $_GO_COMMON_GOOGLE_APIS - ADDINCL += GLOBAL FOR proto ${ARCADIA_ROOT}/contrib/libs/googleapis-common-protos - } - otherwise { - PEERDIR += $_COMMON_GOOGLE_APIS - ADDINCL += GLOBAL FOR proto ${ARCADIA_ROOT}/contrib/libs/googleapis-common-protos - } + module GO_PROTO: _GO_PROTO { + SET_APPEND(PEERDIR_TAGS GO_PROTO) } - module TS_PROTO: _TS_PROTO_IMPL { + module TS_PROTO: _TS_PROTO { # opt-in. We don't want to have TS_PROTO by default # To include TS_PROTO user have to set INCLUDE_TAGS(TS_PROTO TS_PREPARE_DEPS) in ya.make .INCLUDE_TAG=no - .EPILOGUE=_TS_CONFIG_EPILOGUE .PEERDIRSELF=TS_PREPARE_DEPS - DISABLE(_NEED_SBOM_INFO) - - when ($_COMMON_GOOGLE_APIS != "None") { - PEERDIR += contrib/libs/googleapis-common-protos - } + .EPILOGUE=_TS_CONFIG_EPILOGUE + SET_APPEND(PEERDIR_TAGS TS_PROTO) } - module TS_PREPARE_DEPS: _PREPARE_DEPS_BASE { + module TS_PREPARE_DEPS: _TS_PREPARE_DEPS { .INCLUDE_TAG=no - .IGNORED=PEERDIR SRCS GENERATE_ENUM_SERIALIZATION - DISABLE(_NEED_SBOM_INFO) - } - - module DESC_PROTO: _BARE_UNIT { - .CMD=_PROTO_DESC_MERGE_CMD - .SEM=IGNORED - .EXTS=.desc .rawproto - .NODE_TYPE=Library - .IGNORED=GENERATE_ENUM_SERIALIZATION GENERATE_ENUM_SERIALIZATION_WITH_HEADER YMAPS_SPROTO RESOURCE GO_PROTO_PLUGIN GRPC - .ALIASES=SRCS=_SRCS_NO_GLOBAL - - SET(PEERDIR_TAGS DESC_PROTO) - ENABLE(DESC_PROTO) - DISABLE(_NEED_SBOM_INFO) - MODULE_SUFFIX=.self.protodesc - SET(MODULE_TYPE LIBRARY) - SET(_MODDIR_HASH ${hash:MODDIR}) - - _EVLOG_CMDLINE=$_PROTO_DESC_CMDLINE - _PROTO_CMDLINE=$_PROTO_DESC_CMDLINE - - when ($_COMMON_GOOGLE_APIS != "None") { - PEERDIR += contrib/libs/googleapis-common-protos - } + SET_APPEND(PEERDIR_TAGS TS_PREPARE_DEPS) + } - when ($NEED_GOOGLE_PROTO_PEERDIRS == "yes") { - when ($USE_VANILLA_PROTOC == "yes") { - PEERDIR += contrib/libs/protobuf_std/builtin_proto/protos_from_protobuf - } - otherwise { - PEERDIR += contrib/libs/protobuf/builtin_proto/protos_from_protoc - } - } + module DESC_PROTO: _DESC_PROTO { + SET_APPEND(PEERDIR_TAGS DESC_PROTO) } } @@ -852,7 +879,7 @@ module PROTO_DESCRIPTIONS: _BARE_UNIT { .FINAL_TARGET=yes SET(MODULE_TAG PROTO_DESCRIPTIONS) - SET(PEERDIR_TAGS DESC_PROTO) + SET(PEERDIR_TAGS DESC_PROTO DESC_PROTO_FROM_SCHEMA) SET(MODULE_SUFFIX .protodesc) SET(MODULE_TYPE PROTO_DESCRIPTIONS) } @@ -862,6 +889,73 @@ module PROTO_REGISTRY: PROTO_DESCRIPTIONS { SET(MODULE_TYPE PROTO_REGISTRY) } +# tag:proto +### @usage: PROTO_SCHEMA() +### +### Build some variant of protocol buffers library or proto descriptions. +### +### When used as a PEERDIR from a language module like GO_PROGRAM it behaves like PROTO_LIBRARY. +### When built directly it produces proto descriptions. When required by RECURSE it produces +### both proto descriptions and language libraries. +### PROTO_SCHEMA can depend on PROTO_LIBRARY, but PROTO_LIBRARY cannot depend on PROTO_SCHEMA. +### +### See: [PROTO_LIBRARY()](#module_PROTO_LIBRARY) +multimodule PROTO_SCHEMA { + module CPP_PROTO_FROM_SCHEMA: _CPP_PROTO { + DISABLE(START_TARGET) + SET_APPEND(PEERDIR_TAGS CPP_PROTO CPP_PROTO_FROM_SCHEMA) + } + + module JAVA_PROTO_FROM_SCHEMA: _JAVA_PROTO { + DISABLE(START_TARGET) + SET_APPEND(PEERDIR_TAGS JAVA_PROTO JAVA_PROTO_FROM_SCHEMA) + } + + module PY_PROTO_FROM_SCHEMA: _PY_PROTO { + .PEERDIRSELF=CPP_PROTO_FROM_SCHEMA + DISABLE(START_TARGET) + SET_APPEND(PEERDIR_TAGS PY_PROTO PY_PROTO_FROM_SCHEMA) + } + + module PY3_PROTO_FROM_SCHEMA: _PY3_PROTO { + .PEERDIRSELF=CPP_PROTO_FROM_SCHEMA + DISABLE(START_TARGET) + SET_APPEND(PEERDIR_TAGS PY3_PROTO PY3_PROTO_FROM_SCHEMA) + } + + module GO_PROTO_FROM_SCHEMA: _GO_PROTO { + DISABLE(START_TARGET) + SET_APPEND(PEERDIR_TAGS GO_PROTO GO_PROTO_FROM_SCHEMA) + } + + module TS_PROTO_FROM_SCHEMA: _TS_PROTO { + # opt-in. We don't want to have TS_PROTO by default + # To include TS_PROTO user have to set INCLUDE_TAGS(TS_PROTO TS_PREPARE_DEPS) in ya.make + .INCLUDE_TAG=no + .PEERDIRSELF=TS_PREPARE_DEPS_FROM_SCHEMA + .EPILOGUE=_TS_CONFIG_EPILOGUE + DISABLE(START_TARGET) + SET_APPEND(PEERDIR_TAGS TS_PROTO TS_PROTO_FROM_SCHEMA) + } + + module TS_PREPARE_DEPS_FROM_SCHEMA: _TS_PREPARE_DEPS { + .INCLUDE_TAG=no + DISABLE(START_TARGET) + SET_APPEND(PEERDIR_TAGS TS_PREPARE_DEPS TS_PREPARE_DEPS_FROM_SCHEMA) + } + + module DESC_PROTO_FROM_SCHEMA: _DESC_PROTO { + DISABLE(START_TARGET) + SET_APPEND(PEERDIR_TAGS DESC_PROTO DESC_PROTO_FROM_SCHEMA) + } + + module PROTO_DESCRIPTIONS_: PROTO_DESCRIPTIONS { + .PEERDIRSELF=DESC_PROTO_FROM_SCHEMA + .FINAL_TARGET=yes + SET_APPEND(PEERDIR_TAGS DESC_PROTO_FROM_SCHEMA) + } +} + macro EVLOG_CMD(SRC) { .CMD=$_EVLOG_CMDLINE .SEM=$_EVLOG_CMDLINE diff --git a/build/conf/python.conf b/build/conf/python.conf index 7ef32eb719..34786b2c53 100644 --- a/build/conf/python.conf +++ b/build/conf/python.conf @@ -559,7 +559,7 @@ module _PY_PACKAGE: UNION { .ALLOWED=GRPC USE_SKIFF .IGNORED=GENERATE_ENUM_SERIALIZATION GENERATE_ENUM_SERIALIZATION_WITH_HEADER ENABLE(PY_PROTOS_FOR) - SET(PEERDIR_TAGS PY_PROTO) + SET(PEERDIR_TAGS PY_PROTO PY_PROTO_FROM_SCHEMA) SET(DONT_RESOLVE_INCLUDES no) } @@ -833,7 +833,7 @@ macro NO_PYTHON_INCLUDES() { macro PYTHON2_ADDINCL() { _PYTHON_ADDINCL() SET(MODULE_TAG PY2_NATIVE) - SET(PEERDIR_TAGS CPP_PROTO CPP_FBS CPP_ROS PY2_NATIVE YQL_UDF_STATIC __EMPTY__ RESOURCE_LIB DLL_LIB) + SET(PEERDIR_TAGS CPP_PROTO CPP_PROTO_FROM_SCHEMA CPP_FBS CPP_ROS PY2_NATIVE YQL_UDF_STATIC __EMPTY__ RESOURCE_LIB DLL_LIB) } # tag:python-specific tag:internal @@ -842,7 +842,7 @@ macro PYTHON2_ADDINCL() { macro _ARCADIA_PYTHON_ADDINCL() { _PYTHON_ADDINCL() SET(MODULE_TAG PY2) - SET(PEERDIR_TAGS PY2 PY2_NATIVE PY_PROTO PY2_FBS YQL_UDF_STATIC __EMPTY__ RESOURCE_LIB DLL_LIB) + SET(PEERDIR_TAGS PY2 PY2_NATIVE PY_PROTO PY_PROTO_FROM_SCHEMA PY2_FBS YQL_UDF_STATIC __EMPTY__ RESOURCE_LIB DLL_LIB) } # tag:python-specific tag:internal @@ -881,7 +881,7 @@ macro _PYTHON_ADDINCL() { macro PYTHON3_ADDINCL() { _PYTHON3_ADDINCL() SET(MODULE_TAG PY3_NATIVE) - SET(PEERDIR_TAGS CPP_PROTO CPP_FBS CPP_ROS PY3_NATIVE YQL_UDF_STATIC __EMPTY__ RESOURCE_LIB DLL_LIB) + SET(PEERDIR_TAGS CPP_PROTO CPP_PROTO_FROM_SCHEMA CPP_FBS CPP_ROS PY3_NATIVE YQL_UDF_STATIC __EMPTY__ RESOURCE_LIB DLL_LIB) } # tag:python-specific tag:internal @@ -891,7 +891,7 @@ macro PYTHON3_ADDINCL() { macro _ARCADIA_PYTHON3_ADDINCL() { _PYTHON3_ADDINCL() SET(MODULE_TAG PY3) - SET(PEERDIR_TAGS PY3 PY3_BIN_LIB PY3TEST_LIBRARY PY3_NATIVE PY3_PROTO PY3_FBS YQL_UDF_STATIC __EMPTY__ RESOURCE_LIB DLL_LIB) + SET(PEERDIR_TAGS PY3 PY3_BIN_LIB PY3TEST_LIBRARY PY3_NATIVE PY3_PROTO PY3_PROTO_FROM_SCHEMA PY3_FBS PY3_ROS YQL_UDF_STATIC __EMPTY__ RESOURCE_LIB DLL_LIB) } # tag:python-specific tag:internal @@ -929,7 +929,7 @@ macro _PYTHON3_ADDINCL() { ### @see: [PY2_LIBRARY](#module_PY2_LIBRARY), [PY3_LIBRARY](#module_PY3_LIBRARY), [PY23_LIBRARY](#multimodule_PY23_LIBRARY) macro USE_PYTHON2() { _ARCADIA_PYTHON_ADDINCL() - SET(PEERDIR_TAGS PY2 PY2_NATIVE CPP_PROTO CPP_FBS CPP_ROS YQL_UDF_STATIC __EMPTY__ RESOURCE_LIB DLL_LIB) + SET(PEERDIR_TAGS PY2 PY2_NATIVE CPP_PROTO CPP_PROTO_FROM_SCHEMA CPP_FBS CPP_ROS YQL_UDF_STATIC __EMPTY__ RESOURCE_LIB DLL_LIB) PEERDIR(contrib/libs/python) } @@ -946,7 +946,7 @@ macro USE_PYTHON2() { ### @see: [PY2_LIBRARY](#module_PY2_LIBRARY), [PY3_LIBRARY](#module_PY3_LIBRARY), [PY23_LIBRARY](#multimodule_PY23_LIBRARY) macro USE_PYTHON3() { _ARCADIA_PYTHON3_ADDINCL() - SET(PEERDIR_TAGS PY3 PY3_BIN_LIB PY3TEST_LIBRARY PY3_NATIVE CPP_PROTO CPP_FBS CPP_ROS YQL_UDF_STATIC __EMPTY__ RESOURCE_LIB DLL_LIB) + SET(PEERDIR_TAGS PY3 PY3_BIN_LIB PY3TEST_LIBRARY PY3_NATIVE CPP_PROTO CPP_PROTO_FROM_SCHEMA CPP_FBS CPP_ROS YQL_UDF_STATIC __EMPTY__ RESOURCE_LIB DLL_LIB) PEERDIR(contrib/libs/python) when ($USE_ARCADIA_PYTHON == "yes") { diff --git a/build/conf/ts/ts.conf b/build/conf/ts/ts.conf index 0fb8cba30d..f3149b3d3c 100644 --- a/build/conf/ts/ts.conf +++ b/build/conf/ts/ts.conf @@ -94,7 +94,7 @@ module _TS_BASE_UNIT: _BARE_UNIT { SET(MODULE_TAG TS) SET(MODULE_LANG TS) # TS should peer to TS - SET(PEERDIR_TAGS TS TS_PROTO) + SET(PEERDIR_TAGS TS TS_PROTO TS_PROTO_FROM_SCHEMA) # .fake tells builder to not materialize it in results SET(MODULE_SUFFIX .ts.fake) diff --git a/build/conf/ts/ts_test.conf b/build/conf/ts/ts_test.conf index be683c6ff1..c468139336 100644 --- a/build/conf/ts/ts_test.conf +++ b/build/conf/ts/ts_test.conf @@ -32,7 +32,7 @@ module TS_TEST_JEST_FOR: _TS_TEST_BASE { .CMD=TS_TEST_JEST_CMD # for multimodule peers we should choose NODE_MODULES - SET(PEERDIR_TAGS TS TS_PROTO) + SET(PEERDIR_TAGS TS TS_PROTO TS_PROTO_FROM_SCHEMA) # compatibility with old TS_TEST_SRCS SET(TS_TEST_EXTENSION test.(ts|tsx|js|jsx)) @@ -67,7 +67,7 @@ module TS_TEST_HERMIONE_FOR: _TS_TEST_BASE { .CMD=TS_TEST_HERMIONE_CMD # for multimodule peers we should choose TS - SET(PEERDIR_TAGS TS TS_PROTO) + SET(PEERDIR_TAGS TS TS_PROTO TS_PROTO_FROM_SCHEMA) # compatibility with old TS_TEST_SRCS SET(TS_TEST_EXTENSION hermione.(ts|js)) @@ -101,7 +101,7 @@ module TS_TEST_PLAYWRIGHT_FOR: _TS_TEST_BASE { .CMD=TS_TEST_PLAYWRIGHT_CMD # for multimodule peers we should choose TS - SET(PEERDIR_TAGS TS TS_PROTO) + SET(PEERDIR_TAGS TS TS_PROTO TS_PROTO_FROM_SCHEMA) # compatibility with old TS_TEST_SRCS SET(TS_TEST_EXTENSION (playwright|spec).(ts|js)) @@ -134,7 +134,7 @@ module TS_TEST_PLAYWRIGHT_LARGE_FOR: _TS_TEST_BASE { .CMD=TS_TEST_PLAYWRIGHT_LARGE_CMD # for multimodule peers we should choose TS - SET(PEERDIR_TAGS TS TS_PROTO) + SET(PEERDIR_TAGS TS TS_PROTO TS_PROTO_FROM_SCHEMA) # compatibility with old TS_TEST_SRCS SET(TS_TEST_EXTENSION (playwright|spec).(ts|js)) diff --git a/build/export_generators/gradle/generator.toml b/build/export_generators/gradle/generator.toml index 64f1d2e192..bccc600a73 100644 --- a/build/export_generators/gradle/generator.toml +++ b/build/export_generators/gradle/generator.toml @@ -17,14 +17,16 @@ template="build.gradle.kts.jinja" template={ path="build.gradle.kts.proto.jinja", dest="build.gradle.kts" } [attrs.target] +# DEPRECATED +annotation_processors="list" + required_jdk="str" add_vcs_info_to_mf="bool" junit4_test="flag" junit5_test="flag" app_main_class="str" enable_preview="flag" -annotation_processors="list" -use_annotation_processor="str" +use_annotation_processor="list" publish="flag" publish_group="str" diff --git a/build/export_generators/ide-gradle/build.gradle.kts.jinja b/build/export_generators/ide-gradle/build.gradle.kts.jinja index 5900458fe8..46bcd4cefd 100644 --- a/build/export_generators/ide-gradle/build.gradle.kts.jinja +++ b/build/export_generators/ide-gradle/build.gradle.kts.jinja @@ -4,12 +4,39 @@ subprojects { buildDir = file(baseBuildDir + project.path.replaceFirst(":", "/").replace(":", ".")) } -{% set mainClass = target.app_main_class -%} +{%- macro OutDirs(runs, prefix, suffix) -%} +{%- if run.args|length and run.out_dir|length -%} +{%- for out_dir in run.out_dir -%} +{#- search all run arguments ended by /<out_dir> -#} +{%- set out_dirs = select_by_ends(run.args, "/" + out_dir) -%} +{%- if out_dirs|length %} +{{ prefix }}{{ out_dirs|first }}{{ suffix }} +{%- endif -%} +{%- endfor -%} +{%- endif -%} +{%- endmacro %} + +{%- set mainClass = target.app_main_class -%} {%- set publish = target.publish -%} {%- set with_kotlin = target.with_kotlin -%} {%- set kotlin_version = target.kotlin_version -%} {%- set hasJunit5Test = extra_targets|selectattr('junit5_test') -%} {%- set errorprone_plugin_version = "4.0.0" -%} + +{%- if not target.required_jdk -%} +{%- set has_required_jdk = false -%} +{#- If no required JDK, set default JDK for Kotlin parts -#} +{%- set required_jdk = '17' -%} +{%- else -%} +{%- set has_required_jdk = true -%} +{#- Use JDK 23 instead 22 -#} +{%- if target.required_jdk == '22' -%} +{%- set required_jdk = '23' -%} +{%- else -%} +{%- set required_jdk = target.required_jdk -%} +{%- endif -%} +{%- endif %} + plugins { {#- some plugins configuration -#} {%- for library in target.consumer if library.classpath -%} @@ -20,8 +47,10 @@ plugins { {%- endif -%} {%- endfor -%} + {#- lombok configuration -#} -{%- if "lombok.launch.AnnotationProcessorHider$AnnotationProcessor" in target.annotation_processors %} +{#- TODO remove usings annotation_processors semantic -#} +{%- if ("lombok.launch.AnnotationProcessorHider$AnnotationProcessor" in target.annotation_processors) or (target.use_annotation_processor|length and target.use_annotation_processor|select('startsWith', 'contrib/java/org/projectlombok/lombok')|length) %} id("io.freefair.lombok") version "8.6" {%- endif -%} {%- if mainClass %} @@ -49,14 +78,17 @@ plugins { {% endif -%} {%- endif %} } + {#- language level -#} -{%- if target.required_jdk is defined and target.required_jdk|length %} +{%- if has_required_jdk %} + java { toolchain { - languageVersion = JavaLanguageVersion.of("{{ target.required_jdk }}") + languageVersion = JavaLanguageVersion.of("{{ required_jdk }}") } } {% endif -%} + {%- if target.with_kotlinc_plugin_allopen|length -%} {%- set allopen_annotations = [] -%} {%- if target.with_kotlinc_plugin_allopen|select('eq', 'preset=spring')|length -%} @@ -118,27 +150,28 @@ noArg { {%- if with_kotlin %} kotlin { - jvmToolchain({%- if target.required_jdk -%}{{ target.required_jdk }}{%- else -%}17{%- endif -%}) + jvmToolchain({{ required_jdk }}) } {% endif -%} + {%- if publish %} group = "{{ target.publish_group }}" version = {% if target.publish_version and target.publish_version != "no" -%}"{{ target.publish_version }}"{%- else -%}project.properties["version"]!!{%- endif %} -{% endif %} +{% endif -%} + +{%- if target.enable_preview %} -{% if target.enable_preview %} tasks.withType<JavaCompile> { options.compilerArgs.add("--enable-preview") - options.compilerArgs.add("-Xlint:preview") - options.release.set({%- if target.required_jdk -%}{{ target.required_jdk }}{%- else -%}17{%- endif -%}) + options.release.set({{ required_jdk }}) } - tasks.withType<JavaExec> { jvmArgs?.add("--enable-preview") - } +} + tasks.withType<Test> { jvmArgs?.add("--enable-preview") environment["JAVA_TOOL_OPTIONS"] = "--enable-preview" @@ -146,21 +179,22 @@ tasks.withType<Test> { tasks.withType<Javadoc> { val javadocOptions = options as CoreJavadocOptions - javadocOptions.addStringOption("source", "{%- if target.required_jdk -%}{{ target.required_jdk }}{%- else -%}17{%- endif -%}") + javadocOptions.addStringOption("source", "{{ required_jdk }}") javadocOptions.addBooleanOption("-enable-preview", true) } -{% endif %} +{% endif -%} {#- javac flags -#} -{%- if (target.javac.flags is defined) and (target.javac.flags|length) %} +{%- if target.javac.flags|length -%} +{%- set javac_flags = target.javac.flags|reject('startsWith', '-Xep:') -%} +{%- if javac_flags|length %} + tasks.withType<JavaCompile> { -{%- for javac_flag in target.javac.flags %} -{%- if '-Xep:' in javac_flag %} -{% else %} +{%- for javac_flag in javac_flags %} options.compilerArgs.add("{{ javac_flag }}") -{%- endif %} -{%- endfor %} +{%- endfor %} } +{%- endif -%} {%- endif %} val bucketUsername: String by project @@ -202,7 +236,8 @@ configurations.testImplementation { isTransitive = false } -{% if has_test -%} +{%- if has_test %} + val testsJar by tasks.registering(Jar::class) { dependsOn(JavaPlugin.COMPILE_TEST_JAVA_TASK_NAME) archiveClassifier.set("tests") @@ -217,27 +252,49 @@ tasks.test { events("passed", "skipped", "failed") } } - {% endif -%} -{%- if target.jar_source_set is defined -%} +{%- if target.jar_source_set is defined %} + {%- for source_set in target.jar_source_set -%} -{%- set srcdir_glob = split(source_set, ':') -%} +{%- set srcdir_glob = split(source_set, ':') %} sourceSets.main.java.srcDirs += "{{ srcdir_glob[0] }}" -{% endfor -%} +{%- endfor -%} {%- endif -%} {% for extra_target in extra_targets -%} {%- if extra_target.jar_source_set is defined -%} {%- for source_set in extra_target.jar_source_set -%} -{%- set srcdir_glob = split(source_set, ':') -%} +{%- set srcdir_glob = split(source_set, ':') %} sourceSets.main.java.srcDirs += "{{ srcdir_glob[0] }}" -{% endfor -%} +{%- endfor -%} {%- endif -%} {%- endfor -%} sourceSets { - val test by getting { + main { + {#- + Default by Gradle: + + java.srcDir("src/main/java") + resources.srcDir("src/main/resources") + + #} +{%- if target.runs|length -%} +{%- for run in target.runs -%} +{{ OutDirs(run, ' java.srcDir("', '")') }} +{%- endfor -%} +{%- endif %} + } + + test { + {#- + Default by Gradle: + + java.srcDir("src/test/java") + resources.srcDir("src/test/resources") + + #} java.srcDir("ut/java") resources.srcDir("ut/resources") java.srcDir("src/test-integration/java") @@ -246,6 +303,13 @@ sourceSets { resources.srcDir("src/testFixtures/resources") java.srcDir("src/intTest/java") resources.srcDir("src/intTest/resources") +{%- for extra_target in extra_targets -%} +{%- if extra_target|length -%} +{%- for run in extra_target.runs -%} +{{ OutDirs(run, ' java.srcDir("', '")') }} +{%- endfor -%} +{%- endif -%} +{%- endfor %} } } @@ -255,10 +319,8 @@ dependencies { {%- if library.prebuilt and library.jar and (library.type != "contrib" or build_contribs) and "contrib/java/com/google/errorprone/error_prone_annotations" in library.jar -%} {% set errorprone_version = library.jar -%} {% set errorprone_parts = errorprone_version|replace("contrib/java/com/google/errorprone/error_prone_annotations/") -%} -{% set errorprone_parts = split(errorprone_parts, '/') -%} - +{% set errorprone_parts = split(errorprone_parts, '/') %} errorprone("com.google.errorprone:error_prone_core:{{ errorprone_parts[0] }}") - {%- endif -%} {%- if library.prebuilt and library.jar and (library.type != "contrib" or build_contribs) %} @@ -279,8 +341,8 @@ dependencies { {%- endif -%} {%- if library.excludes.consumer is defined %} { {% for exclude in library.excludes.consumer if exclude.classpath -%} -{% set classpath = exclude.classpath|replace('"','') -%} -{% set classpath_parts = split(classpath, ':') -%} +{%- set classpath = exclude.classpath|replace('"','') -%} +{%- set classpath_parts = split(classpath, ':') -%} exclude(group = "{{ classpath_parts[0] }}", module = "{{ classpath_parts[1] }}") {% endfor -%} } @@ -288,6 +350,10 @@ dependencies { {%- endif -%} {%- endfor -%} +{%- for annotation_processor in target.use_annotation_processor %} + annotationProcessor(files("$project_root/{{ annotation_processor}}")) +{%- endfor -%} + {%- for extra_target in extra_targets -%} {%- for library in extra_target.consumer if library.classpath -%} {%- if library.prebuilt and library.jar and (library.type != "contrib" or build_contribs) %} @@ -304,88 +370,81 @@ dependencies { {%- endif -%} {%- if library.excludes.consumer is defined %} { {% for exclude in library.excludes.consumer if exclude.classpath -%} -{% set classpath = exclude.classpath|replace('"','') -%} -{% set classpath_parts = split(classpath, ':') -%} +{%- set classpath = exclude.classpath|replace('"','') -%} +{%- set classpath_parts = split(classpath, ':') -%} exclude(group = "{{ classpath_parts[0] }}", module = "{{ classpath_parts[1] }}") {% endfor -%} } {%- endif -%} {%- endif -%} {%- endfor -%} +{%- for annotation_processor in extra_target.use_annotation_processor %} + testAnnotationProcessor(files("$project_root/{{ annotation_processor}}")) +{%- endfor -%} {%- endfor %} } -{% if hasJunit5Test -%} +{%- if hasJunit5Test %} + tasks.named<Test>("test") { useJUnitPlatform() } - {% endif -%} {#- run_java_program -#} -{#- {% set runs = targets|selectattr("runs") -%} -#} -{%- set runs = target.runs -%} -{%- if runs -%} -{%- for run in runs -%} +{%- if target.runs|length -%} +{%- for run in target.runs %} val runJav{{ loop.index }} = task<JavaExec>("runJavaProgram{{ loop.index }}") { - group = "build" - description = "Code generation by run java program" - - mainClass.set("{{ run.args[0] }}") -{% if run.classpath -%} + group = "build" + description = "Code generation by run java program" +{%- if run.classpath|length %} {% for classpath in run.classpath -%} -{% set real_classpath = classpath|replace('@', '') -%} -{% set real_classpath = real_classpath|replace('.run.cp', '') -%} -{% set real_classpath = real_classpath|replace('.cplst', '') -%} -{% set real_classpath = real_classpath|replace(export_root, '')|replace(arcadia_root, '') -%} -{% set real_gradle_classpath = real_classpath|replace('/', ':') %} - val classPath = "{{ real_gradle_classpath }}" - val classPathParts = classPath.split(":") - classPathParts[classPathParts.size - 2] - classpath = files("$project_root{{ real_classpath }}") + project(classPath.replace(":${classPathParts[classPathParts.size - 2]}.jar", "")).configurations.runtimeClasspath.get() -{% endfor -%} -{% else -%} - classpath = sourceSets.main.get().runtimeClasspath +{%- set rel_file_classpath = classpath|replace('@', '')|replace(export_root, '')|replace(arcadia_root, '') %} + val classpaths = "$project_root/" + File("$project_root{{ rel_file_classpath }}").readText().trim().replace(":", ":$project_root/") + classpath = files(classpaths.split(":")) +{%- endfor -%} +{% else %} + classpath = sourceSets.main.get().runtimeClasspath +{%- endif %} + + mainClass.set("{{ run.args[0] }}") +{%- if run.args|length > 1 %} + + args = listOf( +{%- for arg in run.args -%} +{%- if not loop.first %} + "{{ arg }}", +{%- endif -%} +{%- endfor %} + ) {% endif -%} -{% set args = run.args -%} -{% if args -%} - val argsList = mutableListOf( -{% for arg in args -%} - "{{ arg }}", -{% endfor -%} - ) - argsList.removeAt(0) - args = argsList -{% endif -%} -{% if run.in_dir -%} -{% for dir in run.in_dir -%} - inputs.files(fileTree("{{ dir }}")) -{% endfor -%} -{% endif -%} -{% if run.in -%} -{% for file in run.in -%} - inputs.files("{{ file }}") + +{%- if run.in_dir %} +{% for in_dir in run.in_dir -%} + inputs.files(fileTree("{{ in_dir }}")) {% endfor -%} -{% endif -%} -{% if run.out_dir -%} -{% for dir in run.out_dir -%} - outputs.dir("{{ dir }}") +{%- endif -%} +{%- if run.in %} +{% for in_file in run.in -%} + inputs.files("{{ in_file }}") {% endfor -%} -{#- +{%- endif -%} + +{{ OutDirs(run, ' outputs.dir("', '")') }} +{# Не использованы аттрибуты run-cwd="str" run-in_dirs_inputs="list" run-in_noparse="list" - run-out_dir="list" run-tool="list" -#} -{%- endif -%} - } -tasks { - build { - dependsOn(runJav{{ loop.index }}) - } +} + +tasks.getByName("sourcesJar").dependsOn(runJav{{ loop.index }}) + +tasks.compileJava.configure { + dependsOn(runJav{{ loop.index }}) } {% endfor -%} {% endif -%} @@ -394,7 +453,8 @@ tasks { {% if publish -%} {% include 'publish.gradle.kts' ignore missing -%} {% endif -%} -{# To disable redundant javadoc (it may fail the build) #} +{#- To disable redundant javadoc (it may fail the build) #} + tasks.withType<Javadoc>().configureEach { isEnabled = false } diff --git a/build/export_generators/ide-gradle/build.gradle.kts.proto.jinja b/build/export_generators/ide-gradle/build.gradle.kts.proto.jinja index 7e0e0c1990..9b7b71f743 100644 --- a/build/export_generators/ide-gradle/build.gradle.kts.proto.jinja +++ b/build/export_generators/ide-gradle/build.gradle.kts.proto.jinja @@ -94,11 +94,11 @@ dependencies { {%- endif -%} {%- endfor %} -{% if target.proto_namespace -%} +{%- if target.proto_namespace %} protobuf(files(File(buildProtoDir, "{{ target.proto_namespace }}"))) -{% else -%} +{%- else %} protobuf(files(buildProtoDir)) -{% endif -%} +{%- endif %} } protobuf { @@ -158,9 +158,8 @@ afterEvaluate { tasks.getByName("extractProto").dependsOn(prepareProto) } {# To avoid problems when build project with proto #} -tasks.named("sourcesJar").configure { - dependsOn("generateProto") -} +tasks.getByName("sourcesJar").dependsOn("generateProto") + {# To disable redundant javadoc (it may fail the build) #} tasks.withType<Javadoc>().configureEach { isEnabled = false diff --git a/build/export_generators/ide-gradle/generator.toml b/build/export_generators/ide-gradle/generator.toml index 764441cbbb..4bd8f5947f 100644 --- a/build/export_generators/ide-gradle/generator.toml +++ b/build/export_generators/ide-gradle/generator.toml @@ -20,6 +20,9 @@ template="build.gradle.kts.jinja" template={ path="build.gradle.kts.proto.jinja", dest="build.gradle.kts" } [attrs.target] +# DEPRECATED +annotation_processors="list" + required_jdk="str" add_vcs_info_to_mf="bool" junit4_test="flag" @@ -27,8 +30,7 @@ junit5_test="flag" app_main_class="str" jar_source_set="list" enable_preview="flag" -annotation_processors="list" -use_annotation_processor="str" +use_annotation_processor="list" publish="flag" publish_group="str" diff --git a/build/export_generators/ide-gradle/settings.gradle.kts.jinja b/build/export_generators/ide-gradle/settings.gradle.kts.jinja index a71aefe4f4..74a19ccc62 100644 --- a/build/export_generators/ide-gradle/settings.gradle.kts.jinja +++ b/build/export_generators/ide-gradle/settings.gradle.kts.jinja @@ -1,9 +1,11 @@ rootProject.name = "{{ project_name }}" -{% for subdir in subdirs -%} -{%- set classname = subdir | replace("/", ":") -%} +{% if subdirs|length > 1 -%} +{%- for subdir in subdirs -%} +{%- set classname = subdir | replace("/", ":") %} include(":{{ classname }}") project(":{{ classname }}").projectDir = file("{{ arcadia_root }}/{{ subdir }}") -{% endfor -%} +{% endfor -%} +{%- endif -%} {%- include "[generator]/debug.jinja" ignore missing -%} diff --git a/build/external_resources/ymake/public.resources.json b/build/external_resources/ymake/public.resources.json index 549b847883..2dc4559b01 100644 --- a/build/external_resources/ymake/public.resources.json +++ b/build/external_resources/ymake/public.resources.json @@ -1,19 +1,19 @@ { "by_platform": { "darwin": { - "uri": "sbr:7448914799" + "uri": "sbr:7478218557" }, "darwin-arm64": { - "uri": "sbr:7448913101" + "uri": "sbr:7478218228" }, "linux": { - "uri": "sbr:7448917907" + "uri": "sbr:7478219259" }, "linux-aarch64": { - "uri": "sbr:7448911598" + "uri": "sbr:7478218007" }, "win32-clang-cl": { - "uri": "sbr:7448916360" + "uri": "sbr:7478218861" } } } diff --git a/build/external_resources/ymake/resources.json b/build/external_resources/ymake/resources.json index 69347b7259..963d112b2f 100644 --- a/build/external_resources/ymake/resources.json +++ b/build/external_resources/ymake/resources.json @@ -1,19 +1,19 @@ { "by_platform": { "darwin": { - "uri": "sbr:7448934371" + "uri": "sbr:7478217383" }, "darwin-arm64": { - "uri": "sbr:7448932013" + "uri": "sbr:7478216869" }, "linux": { - "uri": "sbr:7448940645" + "uri": "sbr:7478218277" }, "linux-aarch64": { - "uri": "sbr:7448930170" + "uri": "sbr:7478216503" }, "win32-clang-cl": { - "uri": "sbr:7448936966" + "uri": "sbr:7478218014" } } } diff --git a/build/mapping.conf.json b/build/mapping.conf.json index 9b007796f9..7c3df72802 100644 --- a/build/mapping.conf.json +++ b/build/mapping.conf.json @@ -441,6 +441,8 @@ "7394624673": "https://devtools-registry.s3.yandex.net/7394624673", "7434961084": "https://devtools-registry.s3.yandex.net/7434961084", "7434972788": "https://devtools-registry.s3.yandex.net/7434972788", + "7480257071": "https://devtools-registry.s3.yandex.net/7480257071", + "7480276291": "https://devtools-registry.s3.yandex.net/7480276291", "5486731632": "https://devtools-registry.s3.yandex.net/5486731632", "5514350352": "https://devtools-registry.s3.yandex.net/5514350352", "5514360398": "https://devtools-registry.s3.yandex.net/5514360398", @@ -608,6 +610,7 @@ "7386587280": "https://devtools-registry.s3.yandex.net/7386587280", "7431156616": "https://devtools-registry.s3.yandex.net/7431156616", "7448914799": "https://devtools-registry.s3.yandex.net/7448914799", + "7478218557": "https://devtools-registry.s3.yandex.net/7478218557", "5766171800": "https://devtools-registry.s3.yandex.net/5766171800", "5805430761": "https://devtools-registry.s3.yandex.net/5805430761", "5829025456": "https://devtools-registry.s3.yandex.net/5829025456", @@ -659,6 +662,7 @@ "7386586845": "https://devtools-registry.s3.yandex.net/7386586845", "7431156019": "https://devtools-registry.s3.yandex.net/7431156019", "7448913101": "https://devtools-registry.s3.yandex.net/7448913101", + "7478218228": "https://devtools-registry.s3.yandex.net/7478218228", "5766173070": "https://devtools-registry.s3.yandex.net/5766173070", "5805432830": "https://devtools-registry.s3.yandex.net/5805432830", "5829031598": "https://devtools-registry.s3.yandex.net/5829031598", @@ -710,6 +714,7 @@ "7386588080": "https://devtools-registry.s3.yandex.net/7386588080", "7431157902": "https://devtools-registry.s3.yandex.net/7431157902", "7448917907": "https://devtools-registry.s3.yandex.net/7448917907", + "7478219259": "https://devtools-registry.s3.yandex.net/7478219259", "5766171341": "https://devtools-registry.s3.yandex.net/5766171341", "5805430188": "https://devtools-registry.s3.yandex.net/5805430188", "5829023352": "https://devtools-registry.s3.yandex.net/5829023352", @@ -761,6 +766,7 @@ "7386586293": "https://devtools-registry.s3.yandex.net/7386586293", "7431155222": "https://devtools-registry.s3.yandex.net/7431155222", "7448911598": "https://devtools-registry.s3.yandex.net/7448911598", + "7478218007": "https://devtools-registry.s3.yandex.net/7478218007", "5766172695": "https://devtools-registry.s3.yandex.net/5766172695", "5805432230": "https://devtools-registry.s3.yandex.net/5805432230", "5829029743": "https://devtools-registry.s3.yandex.net/5829029743", @@ -812,6 +818,7 @@ "7386587719": "https://devtools-registry.s3.yandex.net/7386587719", "7431157276": "https://devtools-registry.s3.yandex.net/7431157276", "7448916360": "https://devtools-registry.s3.yandex.net/7448916360", + "7478218861": "https://devtools-registry.s3.yandex.net/7478218861", "4307890075": "https://devtools-registry.s3.yandex.net/4307890075", "5517245192": "https://devtools-registry.s3.yandex.net/5517245192", "4307901240": "https://devtools-registry.s3.yandex.net/4307901240", @@ -901,8 +908,10 @@ "7324461836": "https://devtools-registry.s3.yandex.net/7324461836", "7193803465": "https://devtools-registry.s3.yandex.net/7193803465", "7324464594": "https://devtools-registry.s3.yandex.net/7324464594", + "7487656957": "https://devtools-registry.s3.yandex.net/7487656957", "7458707245": "https://devtools-registry.s3.yandex.net/7458707245", "7414146467": "https://devtools-registry.s3.yandex.net/7414146467", + "7487672728": "https://devtools-registry.s3.yandex.net/7487672728", "7442753753": "https://devtools-registry.s3.yandex.net/7442753753", "7406675906": "https://devtools-registry.s3.yandex.net/7406675906", "7442782962": "https://devtools-registry.s3.yandex.net/7442782962", @@ -916,6 +925,7 @@ "7414134699": "https://devtools-registry.s3.yandex.net/7414134699", "7414121829": "https://devtools-registry.s3.yandex.net/7414121829", "7442851482": "https://devtools-registry.s3.yandex.net/7442851482", + "7487632536": "https://devtools-registry.s3.yandex.net/7487632536", "3167009386": "https://devtools-registry.s3.yandex.net/3167009386", "3050798466": "https://devtools-registry.s3.yandex.net/3050798466", "3064614561": "https://devtools-registry.s3.yandex.net/3064614561", @@ -1472,6 +1482,8 @@ "7394624673": "devtools/ya/test/programs/test_tool/bin/test_tool for linux", "7434961084": "devtools/ya/test/programs/test_tool/bin/test_tool for linux", "7434972788": "devtools/ya/test/programs/test_tool/bin/test_tool for linux", + "7480257071": "devtools/ya/test/programs/test_tool/bin/test_tool for linux", + "7480276291": "devtools/ya/test/programs/test_tool/bin/test_tool for linux", "5486731632": "devtools/ya/test/programs/test_tool/bin3/test_tool3 for linux", "5514350352": "devtools/ya/test/programs/test_tool/bin3/test_tool3 for linux", "5514360398": "devtools/ya/test/programs/test_tool/bin3/test_tool3 for linux", @@ -1639,6 +1651,7 @@ "7386587280": "devtools/ymake/bin/ymake for darwin", "7431156616": "devtools/ymake/bin/ymake for darwin", "7448914799": "devtools/ymake/bin/ymake for darwin", + "7478218557": "devtools/ymake/bin/ymake for darwin", "5766171800": "devtools/ymake/bin/ymake for darwin-arm64", "5805430761": "devtools/ymake/bin/ymake for darwin-arm64", "5829025456": "devtools/ymake/bin/ymake for darwin-arm64", @@ -1690,6 +1703,7 @@ "7386586845": "devtools/ymake/bin/ymake for darwin-arm64", "7431156019": "devtools/ymake/bin/ymake for darwin-arm64", "7448913101": "devtools/ymake/bin/ymake for darwin-arm64", + "7478218228": "devtools/ymake/bin/ymake for darwin-arm64", "5766173070": "devtools/ymake/bin/ymake for linux", "5805432830": "devtools/ymake/bin/ymake for linux", "5829031598": "devtools/ymake/bin/ymake for linux", @@ -1741,6 +1755,7 @@ "7386588080": "devtools/ymake/bin/ymake for linux", "7431157902": "devtools/ymake/bin/ymake for linux", "7448917907": "devtools/ymake/bin/ymake for linux", + "7478219259": "devtools/ymake/bin/ymake for linux", "5766171341": "devtools/ymake/bin/ymake for linux-aarch64", "5805430188": "devtools/ymake/bin/ymake for linux-aarch64", "5829023352": "devtools/ymake/bin/ymake for linux-aarch64", @@ -1792,6 +1807,7 @@ "7386586293": "devtools/ymake/bin/ymake for linux-aarch64", "7431155222": "devtools/ymake/bin/ymake for linux-aarch64", "7448911598": "devtools/ymake/bin/ymake for linux-aarch64", + "7478218007": "devtools/ymake/bin/ymake for linux-aarch64", "5766172695": "devtools/ymake/bin/ymake for win32-clang-cl", "5805432230": "devtools/ymake/bin/ymake for win32-clang-cl", "5829029743": "devtools/ymake/bin/ymake for win32-clang-cl", @@ -1843,6 +1859,7 @@ "7386587719": "devtools/ymake/bin/ymake for win32-clang-cl", "7431157276": "devtools/ymake/bin/ymake for win32-clang-cl", "7448916360": "devtools/ymake/bin/ymake for win32-clang-cl", + "7478218861": "devtools/ymake/bin/ymake for win32-clang-cl", "4307890075": "flake8_linter for linux", "5517245192": "flake8_linter for linux", "4307901240": "flake8_linter for linux-aarch64", @@ -1932,8 +1949,10 @@ "7324461836": "none-none-none-service_resources/TASKLET_EXECUTABLE/backup/0541e185-8261-4b07-9149-257f03a9c8ae/yfm-docs.tar", "7193803465": "none-none-none-service_resources/TASKLET_EXECUTABLE/backup/17df2ad2-24bc-49e8-8909-b58685dac393/yfm-docs.tar", "7324464594": "none-none-none-service_resources/TASKLET_EXECUTABLE/backup/32cc8c74-decd-44a8-bc8c-f8f0d7edfffe/yfm-docs.tar", + "7487656957": "none-none-none-service_resources/TASKLET_EXECUTABLE/backup/4b747fb6-2d4e-4a7b-bbed-abb9a1e21761/yfm-docs.tar", "7458707245": "none-none-none-service_resources/TASKLET_EXECUTABLE/backup/4e7df89f-3762-4eba-ba73-562ccaeae548/yfm-docs.tar", "7414146467": "none-none-none-service_resources/TASKLET_EXECUTABLE/backup/66167d72-07fa-444c-8493-dea0a39d034e/yfm-docs.tar", + "7487672728": "none-none-none-service_resources/TASKLET_EXECUTABLE/backup/68c62602-dfe7-4bea-873f-cae85e13071f/yfm-docs.tar", "7442753753": "none-none-none-service_resources/TASKLET_EXECUTABLE/backup/68e622e9-832b-4a30-81c5-a38c80bb0776/yfm-docs.tar", "7406675906": "none-none-none-service_resources/TASKLET_EXECUTABLE/backup/6bba4fa0-ac5e-4a8a-89df-ce9e09573567/yfm-docs.tar", "7442782962": "none-none-none-service_resources/TASKLET_EXECUTABLE/backup/6c14a83e-0f36-4397-92ae-c7f2fc1c69ce/yfm-docs.tar", @@ -1947,6 +1966,7 @@ "7414134699": "none-none-none-service_resources/TASKLET_EXECUTABLE/backup/be080cb9-5ea7-467b-80f3-b86165baf8d3/yfm-docs.tar", "7414121829": "none-none-none-service_resources/TASKLET_EXECUTABLE/backup/c9f3052f-45b4-423b-8d09-fbe676105c06/yfm-docs.tar", "7442851482": "none-none-none-service_resources/TASKLET_EXECUTABLE/backup/dce499d7-32db-4d37-ae1a-a2704d21e9d8/yfm-docs.tar", + "7487632536": "none-none-none-service_resources/TASKLET_EXECUTABLE/backup/ddd81508-72a7-40c6-837f-cf87839642c8/yfm-docs.tar", "3167009386": "openjdk 11.0.15 vanilla for darwin", "3050798466": "openjdk 11.0.15 vanilla for darwin-arm64", "3064614561": "openjdk 11.0.15 vanilla for linux", diff --git a/build/platform/clang/clang-format/clang-format16.json b/build/platform/clang/clang-format/clang-format16.json new file mode 100644 index 0000000000..0f98362164 --- /dev/null +++ b/build/platform/clang/clang-format/clang-format16.json @@ -0,0 +1,19 @@ +{ + "by_platform": { + "darwin": { + "uri": "sbr:7402815718" + }, + "darwin-arm64": { + "uri": "sbr:7402814010" + }, + "linux": { + "uri": "sbr:7402818343" + }, + "linux-aarch64": { + "uri": "sbr:7402817039" + }, + "win32-clang-cl": { + "uri": "sbr:7402812744" + } + } +} diff --git a/build/platform/clang/clang-format/ya.make b/build/platform/clang/clang-format/ya.make new file mode 100644 index 0000000000..22a8e6e5c3 --- /dev/null +++ b/build/platform/clang/clang-format/ya.make @@ -0,0 +1,7 @@ +RESOURCES_LIBRARY() + +# Note: the json below is also referred from build/ya.conf.json, +# please change these references consistently +DECLARE_EXTERNAL_HOST_RESOURCES_BUNDLE_BY_JSON(CLANG_FORMAT clang-format16.json) + +END() diff --git a/build/platform/test_tool/host.ya.make.inc b/build/platform/test_tool/host.ya.make.inc index 71f2d099c2..f0c9109418 100644 --- a/build/platform/test_tool/host.ya.make.inc +++ b/build/platform/test_tool/host.ya.make.inc @@ -1,12 +1,12 @@ IF (HOST_OS_DARWIN AND HOST_ARCH_X86_64) - DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7434971818) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7480275076) ELSEIF (HOST_OS_DARWIN AND HOST_ARCH_ARM64) - DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7434971488) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7480274698) ELSEIF (HOST_OS_LINUX AND HOST_ARCH_X86_64) - DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7434972788) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7480276291) ELSEIF (HOST_OS_LINUX AND HOST_ARCH_AARCH64) - DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7434971144) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7480273938) ELSEIF (HOST_OS_WINDOWS AND HOST_ARCH_X86_64) - DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7434972214) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7480275651) ENDIF() diff --git a/build/platform/test_tool/host_os.ya.make.inc b/build/platform/test_tool/host_os.ya.make.inc index 84f018f84e..7428a8e346 100644 --- a/build/platform/test_tool/host_os.ya.make.inc +++ b/build/platform/test_tool/host_os.ya.make.inc @@ -1,12 +1,12 @@ IF (HOST_OS_DARWIN AND HOST_ARCH_X86_64) - DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7434960788) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7480256374) ELSEIF (HOST_OS_DARWIN AND HOST_ARCH_ARM64) - DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7434960498) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7480255951) ELSEIF (HOST_OS_LINUX AND HOST_ARCH_X86_64) - DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7434961084) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7480257071) ELSEIF (HOST_OS_LINUX AND HOST_ARCH_AARCH64) - DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7434960371) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7480255328) ELSEIF (HOST_OS_WINDOWS AND HOST_ARCH_X86_64) - DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7434960927) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7480256738) ENDIF() diff --git a/build/platform/yfm/ya.make b/build/platform/yfm/ya.make index a3d0d017de..5935d3b7f3 100644 --- a/build/platform/yfm/ya.make +++ b/build/platform/yfm/ya.make @@ -6,10 +6,10 @@ ENDIF() DECLARE_EXTERNAL_HOST_RESOURCES_BUNDLE( YFM_TOOL - sbr:7458616985 FOR DARWIN-ARM64 - sbr:7458616985 FOR DARWIN - sbr:7458630270 FOR LINUX - sbr:7458707245 FOR WIN32 + sbr:7487672728 FOR DARWIN-ARM64 + sbr:7487672728 FOR DARWIN + sbr:7487632536 FOR LINUX + sbr:7487656957 FOR WIN32 ) END() diff --git a/build/plugins/lib/test_const/__init__.py b/build/plugins/lib/test_const/__init__.py index 175900994f..9e4648d9b1 100644 --- a/build/plugins/lib/test_const/__init__.py +++ b/build/plugins/lib/test_const/__init__.py @@ -184,6 +184,7 @@ JSTYLE_RUNNER_LIB = 'JSTYLE_LIB_RESOURCE_GLOBAL' NODEJS_RESOURCE = 'NODEJS_RESOURCE_GLOBAL' NYC_RESOURCE = 'NYC_RESOURCE_GLOBAL' RUFF_RESOURCE = 'RUFF_RESOURCE_GLOBAL' +CLANG_FORMAT_RESOURCE = 'CLANG_FORMAT_RESOURCE_GLOBAL' # test_tool resource for host platform. # source - build/platform/test_tool/host.ya.make.inc. diff --git a/build/plugins/suppressions.py b/build/plugins/suppressions.py index db5037646d..a661e8a621 100644 --- a/build/plugins/suppressions.py +++ b/build/plugins/suppressions.py @@ -2,16 +2,17 @@ def onsuppressions(unit, *args): """ SUPPRESSIONS() - allows to specify files with suppression notation which will be used by address, leak or thread sanitizer runtime by default. - Use asan.supp filename for address sanitizer, lsan.supp for leak sanitizer - and tsan.supp for thread sanitizer suppressions respectively. + Use asan.supp filename for address sanitizer, lsan.supp for leak sanitizer, + ubsan.supp for undefined behavior sanitizer and tsan.supp for thread sanitizer + suppressions respectively. See https://clang.llvm.org/docs/AddressSanitizer.html#suppressing-memory-leaks for details. """ import os - valid = ("asan.supp", "tsan.supp", "lsan.supp") + valid = ("asan.supp", "tsan.supp", "lsan.supp", "ubsan.supp") - if unit.get("SANITIZER_TYPE") in ("leak", "address", "thread"): + if unit.get("SANITIZER_TYPE") in ("leak", "address", "thread", "undefined"): for x in args: if os.path.basename(x) not in valid: unit.message( diff --git a/build/scripts/ya.make b/build/scripts/ya.make index 69019661e5..d278ca6846 100644 --- a/build/scripts/ya.make +++ b/build/scripts/ya.make @@ -134,7 +134,6 @@ ELSEIF (PY3) with_coverage.py with_kapt_args.py with_pathsep_resolve.py - wrap_groovyc.py wrapcc.py wrapper.py write_file_size.py diff --git a/build/sysincl/stl-to-libcxx.yml b/build/sysincl/stl-to-libcxx.yml index 7bc9d01e96..4c2db3e0f5 100644 --- a/build/sysincl/stl-to-libcxx.yml +++ b/build/sysincl/stl-to-libcxx.yml @@ -16,10 +16,8 @@ - fenv.h: contrib/libs/cxxsupp/libcxx/include/fenv.h - float.h: contrib/libs/cxxsupp/libcxx/include/float.h - inttypes.h: contrib/libs/cxxsupp/libcxx/include/inttypes.h - - limits.h: contrib/libs/cxxsupp/libcxx/include/limits.h - locale.h: contrib/libs/cxxsupp/libcxx/include/locale.h - math.h: contrib/libs/cxxsupp/libcxx/include/math.h - - setjmp.h: contrib/libs/cxxsupp/libcxx/include/setjmp.h - stdatomic.h: contrib/libs/cxxsupp/libcxx/include/stdatomic.h - stdbool.h: contrib/libs/cxxsupp/libcxx/include/stdbool.h - stddef.h: contrib/libs/cxxsupp/libcxx/include/stddef.h @@ -1021,6 +1019,7 @@ - __utility/cmp.h: contrib/libs/cxxsupp/libcxx/include/__utility/cmp.h - __utility/convert_to_integral.h: contrib/libs/cxxsupp/libcxx/include/__utility/convert_to_integral.h - __utility/declval.h: contrib/libs/cxxsupp/libcxx/include/__utility/declval.h + - __utility/empty.h: contrib/libs/cxxsupp/libcxx/include/__utility/empty.h - __utility/exception_guard.h: contrib/libs/cxxsupp/libcxx/include/__utility/exception_guard.h - __utility/exchange.h: contrib/libs/cxxsupp/libcxx/include/__utility/exchange.h - __utility/forward.h: contrib/libs/cxxsupp/libcxx/include/__utility/forward.h @@ -1034,7 +1033,6 @@ - __utility/priority_tag.h: contrib/libs/cxxsupp/libcxx/include/__utility/priority_tag.h - __utility/rel_ops.h: contrib/libs/cxxsupp/libcxx/include/__utility/rel_ops.h - __utility/swap.h: contrib/libs/cxxsupp/libcxx/include/__utility/swap.h - - __utility/terminate_on_exception.h: contrib/libs/cxxsupp/libcxx/include/__utility/terminate_on_exception.h - __utility/to_underlying.h: contrib/libs/cxxsupp/libcxx/include/__utility/to_underlying.h - __utility/unreachable.h: contrib/libs/cxxsupp/libcxx/include/__utility/unreachable.h - __variant/monostate.h: contrib/libs/cxxsupp/libcxx/include/__variant/monostate.h diff --git a/build/ya.conf.json b/build/ya.conf.json index 86b45ab013..995c61a0fc 100644 --- a/build/ya.conf.json +++ b/build/ya.conf.json @@ -84,7 +84,7 @@ "clang-format" ] }, - "formula": "build/platform/clang/clang-format16.json" + "formula": "build/platform/clang/clang-format/clang-format16.json" }, "clang16": { "executable": { diff --git a/build/ymake.core.conf b/build/ymake.core.conf index 64ed9b78da..ac9fcd1593 100644 --- a/build/ymake.core.conf +++ b/build/ymake.core.conf @@ -589,7 +589,7 @@ module GEN_LIBRARY: _BARE_UNIT { module _BASE_UNIT: _BARE_UNIT { .GLOBAL=_FBS_NAMESPACE_MAP - PEERDIR_TAGS=CPP_PROTO CPP_FBS CPP_ROS H_IDL PY2 PY2_NATIVE YQL_UDF_STATIC __EMPTY__ RESOURCE_LIB DLL_LIB + PEERDIR_TAGS=CPP_PROTO CPP_PROTO_FROM_SCHEMA CPP_FBS CPP_ROS H_IDL PY2 PY2_NATIVE YQL_UDF_STATIC __EMPTY__ RESOURCE_LIB DLL_LIB _CPP_PROTO_WRAPPER_BASE=$YMAKE_PYTHON3 ${input:"build/scripts/cpp_proto_wrapper.py"} _CPP_PROTO_CMDLINE_BASE=${cwd;rootdir;input:File} $PROTOC -I=./$PROTO_NAMESPACE -I=$ARCADIA_ROOT/$PROTO_NAMESPACE ${pre=-I=:_PROTO__INCLUDE} -I=$ARCADIA_BUILD_ROOT -I=$PROTOBUF_INCLUDE_PATH --cpp_out=${CPP_PROTO_PLUGINS}$ARCADIA_BUILD_ROOT/$PROTO_NAMESPACE $_PROTOC_FLAGS $PROTOC_STYLEGUIDE_OUT $PROTOC_PLUGIN_STYLEGUIDE ${hide:PROTO_FAKEID} ${input;rootrel:File} @@ -2364,7 +2364,7 @@ multimodule PACKAGE { .USE_PEERS_LATE_OUTS=yes .PEERDIR_POLICY=as_build_from .FINAL_TARGET=yes - SET(PEERDIR_TAGS CPP_PROTO CPP_FBS PY2 PY3 PY2_NATIVE PY3_NATIVE YQL_UDF_SHARED __EMPTY__ RESOURCE_LIB DOCSBOOK JAR_RUNNABLE PY3_BIN PY3TEST_PROGRAM DLL GO_PROGRAM PACKAGE_UNION) + SET(PEERDIR_TAGS CPP_PROTO CPP_PROTO_FROM_SCHEMA CPP_FBS PY2 PY3 PY2_NATIVE PY3_NATIVE YQL_UDF_SHARED __EMPTY__ RESOURCE_LIB DOCSBOOK JAR_RUNNABLE PY3_BIN PY3TEST_PROGRAM DLL GO_PROGRAM PACKAGE_UNION) SET(MODULE_SUFFIX .final.pkg.fake) SET(DONT_RESOLVE_INCLUDES yes) @@ -2382,7 +2382,7 @@ multimodule PACKAGE { .IGNORED=VCS_INFO_FILE SET(MODULE_SUFFIX .pkg.fake) - SET(PEERDIR_TAGS CPP_PROTO CPP_FBS PY2 PY3 PY2_NATIVE PY3_NATIVE YQL_UDF_SHARED __EMPTY__ RESOURCE_LIB DOCSBOOK JAR_RUNNABLE PY3_BIN PY3TEST_PROGRAM DLL GO_PROGRAM PACKAGE_UNION) + SET(PEERDIR_TAGS CPP_PROTO CPP_PROTO_FROM_SCHEMA CPP_FBS PY2 PY3 PY2_NATIVE PY3_NATIVE YQL_UDF_SHARED __EMPTY__ RESOURCE_LIB DOCSBOOK JAR_RUNNABLE PY3_BIN PY3TEST_PROGRAM DLL GO_PROGRAM PACKAGE_UNION) DISABLE(START_TARGET) SET(_COPY_FILE_CONTEXT TEXT) @@ -2404,7 +2404,7 @@ module CI_GROUP: _BARE_UNIT { .RESTRICTED=SRCS .USE_PEERS_LATE_OUTS=yes MODULE_SUFFIX=.ci.pkg.fake - PEERDIR_TAGS=CPP_PROTO PY3 PY3_NATIVE PY3_BIN PY3TEST_PROGRAM YQL_UDF_SHARED __EMPTY__ RESOURCE_LIB DOCSBOOK JAR_RUNNABLE DLL PACKAGE_FINAL + PEERDIR_TAGS=CPP_PROTO CPP_PROTO_FROM_SCHEMA PY3 PY3_NATIVE PY3_BIN PY3TEST_PROGRAM YQL_UDF_SHARED __EMPTY__ RESOURCE_LIB DOCSBOOK JAR_RUNNABLE DLL PACKAGE_FINAL } # tag:generic tag:internal @@ -2429,7 +2429,7 @@ module UNION: _BASE_UNIT { SET(MODULE_SUFFIX .pkg.fake) SET(DONT_RESOLVE_INCLUDES yes) SET(NEED_PLATFORM_PEERDIRS no) - PEERDIR_TAGS=CPP_PROTO CPP_FBS PY2 PY2_NATIVE PY3_NATIVE YQL_UDF_SHARED __EMPTY__ RESOURCE_LIB DOCSBOOK JAR_RUNNABLE PY3_BIN DLL PACKAGE_UNION + PEERDIR_TAGS=CPP_PROTO CPP_PROTO_FROM_SCHEMA CPP_FBS PY2 PY2_NATIVE PY3_NATIVE YQL_UDF_SHARED __EMPTY__ RESOURCE_LIB DOCSBOOK JAR_RUNNABLE PY3_BIN DLL PACKAGE_UNION UNION_OUTS=${hide;late_out:AUTO_INPUT} when ($_UNION_EXPLICIT_OUTPUTS) { @@ -5839,7 +5839,7 @@ macro YA_CONF_JSON(File) { ### ### Proxy. Don't use. Call _ADD_CPP_LINTER_CHECK directly if you need a new macro, see STYLE_CPP macro _STYLE_CPP(CONFIG...) { - _ADD_CPP_LINTER_CHECK(NAME clang_format LINTER tools/cpp_style_checker/cpp_style_checker DEPENDS contrib/libs/clang16/tools/clang-format CONFIGS $CPP_LINTERS_DEFAULT_CONFIGS CUSTOM_CONFIG $CONFIG) + _ADD_CPP_LINTER_CHECK(NAME clang_format LINTER tools/cpp_style_checker/cpp_style_checker GLOBAL_RESOURCES build/platform/clang/clang-format CONFIGS $CPP_LINTERS_DEFAULT_CONFIGS CUSTOM_CONFIG $CONFIG) } # tag:internal @@ -5858,7 +5858,7 @@ macro _ADD_CPP_LINTER_CHECK(Args...) { ### Run 'ya tool clang-format' test on all cpp sources and headers of the current module macro STYLE_CPP() { .ALLOWED_IN_COMMON=yes - _ADD_CPP_LINTER_CHECK(NAME clang_format LINTER tools/cpp_style_checker/cpp_style_checker DEPENDS contrib/libs/clang16/tools/clang-format CONFIGS $CPP_LINTERS_DEFAULT_CONFIGS) + _ADD_CPP_LINTER_CHECK(NAME clang_format LINTER tools/cpp_style_checker/cpp_style_checker GLOBAL_RESOURCES build/platform/clang/clang-format CONFIGS $CPP_LINTERS_DEFAULT_CONFIGS) } ### @usage: HEADERS(<Dirs...> [EXCLUDE patterns...]) diff --git a/build/ymake_conf.py b/build/ymake_conf.py index 40bc8cec59..771c2b2902 100755 --- a/build/ymake_conf.py +++ b/build/ymake_conf.py @@ -2082,11 +2082,10 @@ class MSVCCompiler(MSVC, Compiler): elif target.is_x86_64: flags.append('-m64') - c_warnings.extend(( - '-Wno-format', + c_warnings += [ '-Wno-parentheses', '-Wno-unknown-warning-option', - )) + ] cxx_warnings += [ '-Wimport-preprocessor-directive-pedantic', |