aboutsummaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authorMaxim Yurchuk <maxim-yurchuk@ydb.tech>2024-11-20 17:37:57 +0000
committerGitHub <noreply@github.com>2024-11-20 17:37:57 +0000
commitf76323e9b295c15751e51e3443aa47a36bee8023 (patch)
tree4113c8cad473a33e0f746966e0cf087252fa1d7a /build
parent753ecb8d410a4cb459c26f3a0082fb2d1724fe63 (diff)
parenta7b9a6afea2a9d7a7bfac4c5eb4c1a8e60adb9e6 (diff)
downloadydb-f76323e9b295c15751e51e3443aa47a36bee8023.tar.gz
Merge pull request #11788 from ydb-platform/mergelibs-241120-1113
Library import 241120-1113
Diffstat (limited to 'build')
-rw-r--r--build/conf/go.conf12
-rw-r--r--build/conf/java.conf38
-rw-r--r--build/conf/project_specific/yql_udf.conf21
-rw-r--r--build/conf/proto.conf390
-rw-r--r--build/conf/python.conf14
-rw-r--r--build/conf/ts/ts.conf2
-rw-r--r--build/conf/ts/ts_test.conf8
-rw-r--r--build/export_generators/gradle/generator.toml6
-rw-r--r--build/export_generators/ide-gradle/build.gradle.kts.jinja236
-rw-r--r--build/export_generators/ide-gradle/build.gradle.kts.proto.jinja11
-rw-r--r--build/export_generators/ide-gradle/generator.toml6
-rw-r--r--build/export_generators/ide-gradle/settings.gradle.kts.jinja8
-rw-r--r--build/external_resources/ymake/public.resources.json10
-rw-r--r--build/external_resources/ymake/resources.json10
-rw-r--r--build/mapping.conf.json20
-rw-r--r--build/platform/clang/clang-format/clang-format16.json19
-rw-r--r--build/platform/clang/clang-format/ya.make7
-rw-r--r--build/platform/test_tool/host.ya.make.inc10
-rw-r--r--build/platform/test_tool/host_os.ya.make.inc10
-rw-r--r--build/platform/yfm/ya.make8
-rw-r--r--build/plugins/lib/test_const/__init__.py1
-rw-r--r--build/plugins/suppressions.py9
-rw-r--r--build/scripts/ya.make1
-rw-r--r--build/sysincl/stl-to-libcxx.yml4
-rw-r--r--build/ya.conf.json2
-rw-r--r--build/ymake.core.conf14
-rwxr-xr-xbuild/ymake_conf.py5
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',