aboutsummaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authorMaxim Yurchuk <maxim-yurchuk@ydb.tech>2024-10-20 00:06:50 +0300
committerGitHub <noreply@github.com>2024-10-20 00:06:50 +0300
commite0b481c6710337ae655271bbb80afe6ac81a5614 (patch)
treedba67dc017935800d0c3f8dc967e9522c5302bd2 /build
parent07f2e60d02d95eab14a86a4b9469db1af7795001 (diff)
parentf04ad7e5462f5910ef95f2efd15c509e539ae62d (diff)
downloadydb-e0b481c6710337ae655271bbb80afe6ac81a5614.tar.gz
Merge pull request #10642 from ydb-platform/mergelibs-241019-1758
Library import 241019-1758
Diffstat (limited to 'build')
-rw-r--r--build/conf/bison_lex.conf8
-rw-r--r--build/conf/docs.conf12
-rw-r--r--build/conf/fbs.conf16
-rw-r--r--build/conf/go.conf18
-rw-r--r--build/conf/java.conf50
-rw-r--r--build/conf/project_specific/other.conf2
-rw-r--r--build/conf/project_specific/yt.conf4
-rw-r--r--build/conf/proto.conf46
-rw-r--r--build/conf/python.conf36
-rw-r--r--build/conf/swig.conf20
-rw-r--r--build/conf/ts/node_modules.conf53
-rw-r--r--build/conf/ts/ts.conf7
-rw-r--r--build/conf/ts/ts_next.conf6
-rw-r--r--build/conf/ts/ts_package.conf2
-rw-r--r--build/conf/ts/ts_proto.conf6
-rw-r--r--build/conf/ts/ts_test.conf8
-rw-r--r--build/conf/ts/ts_tsc.conf6
-rw-r--r--build/conf/ts/ts_vite.conf6
-rw-r--r--build/conf/ts/ts_webpack.conf6
-rw-r--r--build/plugins/_dart_fields.py8
-rw-r--r--build/plugins/bundle.py23
-rw-r--r--build/plugins/lib/nots/package_manager/__init__.py8
-rw-r--r--build/plugins/lib/nots/package_manager/base/package_manager.py5
-rw-r--r--build/plugins/lib/nots/package_manager/npm/npm_package_manager.py4
-rw-r--r--build/plugins/lib/nots/package_manager/pnpm/package_manager.py23
-rw-r--r--build/plugins/lib/nots/typescript/ts_config.py2
-rw-r--r--build/plugins/nots.py294
-rw-r--r--build/plugins/ytest.py1
-rw-r--r--build/scripts/clang_wrapper.py2
-rw-r--r--build/scripts/fetch_from_npm.py113
-rw-r--r--build/scripts/generic_cmd.py31
-rw-r--r--build/scripts/ya.make1
-rw-r--r--build/ymake.core.conf54
33 files changed, 386 insertions, 495 deletions
diff --git a/build/conf/bison_lex.conf b/build/conf/bison_lex.conf
index 317d1b6851..3aca4a0d29 100644
--- a/build/conf/bison_lex.conf
+++ b/build/conf/bison_lex.conf
@@ -135,8 +135,8 @@ macro USE_OLD_FLEX() {
macro _SRC("y", SRC, SRCFLAGS...) {
.PEERDIR=build/induced/by_bison
- .CMD=${tool:"contrib/tools/bison"} $BISON_FLAGS ${env:"M4=${tool:M4_PATH}"} ${env:"BISON_PKGDATADIR=${ARCADIA_ROOT}/${_BISON_DATA_DIR}"} $_BISON_HEADER ${hide:_BISON_GEN_EXT} -o ${nopath;output;suf=$_BISON_GEN_EXT:SRC} ${input:SRC} ${SRCFLAGS} ${kv;hide:"p YC"} ${kv;hide:"pc light-green"} && $_BISON_PP
- .SEM=target_bison_parser PRIVATE ${input:SRC} ${output;nopath;noext;hide;suf=${OBJ_SUF}.o:SRC} ${nopath;noext;output;hide:SRC.h} ${nopath;noext;output;addincl;hide:SRC.h} && set_global_flags BISON_FLAGS $BISON_FLAGS && conan_require_tool m4/1.4.19 && conan_import '"bin, m4* -> ./bin/m4/bin"' && conan_require_tool bison/3.8.2 && conan_import '"bin, bison* -> ./bin/bison/bin"' && conan_import '"res, * -> ./bin/bison/res"' && target_macroses-ITEM && target_macroses-macro target_bison_parser && target_macroses-args PRIVATE ${input:SRC} ${output;nopath;noext;hide;suf=${OBJ_SUF}.o:SRC} ${nopath;noext;output;hide:SRC.h} ${nopath;noext;output;addincl;hide:SRC.h} && platform_vars-BISON_FLAGS ${quo:BISON_FLAGS} && conan-tool_requires m4/1.4.19 && conan-imports 'bin, m4* -> ./bin/m4/bin' && conan-tool_requires bison/3.8.2 && conan-imports 'bin, bison* -> ./bin/bison/bin' && conan-imports 'res, * -> ./bin/bison/res'
+ .CMD=${tool:"contrib/tools/bison"} $BISON_FLAGS ${env:"M4=${tool:M4_PATH}"} ${env:"BISON_PKGDATADIR=${ARCADIA_ROOT}/${_BISON_DATA_DIR}"} $_BISON_HEADER ${hide:_BISON_GEN_EXT} -o ${nopath;output;suf=$_BISON_GEN_EXT:SRC} ${input:SRC} ${SRCFLAGS} ${hide;kv:"p YC"} ${hide;kv:"pc light-green"} && $_BISON_PP
+ .SEM=target_bison_parser PRIVATE ${input:SRC} ${output;nopath;noext;hide;suf=${OBJ_SUF}.o:SRC} ${nopath;noext;hide;output:SRC.h} ${nopath;noext;output;addincl;hide:SRC.h} && set_global_flags BISON_FLAGS $BISON_FLAGS && conan_require_tool m4/1.4.19 && conan_import '"bin, m4* -> ./bin/m4/bin"' && conan_require_tool bison/3.8.2 && conan_import '"bin, bison* -> ./bin/bison/bin"' && conan_import '"res, * -> ./bin/bison/res"' && target_macroses-ITEM && target_macroses-macro target_bison_parser && target_macroses-args PRIVATE ${input:SRC} ${output;nopath;noext;hide;suf=${OBJ_SUF}.o:SRC} ${nopath;noext;hide;output:SRC.h} ${nopath;noext;output;addincl;hide:SRC.h} && platform_vars-BISON_FLAGS ${quo:BISON_FLAGS} && conan-tool_requires m4/1.4.19 && conan-imports 'bin, m4* -> ./bin/m4/bin' && conan-tool_requires bison/3.8.2 && conan-imports 'bin, bison* -> ./bin/bison/bin' && conan-imports 'res, * -> ./bin/bison/res'
}
macro _SRC("ypp", SRC, SRCFLAGS...) {
@@ -146,9 +146,9 @@ macro _SRC("ypp", SRC, SRCFLAGS...) {
}
macro _SRC("l", SRC, SRCFLAGS...) {
- .CMD=$_FLEX_TOOL $LEX_FLAGS ${SRCFLAGS} $_FLEX_HEADER ${hide:_FLEX_GEN_EXT} -o${output;suf=$_FLEX_GEN_EXT:SRC} ${output_include;hide:"util/system/compiler.h"} ${input:SRC} ${kv;hide:"p LX"} ${kv;hide:"pc yellow"}
+ .CMD=$_FLEX_TOOL $LEX_FLAGS ${SRCFLAGS} $_FLEX_HEADER ${hide:_FLEX_GEN_EXT} -o${output;suf=$_FLEX_GEN_EXT:SRC} ${hide;output_include:"util/system/compiler.h"} ${input:SRC} ${hide;kv:"p LX"} ${hide;kv:"pc yellow"}
.ADDINCL=$_FLEX_TOOL_DIR
- .SEM=target_flex_lexers ${tool;hide:_FLEX_TOOL} ${output;hide;suf=${OBJ_SUF}.o:SRC} ${input:SRC} && target_macroses-ITEM && target_macroses-macro target_flex_lexers && target_macroses-args ${tool;hide:_FLEX_TOOL} ${output;hide;suf=${OBJ_SUF}.o:SRC} ${input:SRC} && set_global_flags LEX_FLAGS $LEX_FLAGS && platform_vars-LEX_FLAGS ${quo:LEX_FLAGS}
+ .SEM=target_flex_lexers ${hide;tool:_FLEX_TOOL} ${hide;output;suf=${OBJ_SUF}.o:SRC} ${input:SRC} && target_macroses-ITEM && target_macroses-macro target_flex_lexers && target_macroses-args ${hide;tool:_FLEX_TOOL} ${hide;output;suf=${OBJ_SUF}.o:SRC} ${input:SRC} && set_global_flags LEX_FLAGS $LEX_FLAGS && platform_vars-LEX_FLAGS ${quo:LEX_FLAGS}
}
# tag:src-processing
diff --git a/build/conf/docs.conf b/build/conf/docs.conf
index a5f611da2f..0cd8c7d20d 100644
--- a/build/conf/docs.conf
+++ b/build/conf/docs.conf
@@ -3,7 +3,7 @@
#
# tag:docs
-TOUCH_DOCS=$YMAKE_PYTHON3 ${input:"build/scripts/touch.py"} ${kv;hide:"p DC"} ${kv;hide:"pc light-cyan"} $TARGET
+TOUCH_DOCS=$YMAKE_PYTHON3 ${input:"build/scripts/touch.py"} ${hide;kv:"p DC"} ${hide;kv:"pc light-cyan"} $TARGET
TOUCH_DOCS_MF=$TOUCH_DOCS && $GENERATE_MF
# tag:docs
@@ -11,7 +11,7 @@ TOUCH_DOCS_MF=$TOUCH_DOCS && $GENERATE_MF
###
### Copy files from src_dir to $BINDIR/dst_dir
macro DOCS_COPY_FILES(FROM="${CURDIR}", NAMESPACE=".", FILES...) {
- .CMD=$YMAKE_PYTHON3 ${input:"build/scripts/copy_docs_files.py"} ${input;hide:"build/scripts/process_command_files.py"} --source-root $ARCADIA_ROOT --build-root $ARCADIA_BUILD_ROOT --src-dir $FROM --dst-dir $BINDIR/$NAMESPACE $FILES ${input;hide;context=TEXT;pre=${FROM}/:FILES} ${output;hide;pre=${NAMESPACE}/:FILES}
+ .CMD=$YMAKE_PYTHON3 ${input:"build/scripts/copy_docs_files.py"} ${hide;input:"build/scripts/process_command_files.py"} --source-root $ARCADIA_ROOT --build-root $ARCADIA_BUILD_ROOT --src-dir $FROM --dst-dir $BINDIR/$NAMESPACE $FILES ${hide;context=TEXT;input;pre=${FROM}/:FILES} ${hide;output;pre=${NAMESPACE}/:FILES}
}
# tag:docs
@@ -19,7 +19,7 @@ _DOCS_USE_PLANTUML=no
_DOCS_EXTRA_TOOLS=
_DOCS_EXTRA_INPUTS=
_DOCS_ENV=
-_DOCS_KV=${kv;hide:"p DO"} ${kv;hide:"pc light-cyan"} ${kv;hide:"show_out yes"}
+_DOCS_KV=${hide;kv:"p DO"} ${hide;kv:"pc light-cyan"} ${hide;kv:"show_out yes"}
_DOCS_PLANTUML_ENV=\
${env:"JAVA_PATH=$JDK21_RESOURCE_GLOBAL/bin/java"} \
@@ -37,7 +37,7 @@ _DOCS_YFM_BOOK_OUTPUT_FORMAT=--output-format html --allowHTML
_DOCS_YFM_LIB_OUTPUT_FORMAT=--output-format md --add-map-file --allow-custom-resources
_DOCS_YFM_CMDLINE=\
-${cwd:ARCADIA_BUILD_ROOT} $YMAKE_PYTHON3 ${input:"build/scripts/extract_docs.py"} ${input;hide:"build/scripts/process_command_files.py"} --skip-prefix $ARCADIA_BUILD_ROOT --dest-dir $BINDIR/__s ${rootrel:PEERS} \
+${cwd:ARCADIA_BUILD_ROOT} $YMAKE_PYTHON3 ${input:"build/scripts/extract_docs.py"} ${hide;input:"build/scripts/process_command_files.py"} --skip-prefix $ARCADIA_BUILD_ROOT --dest-dir $BINDIR/__s ${rootrel:PEERS} \
&& ${cwd:ARCADIA_BUILD_ROOT} $YMAKE_PYTHON3 ${input:"build/scripts/stdout2stderr.py"} $YFM_TOOL_RESOURCE_GLOBAL/yfm-docs --input $BINDIR/__s --output $BINDIR/__docsbuild $_DOCS_VARS_FLAG $_DOCS_YFM_OUTPUT_FORMAT --config ${input:CONFIG} $_DOCS_EXTRA_TOOLS ${hide;input:EXTRA_INPUTS} $_DOCS_ENV \
&& $YMAKE_PYTHON3 ${input:"build/scripts/tar_sources.py"} --output $TARGET --input $BINDIR/__docsbuild $_DOCS_KV
@@ -70,7 +70,7 @@ _DOCS_SKIP_NAMESPACE=
# tag:internal tag:docs
_DOCS_LIBRARY_CMDLINE=\
-$YMAKE_PYTHON3 ${input:"build/scripts/copy_docs_files_to_dir.py"} ${input;hide:"build/scripts/process_command_files.py"} $_DOCS_IMPLICIT_SRCS_VALUE $_DOCS_DIR_VALUE $_DOCS_BIN_DIR_VALUE --dest-dir $BINDIR/__s --source-root $ARCADIA_ROOT --build-root $ARCADIA_BUILD_ROOT --srcs ${input;context=TEXT:SOURCES} --include-srcs ${input;context=TEXT:INCLUDE_SOURCES} $_DOCS_SKIP_NAMESPACE \
+$YMAKE_PYTHON3 ${input:"build/scripts/copy_docs_files_to_dir.py"} ${hide;input:"build/scripts/process_command_files.py"} $_DOCS_IMPLICIT_SRCS_VALUE $_DOCS_DIR_VALUE $_DOCS_BIN_DIR_VALUE --dest-dir $BINDIR/__s --source-root $ARCADIA_ROOT --build-root $ARCADIA_BUILD_ROOT --srcs ${context=TEXT;input:SOURCES} --include-srcs ${context=TEXT;input:INCLUDE_SOURCES} $_DOCS_SKIP_NAMESPACE \
&& $YMAKE_PYTHON3 ${input:"build/scripts/tar_sources.py"} --output $TARGET --input $BINDIR/__s $_DOCS_KV
# tag:internal tag:docs
@@ -262,7 +262,7 @@ macro _YFM_DOCS_DIR(DIR) {
SET(_VAR_DOCS_DIR_SALT __MODDIR__ $MODDIR __DIR__ $DIR)
SET(_DOCS_DIR_GLOB uniq_docs_dir_${hash:_VAR_DOCS_DIR_SALT})
_LATE_GLOB(${_DOCS_DIR_GLOB} ${ARCADIA_ROOT}/$DIR/**/*)
- SET_APPEND(_DOCS_IMPLICIT_SRCS_VALUE \${input;hide:$_DOCS_DIR_GLOB})
+ SET_APPEND(_DOCS_IMPLICIT_SRCS_VALUE \${hide;input:$_DOCS_DIR_GLOB})
# We set the value of var _YFM_DOCS_DIR_DEFAULT_VALUE to some non-existing dir. This value
# will be used in _DOCS_LIBRARY_EPILOGUE calls. In case when this macro _YFM_DOCS_DIR is
diff --git a/build/conf/fbs.conf b/build/conf/fbs.conf
index 23fff82272..83932fb23c 100644
--- a/build/conf/fbs.conf
+++ b/build/conf/fbs.conf
@@ -22,11 +22,11 @@ _PY_FBS_DEPS=contrib/python/flatbuffers
### processed when --add-flatbuf-result flag is specified on the command line
### for 'ya make ...' (tar archive is extracted to output directory).
macro FBS_TO_PYSRC(OUT_NAME, IN_FBS_FILES...) {
- .CMD=${cwd:ARCADIA_BUILD_ROOT} ${tool:FLATC} --python --no-warnings --python-typing --gen-mutable ${FLATC_FLAGS_VALUE} ${pre=-I :_FLATC__INCLUDE} -o ${BINDIR} ${input:IN_FBS_FILES} && $YMAKE_PYTHON3 ${input:"build/scripts/tar_sources.py"} --exts .py --input $BINDIR --output ${output;noauto;tared:OUT_NAME.py3.fbs.pysrc} ${kv;hide:"p FP"} ${kv;hide:"pc light-green"} ${kv;hide:"tared_kind nodir"} ${hide:FBS_FAKEID}
+ .CMD=${cwd:ARCADIA_BUILD_ROOT} ${tool:FLATC} --python --no-warnings --python-typing --gen-mutable ${FLATC_FLAGS_VALUE} ${pre=-I :_FLATC__INCLUDE} -o ${BINDIR} ${input:IN_FBS_FILES} && $YMAKE_PYTHON3 ${input:"build/scripts/tar_sources.py"} --exts .py --input $BINDIR --output ${noauto;output;tared:OUT_NAME.py3.fbs.pysrc} ${hide;kv:"p FP"} ${hide;kv:"pc light-green"} ${hide;kv:"tared_kind nodir"} ${hide:FBS_FAKEID}
}
macro FBS_TO_PY2SRC(OUT_NAME, IN_FBS_FILES...) {
- .CMD=${cwd:ARCADIA_BUILD_ROOT} ${tool:"contrib/deprecated/flatc"} --python --gen-mutable ${FLATC_FLAGS_VALUE} ${pre=-I :_FLATC__INCLUDE} -o ${BINDIR} ${input:IN_FBS_FILES} && $YMAKE_PYTHON3 ${input:"build/scripts/tar_sources.py"} --exts .py --input $BINDIR --output ${output;noauto;tared:OUT_NAME.py2.fbs.pysrc} ${kv;hide:"p FP"} ${kv;hide:"pc light-green"} ${kv;hide:"tared_kind nodir"} ${hide:FBS_FAKEID}
+ .CMD=${cwd:ARCADIA_BUILD_ROOT} ${tool:"contrib/deprecated/flatc"} --python --gen-mutable ${FLATC_FLAGS_VALUE} ${pre=-I :_FLATC__INCLUDE} -o ${BINDIR} ${input:IN_FBS_FILES} && $YMAKE_PYTHON3 ${input:"build/scripts/tar_sources.py"} --exts .py --input $BINDIR --output ${noauto;output;tared:OUT_NAME.py2.fbs.pysrc} ${hide;kv:"p FP"} ${hide;kv:"pc light-green"} ${hide;kv:"tared_kind nodir"} ${hide:FBS_FAKEID}
}
# tag:fbs tag:go-specific
@@ -38,14 +38,14 @@ _GO_FLATC_IMPORTS=\
# tag:fbs tag:cpp-specific
macro _CPP_FLATC_CMD(SRC, SRCFLAGS...) {
- .CMD=${cwd:ARCADIA_BUILD_ROOT} $YMAKE_PYTHON3 ${input:"build/scripts/cpp_flatc_wrapper.py"} ${tool:FLATC} --no-warnings --cpp --keep-prefix --gen-mutable --schema -b --yandex-maps-iter --gen-object-api --filename-suffix .fbs ${FLATC_FLAGS_VALUE} ${pre=-I :_FLATC__INCLUDE} -o ${output;main;norel:SRC.h} ${output;hide;norel:SRC.cpp} ${input:SRC} ${output;hide;noext;norel:SRC.iter.fbs.h} ${output;noauto;hide;noext;norel:SRC.bfbs} ${kv;hide:"p FL"} ${kv;hide:"pc light-green"} ${hide:FBS_FAKEID}
- .SEM=target_fbs_source PRIVATE ${input:SRC} ${FLATC_FLAGS_VALUE} ${pre=-I :_FLATC__INCLUDE} ${output;hide;norel:SRC.h} ${output;hide;norel:SRC.cpp} ${output;hide;noext;norel:SRC.iter.fbs.h} ${output;noauto;hide;noext;norel:SRC.bfbs} ${hide;tool:FLATC} && target_macroses-ITEM && target_macroses-macro target_fbs_source && target_macroses-args PRIVATE ${input:SRC} ${FLATC_FLAGS_VALUE} ${pre=-I :_FLATC__INCLUDE} ${output;hide;norel:SRC.h} ${output;hide;norel:SRC.cpp} ${output;hide;noext;norel:SRC.iter.fbs.h} ${output;noauto;hide;noext;norel:SRC.bfbs} ${hide;tool:FLATC} && set_global_flags FBS_CPP_FLAGS --no-warnings --cpp --keep-prefix --gen-mutable --schema -b --yandex-maps-iter --gen-object-api --filename-suffix .fbs && platform_vars-FBS_CPP_FLAGS "--no-warnings --cpp --keep-prefix --gen-mutable --schema -b --yandex-maps-iter --gen-object-api --filename-suffix .fbs" ${input;hide:"build/scripts/cpp_flatc_wrapper.py"}
+ .CMD=${cwd:ARCADIA_BUILD_ROOT} $YMAKE_PYTHON3 ${input:"build/scripts/cpp_flatc_wrapper.py"} ${tool:FLATC} --no-warnings --cpp --keep-prefix --gen-mutable --schema -b --yandex-maps-iter --gen-object-api --filename-suffix .fbs ${FLATC_FLAGS_VALUE} ${pre=-I :_FLATC__INCLUDE} -o ${output;main;norel:SRC.h} ${hide;output;norel:SRC.cpp} ${input:SRC} ${hide;output;noext;norel:SRC.iter.fbs.h} ${hide;noauto;output;noext;norel:SRC.bfbs} ${hide;kv:"p FL"} ${hide;kv:"pc light-green"} ${hide:FBS_FAKEID}
+ .SEM=target_fbs_source PRIVATE ${input:SRC} ${FLATC_FLAGS_VALUE} ${pre=-I :_FLATC__INCLUDE} ${hide;output;norel:SRC.h} ${hide;output;norel:SRC.cpp} ${hide;output;noext;norel:SRC.iter.fbs.h} ${hide;noauto;output;noext;norel:SRC.bfbs} ${hide;tool:FLATC} && target_macroses-ITEM && target_macroses-macro target_fbs_source && target_macroses-args PRIVATE ${input:SRC} ${FLATC_FLAGS_VALUE} ${pre=-I :_FLATC__INCLUDE} ${hide;output;norel:SRC.h} ${hide;output;norel:SRC.cpp} ${hide;output;noext;norel:SRC.iter.fbs.h} ${hide;noauto;output;noext;norel:SRC.bfbs} ${hide;tool:FLATC} && set_global_flags FBS_CPP_FLAGS --no-warnings --cpp --keep-prefix --gen-mutable --schema -b --yandex-maps-iter --gen-object-api --filename-suffix .fbs && platform_vars-FBS_CPP_FLAGS "--no-warnings --cpp --keep-prefix --gen-mutable --schema -b --yandex-maps-iter --gen-object-api --filename-suffix .fbs" ${hide;input:"build/scripts/cpp_flatc_wrapper.py"}
.PEERDIR=contrib/libs/flatbuffers
}
# tag:fbs tag:cpp-specific
macro _CPP_FLATC64_CMD(SRC, SRCFLAGS...) {
- .CMD=${cwd:ARCADIA_BUILD_ROOT} $YMAKE_PYTHON3 ${input:"build/scripts/cpp_flatc_wrapper.py"} ${tool:FLATC64} --no-warnings --cpp --keep-prefix --gen-mutable --schema -b --filename-suffix .fbs64 ${FLATC_FLAGS_VALUE} -I ${ARCADIA_ROOT} -I ${ARCADIA_BUILD_ROOT} -o ${output;main;norel:SRC.h} ${output;hide;norel:SRC.cpp} ${input:SRC} ${output;noauto;hide;noext;norel:SRC.bfbs64} ${kv;hide:"p FL64"} ${kv;hide:"pc light-green"} ${hide:FBS_FAKEID}
+ .CMD=${cwd:ARCADIA_BUILD_ROOT} $YMAKE_PYTHON3 ${input:"build/scripts/cpp_flatc_wrapper.py"} ${tool:FLATC64} --no-warnings --cpp --keep-prefix --gen-mutable --schema -b --filename-suffix .fbs64 ${FLATC_FLAGS_VALUE} -I ${ARCADIA_ROOT} -I ${ARCADIA_BUILD_ROOT} -o ${output;main;norel:SRC.h} ${hide;output;norel:SRC.cpp} ${input:SRC} ${hide;noauto;output;noext;norel:SRC.bfbs64} ${hide;kv:"p FL64"} ${hide;kv:"pc light-green"} ${hide:FBS_FAKEID}
.PEERDIR=contrib/libs/flatbuffers64
}
@@ -57,7 +57,7 @@ macro _CPP_FLATC64_CMD(SRC, SRCFLAGS...) {
### --add-protobuf-result flag is specified on the command line for 'ya make ...'
### (tar archive is extracted to output directory).
macro _GO_FLATC_CMD(SRC, PACKAGE_NAME) {
- .CMD=${cwd:ARCADIA_BUILD_ROOT} ${tool:FLATC} --go --gen-mutable --go-namespace ${PACKAGE_NAME} ${FLATC_FLAGS_VALUE} ${pre=-I :_FLATC__INCLUDE} -o ${BINDIR}/_generated ${input:SRC} && $YMAKE_PYTHON3 ${input:"build/scripts/postprocess_go_fbs.py"} --arcadia-prefix ${GO_ARCADIA_PROJECT_PREFIX} --input-dir ${BINDIR} --map $_FBS_NAMESPACE_MAP_GLOBAL && $YMAKE_PYTHON3 ${input:"build/scripts/tar_sources.py"} --flat --input ${BINDIR}/_generated --output ${output;noext;tared:SRC.fbs.gosrc} --exts .go ${kv;hide:"p FG"} ${kv;hide:"pc light-green"} ${kv;hide:"tared_kind nodir"} ${hide:FBS_FAKEID}
+ .CMD=${cwd:ARCADIA_BUILD_ROOT} ${tool:FLATC} --go --gen-mutable --go-namespace ${PACKAGE_NAME} ${FLATC_FLAGS_VALUE} ${pre=-I :_FLATC__INCLUDE} -o ${BINDIR}/_generated ${input:SRC} && $YMAKE_PYTHON3 ${input:"build/scripts/postprocess_go_fbs.py"} --arcadia-prefix ${GO_ARCADIA_PROJECT_PREFIX} --input-dir ${BINDIR} --map $_FBS_NAMESPACE_MAP_GLOBAL && $YMAKE_PYTHON3 ${input:"build/scripts/tar_sources.py"} --flat --input ${BINDIR}/_generated --output ${output;noext;tared:SRC.fbs.gosrc} --exts .go ${hide;kv:"p FG"} ${hide;kv:"pc light-green"} ${hide;kv:"tared_kind nodir"} ${hide:FBS_FAKEID}
.PEERDIR=${_GO_FLATC_IMPORTS}
}
@@ -69,7 +69,7 @@ macro _GO_FLATC_CMD(SRC, PACKAGE_NAME) {
### be added to results when --add-flatbuf-result flag is specified on the command
### line for 'ya make ...'
macro _JAVA_FLATC_CMD(SRC, SRCFLAGS...) {
- .CMD=${cwd:ARCADIA_BUILD_ROOT} ${tool:FLATC} --java --gen-mutable ${FLATC_FLAGS_VALUE} ${pre=-I :_FLATC__INCLUDE} -o ${BINDIR} ${input:SRC} && $YMAKE_PYTHON3 ${input:"build/scripts/tar_sources.py"} --input $BINDIR --output ${output;nopath;noext:SRC.fbs.jsrc} --exts .java ${kv;hide:"p FJ"} ${kv;hide:"pc light-green"} ${hide:FBS_FAKEID}
+ .CMD=${cwd:ARCADIA_BUILD_ROOT} ${tool:FLATC} --java --gen-mutable ${FLATC_FLAGS_VALUE} ${pre=-I :_FLATC__INCLUDE} -o ${BINDIR} ${input:SRC} && $YMAKE_PYTHON3 ${input:"build/scripts/tar_sources.py"} --input $BINDIR --output ${output;nopath;noext:SRC.fbs.jsrc} --exts .java ${hide;kv:"p FJ"} ${hide;kv:"pc light-green"} ${hide:FBS_FAKEID}
.PEERDIR=contrib/java/com/google/flatbuffers/flatbuffers-java/${JAVA_FLATBUFFERS_VERSION}
}
@@ -149,7 +149,7 @@ macro FBS_CMD(SRC, SRCFLAGS...) {
###
### Produce flatbuf schema out of protobuf description.
macro PROTO2FBS(File) {
- .CMD=${cwd:BINDIR} ${tool:FLATC} -I . -I ${ARCADIA_ROOT} --proto ${input:File} ${output;hide;norel;noext:File.fbs} ${kv;hide:"p FBS"} ${kv;hide:"pc yellow"} && $MOVE_FILE ${BINDIR}/${nopath;noext:File.fbs} ${output;norel;noext:File.fbs}
+ .CMD=${cwd:BINDIR} ${tool:FLATC} -I . -I ${ARCADIA_ROOT} --proto ${input:File} ${hide;output;norel;noext:File.fbs} ${hide;kv:"p FBS"} ${hide;kv:"pc yellow"} && $MOVE_FILE ${BINDIR}/${nopath;noext:File.fbs} ${output;norel;noext:File.fbs}
}
_CPP_FLATC_CMDLINE=$_CPP_FLATC_CMD($SRC $SRCFLAGS)
diff --git a/build/conf/go.conf b/build/conf/go.conf
index 88f7f28b8e..85eb4b37c6 100644
--- a/build/conf/go.conf
+++ b/build/conf/go.conf
@@ -205,18 +205,18 @@ macro _GO_GEN_COVER_GO(GO_FILE, GO_COVER_OUTPUT, VAR_ID) {
# tag:go-specific
macro _GO_COMPILE_SYMABIS(FLAGS[], ASM_FILES...) {
- .CMD=${hide:_CGO_FAKEID} $GO_TOOLS_ROOT/pkg/tool/$_GO_TC_PATH/asm $_GO_COMPILE_SYMABIS_TRIMPATH__NO_UID__ ${pre=-I :_C__INCLUDE} -I $GO_TOOLS_ROOT/pkg/include -D GOOS_${GO_TARG_OS} -D GOARCH_${GO_TARG_ARCH} $FLAGS $GO_ASM_FLAGS_VALUE -gensymabis -o ${output:"gen.symabis"} ${input:ASM_FILES} ${kv;hide:"p go"} ${kv;hide:"pc light-blue"} ${kv;hide:"show_out"}
+ .CMD=${hide:_CGO_FAKEID} $GO_TOOLS_ROOT/pkg/tool/$_GO_TC_PATH/asm $_GO_COMPILE_SYMABIS_TRIMPATH__NO_UID__ ${pre=-I :_C__INCLUDE} -I $GO_TOOLS_ROOT/pkg/include -D GOOS_${GO_TARG_OS} -D GOARCH_${GO_TARG_ARCH} $FLAGS $GO_ASM_FLAGS_VALUE -gensymabis -o ${output:"gen.symabis"} ${input:ASM_FILES} ${hide;kv:"p go"} ${hide;kv:"pc light-blue"} ${hide;kv:"show_out"}
.ADDINCL=build/scripts/go_fake_include
}
# tag:go-specific
macro _GO_COMPILE_CGO1(NAME, FLAGS[], FILES...) {
- .CMD=${hide:_CGO_FAKEID} ${cwd:ARCADIA_ROOT} $YMAKE_PYTHON ${input:"build/scripts/cgo1_wrapper.py"} $_GO_CGO1_WRAPPER_FLAGS --build-root ${ARCADIA_BUILD_ROOT} --source-root ${ARCADIA_ROOT} --cgo1-files ${output;noext:FILES.cgo1.go} --cgo2-files ${output;noauto;noext:FILES.cgo2.c} -- ${GO_TOOLS_ROOT}/pkg/tool/$_GO_TC_PATH/cgo -objdir $BINDIR -importpath $NAME $GO_CGO1_FLAGS_VALUE $FLAGS -- $C_FLAGS_PLATFORM ${pre=-I:_C__INCLUDE} ${CGO_CFLAGS_VALUE} ${input:FILES} ${output;hide:"_cgo_export.h"} ${output;hide:"_cgo_export.c"} ${output;hide:"_cgo_gotypes.go"} ${output;noauto;hide:"_cgo_main.c"} $GO_TOOLCHAIN_ENV ${kv;hide:"p go"} ${kv;hide:"pc light-blue"} ${kv;hide:"show_out"}
+ .CMD=${hide:_CGO_FAKEID} ${cwd:ARCADIA_ROOT} $YMAKE_PYTHON ${input:"build/scripts/cgo1_wrapper.py"} $_GO_CGO1_WRAPPER_FLAGS --build-root ${ARCADIA_BUILD_ROOT} --source-root ${ARCADIA_ROOT} --cgo1-files ${output;noext:FILES.cgo1.go} --cgo2-files ${noauto;output;noext:FILES.cgo2.c} -- ${GO_TOOLS_ROOT}/pkg/tool/$_GO_TC_PATH/cgo -objdir $BINDIR -importpath $NAME $GO_CGO1_FLAGS_VALUE $FLAGS -- $C_FLAGS_PLATFORM ${pre=-I:_C__INCLUDE} ${CGO_CFLAGS_VALUE} ${input:FILES} ${hide;output:"_cgo_export.h"} ${hide;output:"_cgo_export.c"} ${hide;output:"_cgo_gotypes.go"} ${hide;noauto;output:"_cgo_main.c"} $GO_TOOLCHAIN_ENV ${hide;kv:"p go"} ${hide;kv:"pc light-blue"} ${hide;kv:"show_out"}
}
# tag:go-specific
macro _GO_COMPILE_CGO2(NAME, C_FILES[], S_FILES[], OBJ_FILES[], FILES...) {
- .CMD=${hide:_CGO_FAKEID} $C_COMPILER $C_FLAGS_PLATFORM ${pre=-I:_C__INCLUDE} $CGO_CFLAGS_VALUE ${input;tobindir:"_cgo_main.c"} -c -o ${tmp;noauto;suf=${OBJECT_SUF}:"_cgo_main.c"} && $C_COMPILER $C_FLAGS_PLATFORM ${pre=-I:_C__INCLUDE} -o ${tmp;noauto;suf=${OBJECT_SUF}:"_cgo_"} $LDFLAGS $LDFLAGS_GLOBAL $CGO2_LDFLAGS_VALUE ${input;hide:"_cgo_export.h"} ${tmp;noauto;suf=${OBJECT_SUF}:"_cgo_main.c"} ${input;suf=${OBJECT_SUF}:"_cgo_export.c"} ${input;nopath;noext;suf=.cgo2.c${OBJECT_SUF}:FILES} ${input;suf=${OBJECT_SUF}:C_FILES} ${input;suf=.o:S_FILES} ${input:OBJ_FILES} $CGO_LDFLAGS_VALUE && ${GO_TOOLS_ROOT}/pkg/tool/$_GO_TC_PATH/cgo -dynpackage $NAME -dynimport ${tmp;noauto;suf=${OBJECT_SUF}:"_cgo_"} -dynout ${output:"_cgo_import.go"} -dynlinker $GO_CGO2_FLAGS_VALUE $GO_TOOLCHAIN_ENV ${kv;hide:"p go"} ${kv;hide:"pc light-blue"} ${kv;hide:"show_out"}
+ .CMD=${hide:_CGO_FAKEID} $C_COMPILER $C_FLAGS_PLATFORM ${pre=-I:_C__INCLUDE} $CGO_CFLAGS_VALUE ${input;tobindir:"_cgo_main.c"} -c -o ${tmp;noauto;suf=${OBJECT_SUF}:"_cgo_main.c"} && $C_COMPILER $C_FLAGS_PLATFORM ${pre=-I:_C__INCLUDE} -o ${tmp;noauto;suf=${OBJECT_SUF}:"_cgo_"} $LDFLAGS $LDFLAGS_GLOBAL $CGO2_LDFLAGS_VALUE ${hide;input:"_cgo_export.h"} ${tmp;noauto;suf=${OBJECT_SUF}:"_cgo_main.c"} ${input;suf=${OBJECT_SUF}:"_cgo_export.c"} ${input;nopath;noext;suf=.cgo2.c${OBJECT_SUF}:FILES} ${input;suf=${OBJECT_SUF}:C_FILES} ${input;suf=.o:S_FILES} ${input:OBJ_FILES} $CGO_LDFLAGS_VALUE && ${GO_TOOLS_ROOT}/pkg/tool/$_GO_TC_PATH/cgo -dynpackage $NAME -dynimport ${tmp;noauto;suf=${OBJECT_SUF}:"_cgo_"} -dynout ${output:"_cgo_import.go"} -dynlinker $GO_CGO2_FLAGS_VALUE $GO_TOOLCHAIN_ENV ${hide;kv:"p go"} ${hide;kv:"pc light-blue"} ${hide;kv:"show_out"}
_USE_LINKER()
}
@@ -547,7 +547,7 @@ macro _GO_GRPC_GATEWAY_SRCS_IMPL(Files...) {
# tag:go-specific
macro _SETUP_GO_GRPC_GATEWAY() {
SET(_GO_PROTO_GRPC_GATEWAY_OPTS $_PROTO_PLUGIN_ARGS_BASE(go_grpc_gw vendor/github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway allow_repeated_fields_in_body=true))
- SET(_GO_PROTO_GRPC_GATEWAY_OUTS \${output;hide;norel;nopath;noext;suf=.pb.gw.go:File})
+ SET(_GO_PROTO_GRPC_GATEWAY_OUTS \${hide;output;norel;nopath;noext;suf=.pb.gw.go:File})
}
# tag:go-specific
@@ -560,7 +560,7 @@ macro _GO_GRPC_GATEWAY_SRCS(Files...) {
macro _GO_GRPC_GATEWAY_SWAGGER_SRCS(Files...) {
_SETUP_GO_GRPC_GATEWAY()
SET_APPEND(_GO_PROTO_GRPC_GATEWAY_OPTS $_PROTO_PLUGIN_ARGS_BASE(swagger vendor/github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger logtostderr=true allow_repeated_fields_in_body=true))
- SET_APPEND(_GO_PROTO_GRPC_GATEWAY_OUTS \${output;hide;norel;noauto;nopath;noext;suf=.swagger.json:File})
+ SET_APPEND(_GO_PROTO_GRPC_GATEWAY_OUTS \${hide;output;norel;noauto;nopath;noext;suf=.swagger.json:File})
_GO_GRPC_GATEWAY_SRCS_IMPL($Files)
PEERDIR(vendor/github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger/options)
@@ -578,7 +578,7 @@ macro _GO_GRPC_GATEWAY_V2_OPENAPI_SRCS(NO_JSON_NAMES_FOR_FIELDS?"json_names_for_
_SETUP_GO_GRPC_GATEWAY_V2()
SET_APPEND(_GO_PROTO_GRPC_GATEWAY_V2_OPTS $_PROTO_PLUGIN_ARGS_BASE(openapiv2 vendor/github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2 $NO_JSON_NAMES_FOR_FIELDS logtostderr=true))
- SET_APPEND(_GO_PROTO_GRPC_GATEWAY_V2_OPTS \${output;hide;norel;noauto;nopath;noext;suf=.swagger.json:File})
+ SET_APPEND(_GO_PROTO_GRPC_GATEWAY_V2_OPTS \${hide;output;norel;noauto;nopath;noext;suf=.swagger.json:File})
_GO_GRPC_GATEWAY_V2_SRCS_IMPL($Files)
PEERDIR(vendor/github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options)
@@ -613,7 +613,7 @@ macro _GO_GRPC_GATEWAY_V2_SRCS_IMPL(Files...) {
# tag:go-specific
macro _SETUP_GO_GRPC_GATEWAY_V2() {
SET(_GO_PROTO_GRPC_GATEWAY_V2_OPTS $_PROTO_PLUGIN_ARGS_BASE(go_grpc_gw vendor/github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway allow_repeated_fields_in_body=true))
- SET(_GO_PROTO_GRPC_GATEWAY_V2_OUTS \${output;hide;norel;nopath;noext;suf=.pb.gw.go:File})
+ SET(_GO_PROTO_GRPC_GATEWAY_V2_OUTS \${hide;output;norel;nopath;noext;suf=.pb.gw.go:File})
}
# tag:go-specific
@@ -668,13 +668,13 @@ module _GO_BASE_UNIT: _BASE_UNIT {
GO_PROTO_GRPC_OUTS_V2=${output;norel;nopath;noext;suf=_grpc.pb.go:File}
select ($GO_PROTO_V2) {
"yes" | "on" ? {
- GO_PROTO_OUTS+=${output;hide;norel;nopath;noext;suf=.pb.go:File}
+ GO_PROTO_OUTS+=${hide;output;norel;nopath;noext;suf=.pb.go:File}
GO_PROTO_OPTS+=--plugin=protoc-gen-go=${tool:_TOOL_PROTOC_GEN_GO_V2} --go_out=${ARCADIA_BUILD_ROOT}/$PROTO_NAMESPACE
_GO_PROTO_CHECK_OUTPUT=--check $GO_PROTO_GRPC_OUTS_V2
GO_PROTO_OPTS+=$GO_PROTO_GRPC_OPTS
}
default ? {
- GO_PROTO_OUTS+=${output;hide;norel;nopath;noext;suf=.pb.go:File}
+ GO_PROTO_OUTS+=${hide;output;norel;nopath;noext;suf=.pb.go:File}
GO_PROTO_OPTS+=--plugin=protoc-gen-go=${tool:_TOOL_PROTOC_GEN_GO} --go_out=$GO_PROTO_GEN_PLUGINS:${ARCADIA_BUILD_ROOT}/$PROTO_NAMESPACE
}
}
diff --git a/build/conf/java.conf b/build/conf/java.conf
index e39b34818e..c7ec1bb0b3 100644
--- a/build/conf/java.conf
+++ b/build/conf/java.conf
@@ -3,12 +3,12 @@ macro _INPUT_WITH_FLAG(Flag, IN[]) {
}
macro _INPUT_WITH_FLAG_IMPL(IN{input}[], Args...) {
- .CMD=$Args ${input;hide:IN}
+ .CMD=$Args ${hide;input:IN}
}
macro ACCELEO(XSD{input}[], MTL{input}[], MTL_ROOT="${MODDIR}", LANG{input}[], OUT{output}[], OUT_NOAUTO{output}[], OUTPUT_INCLUDES[], DEBUG?"stdout2stderr":"stderr2stdout") {
.PEERDIR=build/platform/java/jdk $JDK_RESOURCE_PEERDIR
- .CMD=${cwd:ARCADIA_BUILD_ROOT} $YMAKE_PYTHON ${input;pre=build/scripts/:DEBUG.py} $JDK_RESOURCE/bin/java -Dfile.encoding=utf8 -classpath ${RUN_JAR_PROG_CP_PRE}${tool:"tools/acceleo"}${RUN_JAR_PROG_CP_SUF} ru.yandex.se.logsng.tool.Cli $_INPUT_WITH_FLAG(--xsd IN $XSD) $_INPUT_WITH_FLAG(--mtl IN $MTL) $_INPUT_WITH_FLAG(--lang IN $LANG) --output-dir $BINDIR --build-root ${ARCADIA_BUILD_ROOT} --source-root ${ARCADIA_ROOT} --mtl-root $MTL_ROOT ${output_include;hide:OUTPUT_INCLUDES} ${output;hide:OUT} ${output;noauto;hide:OUT_NOAUTO} ${kv;hide:"p JV"} ${kv;hide:"pc light-blue"} ${kv;hide:"show_out"}
+ .CMD=${cwd:ARCADIA_BUILD_ROOT} $YMAKE_PYTHON ${input;pre=build/scripts/:DEBUG.py} $JDK_RESOURCE/bin/java -Dfile.encoding=utf8 -classpath ${RUN_JAR_PROG_CP_PRE}${tool:"tools/acceleo"}${RUN_JAR_PROG_CP_SUF} ru.yandex.se.logsng.tool.Cli $_INPUT_WITH_FLAG(--xsd IN $XSD) $_INPUT_WITH_FLAG(--mtl IN $MTL) $_INPUT_WITH_FLAG(--lang IN $LANG) --output-dir $BINDIR --build-root ${ARCADIA_BUILD_ROOT} --source-root ${ARCADIA_ROOT} --mtl-root $MTL_ROOT ${hide;output_include:OUTPUT_INCLUDES} ${hide;output:OUT} ${hide;noauto;output:OUT_NOAUTO} ${hide;kv:"p JV"} ${hide;kv:"pc light-blue"} ${hide;kv:"show_out"}
}
### @usage: JAVA_LIBRARY()
@@ -460,7 +460,7 @@ macro _HASH_HELPER(Args...) {
}
macro _GENTAR_HELPER(OUT_DIR[], Args...) {
- .CMD=${cwd:BINDIR} $YMAKE_PYTHON ${input:"build/scripts/autotar_gendirs.py"} --pack ${OUT_DIR} --outs ${output;tared;suf=.$_HASH_HELPER($Args).gentar:OUT_DIR} ${kv;hide:"tared_kind nodir"}
+ .CMD=${cwd:BINDIR} $YMAKE_PYTHON ${input:"build/scripts/autotar_gendirs.py"} --pack ${OUT_DIR} --outs ${output;tared;suf=.$_HASH_HELPER($Args).gentar:OUT_DIR} ${hide;kv:"tared_kind nodir"}
}
# tag:java-specific
@@ -484,8 +484,8 @@ _SEM_RUN_JAVA_PROGRAM=runs-ITEM \
&& runs-in ${IN} ${hide;input:IN} \
&& runs-in_dir ${IN_DIR} \
&& runs-in_dirs_inputs ${IN_DIRS_INPUTS} \
- && runs-in_noparse ${IN_NOPARSE} ${hide;input;context=TEXT:IN_NOPARSE} \
- && runs-out ${OUT} ${hide;output:OUT} ${OUT_NOAUTO} ${hide;output;noauto:OUT_NOAUTO} ${hide;output;suf=.$_HASH_HELPER($CLASSPATH $IN_DIR $IN $IN_NOPARSE $TOOL $Args).gentar:OUT_DIR} \
+ && runs-in_noparse ${IN_NOPARSE} ${hide;context=TEXT;input:IN_NOPARSE} \
+ && runs-out ${OUT} ${hide;output:OUT} ${OUT_NOAUTO} ${hide;noauto;output:OUT_NOAUTO} ${hide;output;suf=.$_HASH_HELPER($CLASSPATH $IN_DIR $IN $IN_NOPARSE $TOOL $Args).gentar:OUT_DIR} \
&& runs-out_dir ${OUT_DIR} \
&& runs-tool ${TOOL} ${hide;tool:TOOL}
@@ -493,13 +493,13 @@ macro _DO_2_RUN_JAR_PROGRAM(IN_DIRS_VAR="uniq_", IN_DIRS_INPUTS[], IN{input}[],
_LATE_GLOB(${IN_DIRS_VAR} ${suf=/**/*:IN_DIR})
_CHECK_RUN_JAVA_PROG_CLASSPATH($CLASSPATH)
.PEERDIR=build/platform/java/jdk $JDK_RESOURCE_PEERDIR
- .CMD=${kv;hide:"p RJ"} ${kv;hide:"pc blue"} ${hide:JAVA_FAKEID} ${cwd:BINDIR} $YMAKE_PYTHON ${input:"build/scripts/mkdir.py"} ${OUT_DIR} && ${cwd:CWD} $YMAKE_PYTHON ${input:"build/scripts/setup_java_tmpdir.py"} $YMAKE_PYTHON ${input:"build/scripts/stdout2stderr.py"} ${pre=--file=:STDOUT} ${output;hide:STDOUT} ${pre=--file=:STDOUT_NOAUTO} ${output;hide;noauto:STDOUT_NOAUTO} $YMAKE_PYTHON ${input:"build/scripts/fix_java_command_file_cp.py"} --build-root ${ARCADIA_BUILD_ROOT} $JDK_RESOURCE/bin/java -Dfile.encoding=utf8 -classpath ${RUN_JAR_PROG_CP_PRE}${tool:CLASSPATH}${RUN_JAR_PROG_CP_SUF} ${Args} && $_GENTAR_HELPER($CLASSPATH $IN_DIR $IN $IN_NOPARSE $TOOL $Args OUT_DIR $OUT_DIR) ${input;hide:IN} ${input;context=TEXT;hide:IN_NOPARSE} ${output;noauto;hide:OUT_NOAUTO} ${output;hide:OUT} ${tool;hide:TOOL} ${IN_DIRS_INPUTS}
+ .CMD=${hide;kv:"p RJ"} ${hide;kv:"pc blue"} ${hide:JAVA_FAKEID} ${cwd:BINDIR} $YMAKE_PYTHON ${input:"build/scripts/mkdir.py"} ${OUT_DIR} && ${cwd:CWD} $YMAKE_PYTHON ${input:"build/scripts/setup_java_tmpdir.py"} $YMAKE_PYTHON ${input:"build/scripts/stdout2stderr.py"} ${pre=--file=:STDOUT} ${hide;output:STDOUT} ${pre=--file=:STDOUT_NOAUTO} ${hide;noauto;output:STDOUT_NOAUTO} $YMAKE_PYTHON ${input:"build/scripts/fix_java_command_file_cp.py"} --build-root ${ARCADIA_BUILD_ROOT} $JDK_RESOURCE/bin/java -Dfile.encoding=utf8 -classpath ${RUN_JAR_PROG_CP_PRE}${tool:CLASSPATH}${RUN_JAR_PROG_CP_SUF} ${Args} && $_GENTAR_HELPER($CLASSPATH $IN_DIR $IN $IN_NOPARSE $TOOL $Args OUT_DIR $OUT_DIR) ${hide;input:IN} ${hide;context=TEXT;input:IN_NOPARSE} ${hide;noauto;output:OUT_NOAUTO} ${hide;output:OUT} ${hide;tool:TOOL} ${IN_DIRS_INPUTS}
.SEM=$_SEM_RUN_JAVA_PROGRAM
}
# tag:java-specific
macro _DO_1_RUN_JAR_PROGRAM(IN_DIRS_VAR="uniq", Args...) {
- _DO_2_RUN_JAR_PROGRAM($Args IN_DIRS_VAR $IN_DIRS_VAR IN_DIRS_INPUTS ${"$"}{input;hide:$IN_DIRS_VAR})
+ _DO_2_RUN_JAR_PROGRAM($Args IN_DIRS_VAR $IN_DIRS_VAR IN_DIRS_INPUTS ${"$"}{hide;input:$IN_DIRS_VAR})
}
# tag:java-specific
@@ -590,7 +590,7 @@ module JAVA_CONTRIB_PROXY: _JAR_BASE {
# tag:java-specific
macro _FETCH_CONTRIB(Id, Out, SBR="sbr:") {
- .CMD=${hide:SANDBOX_FAKEID} ${cwd:BINDIR} ${resource;pre=$SBR:Id} $YMAKE_PYTHON ${input:"build/scripts/fetch_from_sandbox.py"} --resource-file $(RESOURCE_ROOT)/sbr/$Id/resource --resource-id $Id --copy-to ${output:Out} ${input;hide:"build/scripts/fetch_from.py"} ${requirements;hide:"network:full"} ${kv;hide:"p SB"} ${kv;hide:"pc yellow"} ${kv;hide:"show_out"}
+ .CMD=${hide:SANDBOX_FAKEID} ${cwd:BINDIR} ${resource;pre=$SBR:Id} $YMAKE_PYTHON ${input:"build/scripts/fetch_from_sandbox.py"} --resource-file $(RESOURCE_ROOT)/sbr/$Id/resource --resource-id $Id --copy-to ${output:Out} ${hide;input:"build/scripts/fetch_from.py"} ${requirements;hide:"network:full"} ${hide;kv:"p SB"} ${hide;kv:"pc yellow"} ${hide;kv:"show_out"}
ADD_CHECK(check.resource $Id)
}
@@ -674,7 +674,7 @@ module JAVA_CONTRIB: _JAR_BASE {
_SETUP_MAVEN_EXPORT_COORDS_IF_NEED($MODDIR)
}
-MAKE_JAVA_CLASSPATH_FILE=$YMAKE_PYTHON ${input:"build/scripts/make_java_classpath_file.py"} ${input;hide:"build/scripts/process_command_files.py"}
+MAKE_JAVA_CLASSPATH_FILE=$YMAKE_PYTHON ${input:"build/scripts/make_java_classpath_file.py"} ${hide;input:"build/scripts/process_command_files.py"}
# tag:kotlin-specific
KOTLINC_OPTS_VALUE=
@@ -688,8 +688,8 @@ COLLECT_KT_CLASSPATH=${WRITER_PY} --file ${BINDIR}/kt_bfg.txt -m --ya-start-comm
LINK_KT_CLASSPATH=${MAKE_JAVA_CLASSPATH_FILE} ${BINDIR}/kt_bfg.txt $KT_CLASSPATH && $FS_TOOLS md $KT_CLASSES_DIR
COMPILE_KT= \
${cwd:ARCADIA_BUILD_ROOT} ${env:"LC_ALL=en_US.UTF-8"} $YMAKE_PYTHON ${input:"build/scripts/run_javac.py"} \
- ${input;hide:"build/scripts/build_java_with_error_prone2.py"} \
- ${input;hide:"build/scripts/setup_java_tmpdir.py"} \
+ ${hide;input:"build/scripts/build_java_with_error_prone2.py"} \
+ ${hide;input:"build/scripts/setup_java_tmpdir.py"} \
--kotlin --sources-list $KT_SRCLIST \
$JDK_RESOURCE/bin/java -jar $KOTLIN_COMPILER_RESOURCE_GLOBAL/kotlin-compiler.jar -no-stdlib -module-name $REALPRJNAME \
-jvm-target ${KOTLIN_JVM_TARGET} @$KT_SRCLIST -classpath @$KT_CLASSPATH $KOTLINC_FLAGS_VALUE -d $KT_CLASSES_DIR $KOTLINC_OPTS_VALUE
@@ -776,7 +776,7 @@ macro _PACK_JAR_HELPER(Out) {
# tag:java-specific
macro _JAVAC_RUN_HELPER(JAVAC_CMD_WITH_ARGS...) {
- .CMD=${cwd:ARCADIA_BUILD_ROOT} ${env:"LC_ALL=en_US.UTF-8"} $YMAKE_PYTHON ${input:"build/scripts/run_javac.py"} ${input;hide:"build/scripts/build_java_with_error_prone2.py"} ${input;hide:"build/scripts/setup_java_tmpdir.py"} --with-setup-java-tmpdir --sources-list ${BINDIR}/all-java.srclst ${RUN_JAVAC_ARGS} ${JAVAC_CMD_WITH_ARGS} @${BINDIR}/all-java.srclst -classpath ${ARCADIA_BUILD_ROOT}/bfg.jar -Xpkginfo:always ${JAVAC_OPTS} $_JAR_ANN_PROC_OPTS($_JAR_ANN_PROCESSORS) -d ${BINDIR}/cls -g -encoding UTF-8
+ .CMD=${cwd:ARCADIA_BUILD_ROOT} ${env:"LC_ALL=en_US.UTF-8"} $YMAKE_PYTHON ${input:"build/scripts/run_javac.py"} ${hide;input:"build/scripts/build_java_with_error_prone2.py"} ${hide;input:"build/scripts/setup_java_tmpdir.py"} --with-setup-java-tmpdir --sources-list ${BINDIR}/all-java.srclst ${RUN_JAVAC_ARGS} ${JAVAC_CMD_WITH_ARGS} @${BINDIR}/all-java.srclst -classpath ${ARCADIA_BUILD_ROOT}/bfg.jar -Xpkginfo:always ${JAVAC_OPTS} $_JAR_ANN_PROC_OPTS($_JAR_ANN_PROCESSORS) -d ${BINDIR}/cls -g -encoding UTF-8
}
# tag:java-specific
@@ -807,7 +807,7 @@ MAVEN_EXPORT_GEN_DEPLST= \
--file ${output;pre=$MODULE_PREFIX;suf=$MODULE_SUFFIX.mvn_coords:REALPRJNAME} \
--ya-start-command-file -m ${pre=D=:MAVEN_EXPORT_COORDS_GLOBAL} ${pre=E=:EXCLUDED_MAVEN_EXPORT_COORDS_GLOBAL} --ya-end-command-file \
${hide:APPLIED_EXCLUDES}
-MAVEN_EXPORT_GEN_POM=${kv;hide:"mvn_export yes"} \
+MAVEN_EXPORT_GEN_POM=${hide;kv:"mvn_export yes"} \
$YMAKE_PYTHON ${input:"build/scripts/generate_pom.py"} \
--from-coord-files \
--vcs-info $(VCS)/vcs.json \
@@ -831,13 +831,13 @@ JAVA_COVERAGE_SRCLIST_FLAG=--coverage ${output;pre=${MODULE_PREFIX};suf=.cpsf:RE
JAVA_COVERAGE_SRCLIST=
PREPARE_JAVA_BUILD_DIRS=$FS_TOOLS md ${BINDIR}/cls && $FS_TOOLS md ${BINDIR}/misc
EXTRACT_GENDIRS=${cwd:BINDIR} $YMAKE_PYTHON ${input:"build/scripts/autotar_gendirs.py"} --unpack --ext .gentar ${ext=.gentar:AUTO_INPUT}
-COLLECT_JAVA_SRCLIST=${YMAKE_PYTHON} ${input:"build/scripts/make_java_srclists.py"} ${input;hide:"build/scripts/process_command_files.py"} ${input;hide:"build/scripts/java_pack_to_file.py"} --moddir ${CURDIR} --java ${BINDIR}/all-java.srclst ${KT_SRSCLIST} ${JAVA_COVERAGE_SRCLIST} --ya-start-command-file ${ALL_JAR_SOURCES} ${ext=.java:AUTO_INPUT} ${ext=.kt:AUTO_INPUT} --ya-end-command-file
+COLLECT_JAVA_SRCLIST=${YMAKE_PYTHON} ${input:"build/scripts/make_java_srclists.py"} ${hide;input:"build/scripts/process_command_files.py"} ${hide;input:"build/scripts/java_pack_to_file.py"} --moddir ${CURDIR} --java ${BINDIR}/all-java.srclst ${KT_SRSCLIST} ${JAVA_COVERAGE_SRCLIST} --ya-start-command-file ${ALL_JAR_SOURCES} ${ext=.java:AUTO_INPUT} ${ext=.kt:AUTO_INPUT} --ya-end-command-file
COLLECT_CLASSPATH=${WRITER_PY} --file ${BINDIR}/bfg.txt -m --ya-start-command-file ${rootrel:MANAGED_PEERS_CLOSURE} $KT_CLASSPATH_ITEM --ya-end-command-file
LINK_CLASSPATH=${YMAKE_PYTHON} ${input:"build/scripts/make_manifest_from_bf.py"} ${BINDIR}/bfg.txt ${ARCADIA_BUILD_ROOT}/bfg.jar
COMPILE_JAVA_SRCLIST=$_JAVAC_RUN_HELPER($JAVAC_CMD)
PACK_JAR=$_PACK_JAR_HELPER($TARGET)
# NOTE: No && before LINK_JAR_RESOURCES, ALL_KT_COMMANDS and JAR_GEN_SRCS needed since those vars either empty or starts with &&
-LINK_JAR=${hide:JAVA_FAKEID} ${kv;hide:"p JV"} ${kv;hide:"pc light-blue"} ${kv;hide:"show_out"} ${requirements;hide:"cpu:2"} \
+LINK_JAR=${hide:JAVA_FAKEID} ${hide;kv:"p JV"} ${hide;kv:"pc light-blue"} ${hide;kv:"show_out"} ${requirements;hide:"cpu:2"} \
$PREPARE_JAVA_BUILD_DIRS \
&& $EXTRACT_GENDIRS \
&& $COLLECT_JAVA_SRCLIST \
@@ -1048,7 +1048,7 @@ module JAR_LIBRARY: _COMPILABLE_JAR_BASE {
DEPENDENCY_MANAGEMENT(contrib/java/org/jetbrains/kotlin/kotlin-stdlib-jdk8/${_KOTLIN_VERSION})
when ($WITH_KOTLIN_VALUE) {
KT_SRSCLIST=$KT_SRSCLIST_FLAG
- _MAKE_LINT_KT_FILES_LIST = $YMAKE_PYTHON ${input:"build/scripts/kt_copy.py"} $KT_SRCLIST ${output;noauto:"all-kt-sources.txt"} $(SOURCE_ROOT) $(BUILD_ROOT)
+ _MAKE_LINT_KT_FILES_LIST = $YMAKE_PYTHON ${input:"build/scripts/kt_copy.py"} $KT_SRCLIST ${noauto;output:"all-kt-sources.txt"} $(SOURCE_ROOT) $(BUILD_ROOT)
ALL_KT_COMMANDS=&& $COLLECT_KT_CLASSPATH && $LINK_KT_CLASSPATH
when ($WITH_KAPT_VALUE == "yes") {
# For Kapt usage see: https://kotlinlang.org/docs/kapt.html#using-in-cli
@@ -1079,7 +1079,7 @@ module JAR_LIBRARY: _COMPILABLE_JAR_BASE {
KOTLINC_OPTS_VALUE+=-P plugin:detekt-compiler-plugin:report=xml:${BINDIR}/misc/detekt-report.xml
# If there are no kt sources, the report won't be generated, however the file must be always present.
ALL_KT_COMMANDS+=&& $YMAKE_PYTHON ${input:"build/scripts/touch.py"} ${BINDIR}/misc/detekt-report.xml
- ALL_KT_COMMANDS+=&& $FS_TOOLS copy ${BINDIR}/misc/detekt-report.xml ${output;noauto:"detekt-report.xml"}
+ ALL_KT_COMMANDS+=&& $FS_TOOLS copy ${BINDIR}/misc/detekt-report.xml ${noauto;output:"detekt-report.xml"}
}
# Must be in sync with KT_CLASSES_DIR!
# There are problems in JDK13 with abs paths in classpath baked into jar file manifest. Using relative path
@@ -1126,7 +1126,7 @@ module JAR_LIBRARY: _COMPILABLE_JAR_BASE {
when($JAVA_YNDEXING == "yes") {
PEERDIR+=build/platform/java/kythe
- _DO_JAVA_YNDEXING=&& $_JAVAC_RUN_HELPER($_JAVA_YNDEXING_CMD) && ${cwd:BINDIR} $YMAKE_PYTHON ${input:"build/scripts/find_and_tar.py"} kindex.tar .kzip ${output;hide;tared:"kindex.tar"}
+ _DO_JAVA_YNDEXING=&& $_JAVAC_RUN_HELPER($_JAVA_YNDEXING_CMD) && ${cwd:BINDIR} $YMAKE_PYTHON ${input:"build/scripts/find_and_tar.py"} kindex.tar .kzip ${hide;output;tared:"kindex.tar"}
}
when($ERROR_PRONE_VALUE) {
@@ -1170,7 +1170,7 @@ module JAR_LIBRARY: _COMPILABLE_JAR_BASE {
}
when ($LINT_LEVEL_VALUE != "none") {
- _MAKE_JSTYLE_FILE_LIST= && ${WRITER_PY} --file ${output;noauto:"lint-java.srclst"} -m --ya-start-command-file $LINT_JAVA_SOURCES --ya-end-command-file
+ _MAKE_JSTYLE_FILE_LIST= && ${WRITER_PY} --file ${noauto;output:"lint-java.srclst"} -m --ya-start-command-file $LINT_JAVA_SOURCES --ya-end-command-file
}
SET(MODULE_TYPE JAVA_LIBRARY)
@@ -1211,11 +1211,11 @@ COLLECT_JAR_PROGRAM_CP=$FS_TOOLS link_or_copy_to_dir --ya-start-command-file ${e
MAKE_JAR_PROGRAM_CPLST=${MAKE_JAVA_CLASSPATH_FILE} --from-args ${output;pre=$MODULE_PREFIX;suf=${MODULE_SUFFIX}.cplst:REALPRJNAME} --ya-start-command-file ${nopath;rootrel;ext=.jar;pre=$BINDIR/$REALPRJNAME/:MANAGED_PEERS_CLOSURE} ${_SOURCE_JARS_CPLIST} --ya-end-command-file
TAR_CLASSPATH= && $YMAKE_PYTHON ${input:"build/scripts/find_and_tar.py"} ${output;pre=$MODULE_PREFIX;suf=.tar:REALPRJNAME} ${cwd;pre=$BINDIR/:REALPRJNAME}
DO_TAR_CLASSPATH=
-LINK_JAR_PROGRAM=${hide:JAVA_FAKEID} $FS_TOOLS md ${BINDIR}/${REALPRJNAME} && $COLLECT_JAR_PROGRAM_CP && $DO_GEN_JAVA_RUN_SH && $GEN_RUN_CP && $MAKE_JAR_PROGRAM_CPLST $DO_TAR_CLASSPATH $_GEN_USERSCRIPTS $_PACK_JDK ${kv;hide:"p JP"} ${kv;hide:"pc light-blue"} ${kv;hide:"show_out"}
+LINK_JAR_PROGRAM=${hide:JAVA_FAKEID} $FS_TOOLS md ${BINDIR}/${REALPRJNAME} && $COLLECT_JAR_PROGRAM_CP && $DO_GEN_JAVA_RUN_SH && $GEN_RUN_CP && $MAKE_JAR_PROGRAM_CPLST $DO_TAR_CLASSPATH $_GEN_USERSCRIPTS $_PACK_JDK ${hide;kv:"p JP"} ${hide;kv:"pc light-blue"} ${hide;kv:"show_out"}
# tag:java-specific
# UBERJAR program link command
-LINK_UBERJAR_PROGRAM=${hide:JAVA_FAKEID} ${kv;hide:"p UJ"} ${MAKE_JAVA_CLASSPATH_FILE} --from-args ${output;pre=$MODULE_PREFIX;suf=${MODULE_SUFFIX}.cplst:REALPRJNAME} $TARGET \
+LINK_UBERJAR_PROGRAM=${hide:JAVA_FAKEID} ${hide;kv:"p UJ"} ${MAKE_JAVA_CLASSPATH_FILE} --from-args ${output;pre=$MODULE_PREFIX;suf=${MODULE_SUFFIX}.cplst:REALPRJNAME} $TARGET \
&& $FS_TOOLS md ${BINDIR}/${REALPRJNAME} \
&& $FS_TOOLS link_or_copy ${BINDIR}/${REALPRJNAME}.jar $TARGET \
&& $FS_TOOLS link_or_copy_to_dir --ya-start-command-file ${BINDIR}/${REALPRJNAME}.jar ${ext=.so:MANAGED_PEERS_CLOSURE} ${ext=.dll:MANAGED_PEERS_CLOSURE} ${ext=.dylib:MANAGED_PEERS_CLOSURE} ${_SOURCE_JARS} --ya-end-command-file ${BINDIR}/${REALPRJNAME} ${hide;output;ext=.jar;pre=$BINDIR/$REALPRJNAME/:REALPRJNAME} ${hide;late_out;nopath;ext=.so;pre=$BINDIR/$REALPRJNAME/:MANAGED_PEERS_CLOSURE} ${hide;late_out;nopath;ext=.dll;pre=$BINDIR/$REALPRJNAME/:MANAGED_PEERS_CLOSURE} ${hide;late_out;nopath;ext=.dylib;pre=$BINDIR/$REALPRJNAME/:MANAGED_PEERS_CLOSURE} \
@@ -1275,7 +1275,7 @@ module _JAR_RUNNABLE: _COMPILABLE_JAR_BASE {
}
# tag:java-specific
-LINK_JAR_TEST=${hide:JAVA_FAKEID} ${WRITER_PY} --file ${BINDIR}/run-bf.txt -Q -m --ya-start-command-file ${ext=.jar:MANAGED_PEERS_CLOSURE} --ya-end-command-file && ${YMAKE_PYTHON} ${input:"build/scripts/make_manifest_from_bf.py"} ${BINDIR}/run-bf.txt ${TARGET} ${kv;hide:"p JT"}
+LINK_JAR_TEST=${hide:JAVA_FAKEID} ${WRITER_PY} --file ${BINDIR}/run-bf.txt -Q -m --ya-start-command-file ${ext=.jar:MANAGED_PEERS_CLOSURE} --ya-end-command-file && ${YMAKE_PYTHON} ${input:"build/scripts/make_manifest_from_bf.py"} ${BINDIR}/run-bf.txt ${TARGET} ${hide;kv:"p JT"}
YMAKE_JAVA_TEST=
module _JAR_TEST: _COMPILABLE_JAR_BASE {
.FINAL_TARGET=yes
@@ -1499,7 +1499,7 @@ elsewhen ($JDK_VERSION == "") {
otherwise {
EXTERNAL_JAVA_JDK_RESOURCE=$JDK_RESOURCE
}
-COMPILE_JAVA=${cwd:ARCADIA_BUILD_ROOT} $YMAKE_PYTHON3 ${input:"build/scripts/compile_java.py"} --ya-start-command-file --java-bin $EXTERNAL_JAVA_JDK_RESOURCE/bin/java --javac-bin $EXTERNAL_JAVA_JDK_RESOURCE/bin/javac --jar-bin $JDK_RESOURCE/bin/jar --kotlin-compiler $KOTLIN_COMPILER_RESOURCE_GLOBAL/kotlin-compiler.jar $JAVA_VCS_MF_ARG $PACKAGE_PREFIX_ARGS --jar-output $TARGET --srcs-jar-output ${output;suf=-sources.jar:REALPRJNAME} $AUTO_INPUT DELIM $JAVAC_OPTS DELIM $MANAGED_PEERS_CLOSURE DELIM -no-stdlib -module-name $REALPRJNAME -jvm-target ${KOTLIN_JVM_TARGET} ${KOTLINC_OPTS_VALUE} --ya-end-command-file ${kv;hide:"p JV"} ${kv;hide:"pc light-blue"} ${kv;hide:"show_out"} ${requirements;hide:"cpu:2"} ${hide;input:"build/scripts/java_command_file.py"} ${hide;input:"build/scripts/process_command_files.py"}
+COMPILE_JAVA=${cwd:ARCADIA_BUILD_ROOT} $YMAKE_PYTHON3 ${input:"build/scripts/compile_java.py"} --ya-start-command-file --java-bin $EXTERNAL_JAVA_JDK_RESOURCE/bin/java --javac-bin $EXTERNAL_JAVA_JDK_RESOURCE/bin/javac --jar-bin $JDK_RESOURCE/bin/jar --kotlin-compiler $KOTLIN_COMPILER_RESOURCE_GLOBAL/kotlin-compiler.jar $JAVA_VCS_MF_ARG $PACKAGE_PREFIX_ARGS --jar-output $TARGET --srcs-jar-output ${output;suf=-sources.jar:REALPRJNAME} $AUTO_INPUT DELIM $JAVAC_OPTS DELIM $MANAGED_PEERS_CLOSURE DELIM -no-stdlib -module-name $REALPRJNAME -jvm-target ${KOTLIN_JVM_TARGET} ${KOTLINC_OPTS_VALUE} --ya-end-command-file ${hide;kv:"p JV"} ${hide;kv:"pc light-blue"} ${hide;kv:"show_out"} ${requirements;hide:"cpu:2"} ${hide;input:"build/scripts/java_command_file.py"} ${hide;input:"build/scripts/process_command_files.py"}
ARGS_DELIM="MACRO_CALLS_DELIM"
@@ -2089,7 +2089,7 @@ macro JAR_EXCLUDE(Filters...) {
}
# tag:java-specific
-_COMPILE_JSRC=${cwd:ARCADIA_BUILD_ROOT} $YMAKE_PYTHON ${input:"build/scripts/compile_jsrc.py"} --input $AUTO_INPUT --output $TARGET --prefix $BINDIR ${kv;hide:"p JC"} ${kv;hide:"pc light-blue"} ${kv;hide:"show_out"}
+_COMPILE_JSRC=${cwd:ARCADIA_BUILD_ROOT} $YMAKE_PYTHON ${input:"build/scripts/compile_jsrc.py"} --input $AUTO_INPUT --output $TARGET --prefix $BINDIR ${hide;kv:"p JC"} ${hide;kv:"pc light-blue"} ${hide;kv:"show_out"}
# tag:java-specific
COMPILE_JSRC_MF=$_COMPILE_JSRC && $GENERATE_MF
@@ -2142,7 +2142,7 @@ otherwise {
###
### Specify JDK version for module
macro JDK_VERSION(Arg) {
- .SEM=required_jdk $Arg ${output;hide:"JdkVersionFakeProp.java"}
+ .SEM=required_jdk $Arg ${hide;output:"JdkVersionFakeProp.java"}
SET(JDK_REAL_VERSION $Arg)
_JDK_VERSION_MACRO_CHECK($Arg)
}
diff --git a/build/conf/project_specific/other.conf b/build/conf/project_specific/other.conf
index d187e706c4..0a121a5f04 100644
--- a/build/conf/project_specific/other.conf
+++ b/build/conf/project_specific/other.conf
@@ -7,5 +7,5 @@ BUILD_CATBOOST_SCRIPT=build/scripts/build_catboost.py
### cbname - name for a variable (of NCatboostCalcer::TCatboostCalcer type) to be available in CPP code.
### CatBoost specific macro.
macro BUILD_CATBOOST(CbModel, CbName) {
- .CMD=$YMAKE_PYTHON ${input:BUILD_CATBOOST_SCRIPT} build_cb_f $ARCADIA_ROOT $ARCH_TOOL ${input:CbModel} $CbName ${output;pre=cb.:CbName.cpp} ${output;hide;pre=CB_External_;suf=.rodata:CbName} ${output_include;hide:"kernel/catboost/catboost_calcer.h"} ${kv;hide:"p CB"} ${kv;hide:"pc yellow"}
+ .CMD=$YMAKE_PYTHON ${input:BUILD_CATBOOST_SCRIPT} build_cb_f $ARCADIA_ROOT $ARCH_TOOL ${input:CbModel} $CbName ${output;pre=cb.:CbName.cpp} ${hide;output;pre=CB_External_;suf=.rodata:CbName} ${hide;output_include:"kernel/catboost/catboost_calcer.h"} ${hide;kv:"p CB"} ${hide;kv:"pc yellow"}
}
diff --git a/build/conf/project_specific/yt.conf b/build/conf/project_specific/yt.conf
index d0c5cc9512..00c7b96ad0 100644
--- a/build/conf/project_specific/yt.conf
+++ b/build/conf/project_specific/yt.conf
@@ -1,5 +1,5 @@
macro GENERATE_YT_RECORD(Yaml, OUTPUT_INCLUDES[]) {
- .CMD=${tool:"yt/yt/tools/record_codegen"} --input ${input:Yaml} --output-root $ARCADIA_BUILD_ROOT --output-cpp ${output;norel;noext;suf=.record.cpp:Yaml} ${output;hide;norel;noext;suf=.record.h:Yaml} ${pre=--output-include :OUTPUT_INCLUDES} ${output_include;hide:OUTPUT_INCLUDES} ${output_include;hide:"yt/yt/client/table_client/record_codegen_deps.h"} ${kv;hide:"p RC"}
- .SEM=find_package Python3 && packages-ITEM && packages-name Python3 && mpackages-ITEM && mpackages-name Python3 && add_custom_command OUTPUT ${output;norel;noext;suf=.record.cpp:Yaml} ${output;norel;noext;suf=.record.h:Yaml} DEPENDS ${input:Yaml} ${input:"yt/yt/tools/record_codegen/__main__.py"} ${input:"yt/python/yt/record_codegen_helpers/__init__.py"} COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=$ENV{PYTHONPATH}:${ARCADIA_ROOT}/yt/python/yt" ${Python3_EXECUTABLE} ${input:"yt/yt/tools/record_codegen/__main__.py"} --input ${input:Yaml} --output-root $ARCADIA_BUILD_ROOT --output-cpp ${output;norel;noext;suf=.record.cpp:Yaml} ${pre=--output-include :OUTPUT_INCLUDES} ${output;hide;norel;noext;suf=.record.h:Yaml} && target_commands-ITEM && target_commands-macro add_custom_command && target_commands-args OUTPUT ${output;norel;noext;suf=.record.cpp:Yaml} ${output;norel;noext;suf=.record.h:Yaml} DEPENDS ${input:Yaml} ${input:"yt/yt/tools/record_codegen/__main__.py"} ${input:"yt/python/yt/record_codegen_helpers/__init__.py"} COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=$ENV{PYTHONPATH}:${ARCADIA_ROOT}/yt/python/yt" ${Python3_EXECUTABLE} ${input:"yt/yt/tools/record_codegen/__main__.py"} --input ${input:Yaml} --output-root $ARCADIA_BUILD_ROOT --output-cpp ${output;norel;noext;suf=.record.cpp:Yaml} ${pre=--output-include :OUTPUT_INCLUDES} ${output;hide;norel;noext;suf=.record.h:Yaml}
+ .CMD=${tool:"yt/yt/tools/record_codegen"} --input ${input:Yaml} --output-root $ARCADIA_BUILD_ROOT --output-cpp ${output;norel;noext;suf=.record.cpp:Yaml} ${hide;output;norel;noext;suf=.record.h:Yaml} ${pre=--output-include :OUTPUT_INCLUDES} ${hide;output_include:OUTPUT_INCLUDES} ${hide;output_include:"yt/yt/client/table_client/record_codegen_deps.h"} ${hide;kv:"p RC"}
+ .SEM=find_package Python3 && packages-ITEM && packages-name Python3 && mpackages-ITEM && mpackages-name Python3 && add_custom_command OUTPUT ${output;norel;noext;suf=.record.cpp:Yaml} ${output;norel;noext;suf=.record.h:Yaml} DEPENDS ${input:Yaml} ${input:"yt/yt/tools/record_codegen/__main__.py"} ${input:"yt/python/yt/record_codegen_helpers/__init__.py"} COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=$ENV{PYTHONPATH}:${ARCADIA_ROOT}/yt/python/yt" ${Python3_EXECUTABLE} ${input:"yt/yt/tools/record_codegen/__main__.py"} --input ${input:Yaml} --output-root $ARCADIA_BUILD_ROOT --output-cpp ${output;norel;noext;suf=.record.cpp:Yaml} ${pre=--output-include :OUTPUT_INCLUDES} ${hide;output;norel;noext;suf=.record.h:Yaml} && target_commands-ITEM && target_commands-macro add_custom_command && target_commands-args OUTPUT ${output;norel;noext;suf=.record.cpp:Yaml} ${output;norel;noext;suf=.record.h:Yaml} DEPENDS ${input:Yaml} ${input:"yt/yt/tools/record_codegen/__main__.py"} ${input:"yt/python/yt/record_codegen_helpers/__init__.py"} COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=$ENV{PYTHONPATH}:${ARCADIA_ROOT}/yt/python/yt" ${Python3_EXECUTABLE} ${input:"yt/yt/tools/record_codegen/__main__.py"} --input ${input:Yaml} --output-root $ARCADIA_BUILD_ROOT --output-cpp ${output;norel;noext;suf=.record.cpp:Yaml} ${pre=--output-include :OUTPUT_INCLUDES} ${hide;output;norel;noext;suf=.record.h:Yaml}
PEERDIR(yt/yt/client)
}
diff --git a/build/conf/proto.conf b/build/conf/proto.conf
index b53adb1256..0f906cabab 100644
--- a/build/conf/proto.conf
+++ b/build/conf/proto.conf
@@ -150,8 +150,8 @@ macro _PROTO_PLUGIN_ARGS_BASE(Name, Tool, OutParm...) {
# tag:proto tag:python-specific
macro _ADD_PY_PROTO_OUT(Suf) {
- SET_APPEND(PY_PROTO_OUTS \${output;hide;noauto;norel;nopath;noext;suf=$Suf:File})
- SET_APPEND(PY_PROTO_OUTS_INTERNAL \${output;hide;noauto;norel;nopath;noext;suf=__int${_PYTHON_VER}__$Suf:File} \${hide;kv:"ext_out_name_for_\${nopath;noext;suf=__int${_PYTHON_VER}__$Suf:File} \${nopath;noext;suf=$Suf:File}"})
+ SET_APPEND(PY_PROTO_OUTS \${hide;noauto;output;norel;nopath;noext;suf=$Suf:File})
+ SET_APPEND(PY_PROTO_OUTS_INTERNAL \${hide;noauto;output;norel;nopath;noext;suf=__int${_PYTHON_VER}__$Suf:File} \${hide;kv:"ext_out_name_for_\${nopath;noext;suf=__int${_PYTHON_VER}__$Suf:File} \${nopath;noext;suf=$Suf:File}"})
# XXX fix variable expansion in plugins
SET(PY_PROTO_SUFFIXES $PY_PROTO_SUFFIXES $Suf)
}
@@ -210,7 +210,7 @@ macro WITH_KOTLIN_GRPC() {
# tag:proto tag:cpp-specific
macro _ADD_CPP_PROTO_OUT(Suf) {
- .SEM=append_target_property PROTOC_EXTRA_OUTS $Suf ${output;hide;suf=.o:Suf} $_ADD_SEM_PROP_IF_NON_EMPTY(PROTO_NAMESPACE $PROTO_NAMESPACE)
+ .SEM=append_target_property PROTOC_EXTRA_OUTS $Suf ${hide;output;suf=.o:Suf} $_ADD_SEM_PROP_IF_NON_EMPTY(PROTO_NAMESPACE $PROTO_NAMESPACE)
SET_APPEND(CPP_PROTO_OUTS \${output;norel;nopath;noext;suf=$Suf:File})
SET_APPEND(PROTOC_EXTRA_OUTS_SEM && protoc_extra_outs $Suf)
@@ -228,7 +228,7 @@ CPP_PROTOBUF_PEERS=
### Define protoc plugin for C++ with given Name that emits code into regular outputs
### using Tool. Extra dependencies are passed via DEPS.
macro CPP_PROTO_PLUGIN0(NAME, TOOL, DEPS[], EXTRA_OUT_FLAG="") {
- .SEM=target_proto_plugin $NAME ${tool;rootrel:TOOL} ${output;hide;suf=.fake.o:NAME} && target_macroses-ITEM && target_macroses-macro target_proto_plugin && target_macroses-args $NAME ${tool;rootrel:TOOL} ${output;hide;suf=.fake.o:NAME}
+ .SEM=target_proto_plugin $NAME ${tool;rootrel:TOOL} ${hide;output;suf=.fake.o:NAME} && target_macroses-ITEM && target_macroses-macro target_proto_plugin && target_macroses-args $NAME ${tool;rootrel:TOOL} ${hide;output;suf=.fake.o:NAME}
SET_APPEND(CPP_PROTO_OPTS $_PROTO_PLUGIN_ARGS_BASE($NAME $TOOL $EXTRA_OUT_FLAG))
# XXX fix variable expansion in plugins
@@ -256,7 +256,7 @@ macro CPP_PROTO_PLUGIN2(NAME, TOOL, SUF1, SUF2, DEPS[], EXTRA_OUT_FLAG="") {
CPP_PROTO_PLUGIN($NAME $TOOL $SUF1 DEPS $DEPS ${pre=EXTRA_OUT_FLAG :EXTRA_OUT_FLAG})
_ADD_CPP_PROTO_OUT($SUF2)
- SET_APPEND(CPP_PROTO_OUTS_SEM \${output;hide;norel;nopath;noext;suf=$SUF2:File})
+ SET_APPEND(CPP_PROTO_OUTS_SEM \${hide;output;norel;nopath;noext;suf=$SUF2:File})
}
# tag:proto
@@ -357,7 +357,7 @@ GO_PROTOBUF_WELLKNOWN_TYPES=\
### Ext using Tool. Extra dependencies are passed via DEPS.
macro GO_PROTO_PLUGIN(NAME, EXT, TOOL, DEPS[]) {
SET_APPEND(GO_PROTO_OPTS $_PROTO_PLUGIN_ARGS_BASE($NAME $TOOL))
- SET_APPEND(GO_PROTO_OUTS \${output;hide;noauto;norel;nopath;noext;suf=$EXT:File})
+ SET_APPEND(GO_PROTO_OUTS \${hide;noauto;output;norel;nopath;noext;suf=$EXT:File})
PEERDIR(${DEPS})
}
@@ -366,7 +366,7 @@ GO_PROTO_CMDLINE=${cwd;rootdir;input:File} $YMAKE_PYTHON3 ${input:"build/scripts
# tag:go-specific tag:proto
macro _GO_PROTO_CMD_IMPL(File, OPTS...) {
- .CMD=$GO_PROTO_CMDLINE $OPTS ${kv;hide:"p PB"} ${kv;hide:"pc yellow"}
+ .CMD=$GO_PROTO_CMDLINE $OPTS ${hide;kv:"p PB"} ${hide;kv:"pc yellow"}
.PEERDIR=${GO_PROTOBUF_IMPORTS} ${GO_PROTOBUF_WELLKNOWN_TYPES}
.ADDINCL=FOR proto ${PROTOBUF_INCLUDE_PATH}
}
@@ -381,7 +381,7 @@ macro _GO_PROTO_CMD(File) {
###
### Generate .yson.go from .proto using yt/yt/orm/go/codegen/yson/internal/proto-yson-gen/cmd/proto-yson-gen
macro YT_ORM_PROTO_YSON(OUT_OPTS[], Files...) {
- .CMD=${cwd:BINDIR} $PROTOC --plugin=protoc-gen-custom=${tool:"yt/yt/orm/go/codegen/yson/internal/proto-yson-gen/cmd/proto-yson-gen"} -I=${ARCADIA_ROOT}/${PROTO_NAMESPACE} ${pre=-I=:_PROTO__INCLUDE} -I=${ARCADIA_ROOT} --custom_out="$OUT_OPTS paths=base_name:." --custom_opt="goroot=${GO_TOOLS_ROOT}" $_PROTOC_FLAGS ${input:Files} ${output;hide;noauto;nopath;noext;suf=.yson.go:Files} ${hide:PROTO_FAKEID}
+ .CMD=${cwd:BINDIR} $PROTOC --plugin=protoc-gen-custom=${tool:"yt/yt/orm/go/codegen/yson/internal/proto-yson-gen/cmd/proto-yson-gen"} -I=${ARCADIA_ROOT}/${PROTO_NAMESPACE} ${pre=-I=:_PROTO__INCLUDE} -I=${ARCADIA_ROOT} --custom_out="$OUT_OPTS paths=base_name:." --custom_opt="goroot=${GO_TOOLS_ROOT}" $_PROTOC_FLAGS ${input:Files} ${hide;noauto;output;nopath;noext;suf=.yson.go:Files} ${hide:PROTO_FAKEID}
.ADDINCL=FOR proto ${ARCADIA_ROOT}/${MODDIR} FOR proto ${ARCADIA_ROOT}/${GO_TEST_IMPORT_PATH} FOR proto yt ${ARCADIA_BUILD_ROOT}/yt FOR proto ${PROTOBUF_INCLUDE_PATH}
.PEERDIR=$GOSTD/strings $GOSTD/fmt $GOSTD/errors $GOSTD/encoding/json library/go/core/xerrors yt/go/yson yt/go/yterrors yt/yt/orm/go/codegen/yson/ytypes contrib/libs/protobuf
@@ -389,7 +389,7 @@ macro YT_ORM_PROTO_YSON(OUT_OPTS[], Files...) {
_SEM_CPP_PROTO_CMD=target_proto_messages PRIVATE ${input:File} \
&& target_options-privates-ITEM && target_options-privates-option target_proto_messages && target_options-privates-args ${input:File} \
- $CPP_PROTO_OUTS_SEM ${output;hide;suf=${OBJ_SUF}.pb.o:File} $DEFAULT_PROTOC_TOOLS \
+ $CPP_PROTO_OUTS_SEM ${hide;output;suf=${OBJ_SUF}.pb.o:File} $DEFAULT_PROTOC_TOOLS \
$PROTOC_EXTRA_OUTS_SEM \
&& set_global_flags COMMON_PROTOC_FLAGS \
&& platform_vars-COMMON_PROTOC_FLAGS "" \
@@ -400,20 +400,20 @@ _SEM_CPP_PROTO_CMD=target_proto_messages PRIVATE ${input:File} \
# tag:proto
macro _CPP_PROTO_CMD(File) {
- .CMD=$CPP_PROTO_CMDLINE $CPP_PROTO_OPTS ${kv;hide:"p PB"} ${kv;hide:"pc yellow"}
+ .CMD=$CPP_PROTO_CMDLINE $CPP_PROTO_OPTS ${hide;kv:"p PB"} ${hide;kv:"pc yellow"}
.SEM=$_SEM_CPP_PROTO_CMD
.PEERDIR=contrib/libs/protobuf
}
# tag:proto
macro _CPP_VANILLA_PROTO_CMD(File) {
- .CMD=$CPP_PROTO_CMDLINE $CPP_PROTO_OPTS ${kv;hide:"p PB"} ${kv;hide:"pc yellow"}
+ .CMD=$CPP_PROTO_CMDLINE $CPP_PROTO_OPTS ${hide;kv:"p PB"} ${hide;kv:"pc yellow"}
.PEERDIR=contrib/libs/protobuf_std
}
_SEM_CPP_EV_CMD=target_ev_messages PRIVATE ${input:File} \
&& target_options-privates-ITEM && target_options-privates-option target_ev_messages && target_options-privates-args ${input:File} \
- $CPP_EV_OUTS_SEM ${output;hide;suf=${OBJ_SUF}.pb.o:File} ${hide;tool:"tools/event2cpp/bin"} $DEFAULT_PROTOC_TOOLS \
+ $CPP_EV_OUTS_SEM ${hide;output;suf=${OBJ_SUF}.pb.o:File} ${hide;tool:"tools/event2cpp/bin"} $DEFAULT_PROTOC_TOOLS \
&& set_global_flags COMMON_PROTOC_FLAGS \
&& platform_vars-COMMON_PROTOC_FLAGS "" \
&& target_proto_outs --cpp_out=$ARCADIA_BUILD_ROOT/$PROTO_NAMESPACE $PROTOC_STYLEGUIDE_OUT --event2cpp_out=$ARCADIA_BUILD_ROOT/$PROTO_NAMESPACE \
@@ -423,7 +423,7 @@ _SEM_CPP_EV_CMD=target_ev_messages PRIVATE ${input:File} \
# tag:proto
macro _CPP_EVLOG_CMD(File) {
- .CMD=$CPP_EV_CMDLINE $CPP_EV_OPTS ${kv;hide:"p EV"} ${kv;hide:"pc yellow"}
+ .CMD=$CPP_EV_CMDLINE $CPP_EV_OPTS ${hide;kv:"p EV"} ${hide;kv:"pc yellow"}
.SEM=$_SEM_CPP_EV_CMD
.PEERDIR=library/cpp/eventlog contrib/libs/protobuf
}
@@ -431,14 +431,14 @@ macro _CPP_EVLOG_CMD(File) {
# tag:proto
macro _CPP_PROTO_EVLOG_CMD(File) {
# process .proto as .ev
- .CMD=$CPP_PROTO_CMDLINE $CPP_EV_OPTS ${kv;hide:"p PB"} ${kv;hide:"pc yellow"}
+ .CMD=$CPP_PROTO_CMDLINE $CPP_EV_OPTS ${hide;kv:"p PB"} ${hide;kv:"pc yellow"}
.PEERDIR=library/cpp/eventlog contrib/libs/protobuf
}
# tag:proto
macro _CPP_CFGPROTO_CMD(File) {
# keep extension in output just as in EV: this is hard-coded behaviour of protoc for non-.proto extensions
- .CMD=$CPP_EV_CMDLINE --plugin=protoc-gen-config=${tool:"library/cpp/proto_config/plugin"} --config_out=$ARCADIA_BUILD_ROOT/$PROTO_NAMESPACE ${kv;hide:"p PB"} ${kv;hide:"pc yellow"}
+ .CMD=$CPP_EV_CMDLINE --plugin=protoc-gen-config=${tool:"library/cpp/proto_config/plugin"} --config_out=$ARCADIA_BUILD_ROOT/$PROTO_NAMESPACE ${hide;kv:"p PB"} ${hide;kv:"pc yellow"}
.PEERDIR=library/cpp/proto_config/codegen library/cpp/proto_config/protos contrib/libs/protobuf
}
@@ -458,7 +458,7 @@ macro NO_MYPY() {
# tag:proto tag:python-specific
macro _PY_PROTO_CMD_BASE(File, Suf, Args...) {
- .CMD=$PY_PROTOC -I=./$PROTO_NAMESPACE -I=$ARCADIA_ROOT/$PROTO_NAMESPACE ${pre=-I=:_PROTO__INCLUDE} -I=$ARCADIA_BUILD_ROOT -I=$PROTOBUF_INCLUDE_PATH --python_out=$ARCADIA_BUILD_ROOT/$PROTO_NAMESPACE $_PROTOC_FLAGS ${input;rootrel:File} ${output;main;hide;noauto;norel;nopath;noext;suf=$Suf:File} ${kv;hide:"p PB"} ${kv;hide:"pc yellow"} $Args ${hide:PROTO_FAKEID}
+ .CMD=$PY_PROTOC -I=./$PROTO_NAMESPACE -I=$ARCADIA_ROOT/$PROTO_NAMESPACE ${pre=-I=:_PROTO__INCLUDE} -I=$ARCADIA_BUILD_ROOT -I=$PROTOBUF_INCLUDE_PATH --python_out=$ARCADIA_BUILD_ROOT/$PROTO_NAMESPACE $_PROTOC_FLAGS ${input;rootrel:File} ${output;main;hide;noauto;norel;nopath;noext;suf=$Suf:File} ${hide;kv:"p PB"} ${hide;kv:"pc yellow"} $Args ${hide:PROTO_FAKEID}
}
# tag:proto tag:python-specific
@@ -505,7 +505,7 @@ otherwise {
KOTLIN_PROTO_FLAGS=
# tag:proto tag:java-specific
macro _JAVA_PROTO_CMD(File) {
- .CMD=${cwd;rootdir;input:File} $YMAKE_PYTHON ${input:"build/scripts/tared_protoc.py"} --tar-output ${output;norel;nopath;noext;suf=.jsrc:File} --protoc-out-dir $ARCADIA_BUILD_ROOT/java_out $JAVA_PROTOC -I=./$PROTO_NAMESPACE ${pre=-I=:_PROTO__INCLUDE} -I=$ARCADIA_ROOT --java_out=${_JAVA_PROTO_LITE_ARG}$ARCADIA_BUILD_ROOT/java_out ${KOTLIN_PROTO_FLAGS} $_PROTOC_FLAGS ${input;rootrel:File} ${kv;hide:"p PB"} ${kv;hide:"pc yellow"} $JAVA_PROTO_ARGS ${hide:PROTO_FAKEID}
+ .CMD=${cwd;rootdir;input:File} $YMAKE_PYTHON ${input:"build/scripts/tared_protoc.py"} --tar-output ${output;norel;nopath;noext;suf=.jsrc:File} --protoc-out-dir $ARCADIA_BUILD_ROOT/java_out $JAVA_PROTOC -I=./$PROTO_NAMESPACE ${pre=-I=:_PROTO__INCLUDE} -I=$ARCADIA_ROOT --java_out=${_JAVA_PROTO_LITE_ARG}$ARCADIA_BUILD_ROOT/java_out ${KOTLIN_PROTO_FLAGS} $_PROTOC_FLAGS ${input;rootrel:File} ${hide;kv:"p PB"} ${hide;kv:"pc yellow"} $JAVA_PROTO_ARGS ${hide:PROTO_FAKEID}
.SEM=proto_files ${input;rootrel:File} ${hide;output:File.jsrc}
}
@@ -544,7 +544,7 @@ macro _PY_EVLOG_CMD_INTERNAL(File) {
# tag:java-specific tag:proto
macro _JAVA_EVLOG_CMD(File) {
- .CMD=$COPY_CMD ${input:File} ${output;nopath;noext;norel;suf=_ev.proto:File} ${kv;hide:"p EV"} ${kv;hide:"pc yellow"}
+ .CMD=$COPY_CMD ${input:File} ${output;nopath;noext;norel;suf=_ev.proto:File} ${hide;kv:"p EV"} ${hide;kv:"pc yellow"}
.PEERDIR=library/cpp/eventlog/proto
}
@@ -583,7 +583,7 @@ macro GRPC_WITH_GMOCK() {
SET(_GRPC_GMOCK_OUTFLAG EXTRA_OUT_FLAG generate_mock_code=true)
GRPC()
_ADD_CPP_PROTO_OUT(_mock$_GRPC_SUF_H)
- SET_APPEND(CPP_PROTO_OUTS_SEM ${output;hide;norel;nopath;noext;suf=_mock$_GRPC_SUF_H:File})
+ SET_APPEND(CPP_PROTO_OUTS_SEM ${hide;output;norel;nopath;noext;suf=_mock$_GRPC_SUF_H:File})
}
macro GO_PROTO_USE_V2() {
@@ -638,13 +638,13 @@ macro _GENERATE_PY_EVS_INTERNAL(FILES...) {
###
### TODO: proper implementation needed
macro LIST_PROTO(TO="files.proto", Files...) {
- .CMD=$YMAKE_PYTHON3 ${input:"build/scripts/list.py"} ${Files} ${input;hide:Files} ${stdout;output;noauto:TO} ${output_include;from_input;hide:Files}
+ .CMD=$YMAKE_PYTHON3 ${input:"build/scripts/list.py"} ${Files} ${hide;input:Files} ${stdout;noauto;output:TO} ${output_include;from_input;hide:Files}
_COMPILE_LIST_PROTO(${TO})
_EXPOSE(${TO})
}
macro _COMPILE_LIST_PROTO(SRC) {
- .CMD=$YMAKE_PYTHON ${input:"build/scripts/touch.py"} ${input;hide:SRC} ${output;noext;suf=.pb.h:SRC}
+ .CMD=$YMAKE_PYTHON ${input:"build/scripts/touch.py"} ${hide;input:SRC} ${output;noext;suf=.pb.h:SRC}
}
# tag:proto
@@ -652,8 +652,8 @@ macro _PROTO_DESC_RAWPROTO_CMD(File) {
.CMD=${cwd;rootdir;input:File} $YMAKE_PYTHON3 ${input:"build/scripts/desc_rawproto_wrapper.py"} --desc-output ${output;suf=.desc:File} --rawproto-output ${output;norel;suf=.${_MODDIR_HASH}.rawproto:File} --proto-file ${input;rootrel:File} -- $PROTOC -I=./$PROTO_NAMESPACE -I=$ARCADIA_ROOT/$PROTO_NAMESPACE ${pre=-I=:_PROTO__INCLUDE} -I=$ARCADIA_BUILD_ROOT -I=$PROTOBUF_INCLUDE_PATH --include_source_info $_PROTOC_FLAGS ${hide:PROTO_FAKEID}
}
-_PROTO_DESC_MERGE_CMD=$YMAKE_PYTHON3 ${input:"build/scripts/merge_files.py"} $TARGET ${ext=.desc:AUTO_INPUT} ${kv;hide:"p PD"} ${kv;hide:"pc light-cyan"} && ${cwd:ARCADIA_BUILD_ROOT} $YMAKE_PYTHON3 ${input:"build/scripts/collect_rawproto.py"} --output ${output;suf=.protosrc:REALPRJNAME} ${rootrel;ext=.rawproto:AUTO_INPUT}
-_PROTO_DESC_MERGE_PEERS_CMD=$YMAKE_PYTHON3 ${input:"build/scripts/merge_files.py"} $TARGET $PEERS ${ext=.protodesc:SRCS_GLOBAL} ${kv;hide:"p PD"} ${kv;hide:"pc light-cyan"} && ${cwd:ARCADIA_BUILD_ROOT} $YMAKE_PYTHON3 ${input:"build/scripts/merge_protosrc.py"} --output ${output;suf=.tar:REALPRJNAME} ${rootrel:PEERS}
+_PROTO_DESC_MERGE_CMD=$YMAKE_PYTHON3 ${input:"build/scripts/merge_files.py"} $TARGET ${ext=.desc:AUTO_INPUT} ${hide;kv:"p PD"} ${hide;kv:"pc light-cyan"} && ${cwd:ARCADIA_BUILD_ROOT} $YMAKE_PYTHON3 ${input:"build/scripts/collect_rawproto.py"} --output ${output;suf=.protosrc:REALPRJNAME} ${rootrel;ext=.rawproto:AUTO_INPUT}
+_PROTO_DESC_MERGE_PEERS_CMD=$YMAKE_PYTHON3 ${input:"build/scripts/merge_files.py"} $TARGET $PEERS ${ext=.protodesc:SRCS_GLOBAL} ${hide;kv:"p PD"} ${hide;kv:"pc light-cyan"} && ${cwd:ARCADIA_BUILD_ROOT} $YMAKE_PYTHON3 ${input:"build/scripts/merge_protosrc.py"} --output ${output;suf=.tar:REALPRJNAME} ${rootrel:PEERS}
NEED_GOOGLE_PROTO_PEERDIRS=yes
diff --git a/build/conf/python.conf b/build/conf/python.conf
index eaa2c402c0..756d986315 100644
--- a/build/conf/python.conf
+++ b/build/conf/python.conf
@@ -31,29 +31,29 @@ contrib/tools/cython/Cython/Utility/TestUtilityLoader.c \
contrib/tools/cython/Cython/Utility/TypeConversion.c
macro _UNWRAP_TEXT_INPUTS(Files...) {
- .CMD=${input;context=TEXT;hide:Files}
+ .CMD=${hide;context=TEXT;input:Files}
}
macro _UNWRAP_OUTPUT_INCLUDES(Files...) {
- .CMD=${output_include;hide:Files}
+ .CMD=${hide;output_include:Files}
}
CYTHON_OUTPUT_INCLUDES=\
-${output_include;hide:"contrib/libs/python/Include/compile.h"} \
-${output_include;hide:"contrib/libs/python/Include/frameobject.h"} \
-${output_include;hide:"contrib/libs/python/Include/longintrepr.h"} \
-${output_include;hide:"contrib/libs/python/Include/pyconfig.h"} \
-${output_include;hide:"contrib/libs/python/Include/Python.h"} \
-${output_include;hide:"contrib/libs/python/Include/pythread.h"} \
-${output_include;hide:"contrib/libs/python/Include/structmember.h"} \
-${output_include;hide:"contrib/libs/python/Include/traceback.h"} \
-${output_include;hide:"contrib/tools/cython/generated_c_headers.h"} \
-${output_include;hide:"omp.h"} \
+${hide;output_include:"contrib/libs/python/Include/compile.h"} \
+${hide;output_include:"contrib/libs/python/Include/frameobject.h"} \
+${hide;output_include:"contrib/libs/python/Include/longintrepr.h"} \
+${hide;output_include:"contrib/libs/python/Include/pyconfig.h"} \
+${hide;output_include:"contrib/libs/python/Include/Python.h"} \
+${hide;output_include:"contrib/libs/python/Include/pythread.h"} \
+${hide;output_include:"contrib/libs/python/Include/structmember.h"} \
+${hide;output_include:"contrib/libs/python/Include/traceback.h"} \
+${hide;output_include:"contrib/tools/cython/generated_c_headers.h"} \
+${hide;output_include:"omp.h"} \
$_UNWRAP_OUTPUT_INCLUDES($CYTHON_EMBEDED_FILES)
# tag:cython-specific
-CYTHON_CPP_OUTPUT_INCLUDES=${output_include;hide:"contrib/tools/cython/generated_cpp_headers.h"}
+CYTHON_CPP_OUTPUT_INCLUDES=${hide;output_include:"contrib/tools/cython/generated_cpp_headers.h"}
# tag:cython-specific
CYTHON_PREDEFINED_INCLUDES=$_UNWRAP_TEXT_INPUTS($CYTHON_EMBEDED_FILES)
@@ -613,8 +613,8 @@ module PY2_LIBRARY: _LIBRARY {
when ($PY_PROTO_MYPY_ENABLED == "yes") {
PY_PROTO_MYPY_SUFFIX=_pb2.pyi
- PY_PROTO_MYPY_PLUGIN=$PY_PROTO_MYPY_PLUGIN_BASE ${output;hide;noauto;norel;nopath;noext;suf=_pb2.pyi:File}
- PY_PROTO_MYPY_PLUGIN_INTERNAL=$PY_PROTO_MYPY_PLUGIN_BASE ${output;hide;noauto;norel;nopath;noext;suf=__intpy2___pb2.pyi:File} ${hide;kv:"ext_out_name_for_${nopath;noext;suf=__intpy2___pb2.pyi:File} ${nopath;noext;suf=_pb2.pyi:File}"})
+ PY_PROTO_MYPY_PLUGIN=$PY_PROTO_MYPY_PLUGIN_BASE ${hide;noauto;output;norel;nopath;noext;suf=_pb2.pyi:File}
+ PY_PROTO_MYPY_PLUGIN_INTERNAL=$PY_PROTO_MYPY_PLUGIN_BASE ${hide;noauto;output;norel;nopath;noext;suf=__intpy2___pb2.pyi:File} ${hide;kv:"ext_out_name_for_${nopath;noext;suf=__intpy2___pb2.pyi:File} ${nopath;noext;suf=_pb2.pyi:File}"})
}
SET(MODULE_LANG PY2)
@@ -660,8 +660,8 @@ module PY3_LIBRARY: _LIBRARY {
when ($PY_PROTO_MYPY_ENABLED == "yes") {
PY_PROTO_MYPY_SUFFIX=_pb2.pyi
- PY_PROTO_MYPY_PLUGIN=$PY_PROTO_MYPY_PLUGIN_BASE ${output;hide;noauto;norel;nopath;noext;suf=_pb2.pyi:File}
- PY_PROTO_MYPY_PLUGIN_INTERNAL=$PY_PROTO_MYPY_PLUGIN_BASE ${output;hide;noauto;norel;nopath;noext;suf=__intpy3___pb2.pyi:File} ${hide;kv:"ext_out_name_for_${nopath;noext;suf=__intpy3___pb2.pyi:File} ${nopath;noext;suf=_pb2.pyi:File}"})
+ PY_PROTO_MYPY_PLUGIN=$PY_PROTO_MYPY_PLUGIN_BASE ${hide;noauto;output;norel;nopath;noext;suf=_pb2.pyi:File}
+ PY_PROTO_MYPY_PLUGIN_INTERNAL=$PY_PROTO_MYPY_PLUGIN_BASE ${hide;noauto;output;norel;nopath;noext;suf=__intpy3___pb2.pyi:File} ${hide;kv:"ext_out_name_for_${nopath;noext;suf=__intpy3___pb2.pyi:File} ${nopath;noext;suf=_pb2.pyi:File}"})
}
SET(MODULE_LANG PY3)
@@ -732,7 +732,7 @@ module _BASE_PY_PROGRAM: _BASE_PROGRAM {
# tag:python-specific tag:codenav
when ($CODENAVIGATION && $NOCODENAVIGATION != "yes") {
- PY3_PROGRAM_LINK_EXE=$LINK_EXE ${kv;hide:"py3yndex $TARGET"}
+ PY3_PROGRAM_LINK_EXE=$LINK_EXE ${hide;kv:"py3yndex $TARGET"}
}
otherwise {
PY3_PROGRAM_LINK_EXE=$LINK_EXE
diff --git a/build/conf/swig.conf b/build/conf/swig.conf
index 8f175d5003..d29b9667df 100644
--- a/build/conf/swig.conf
+++ b/build/conf/swig.conf
@@ -6,15 +6,15 @@ _SWIG_LIBRARY_ABS=$ARCADIA_ROOT/$_SWIG_LIBRARY
SWIG_IMPLICIT_INCLUDES = swig.swg go.swg java.swg perl5.swg python.swg
_SWIG_CMD=$_SWIG_PYTHON_CMD
-_SWIG_SEM_TO_MODULE_LINK=${output;hide;suf=.o:SRC}
+_SWIG_SEM_TO_MODULE_LINK=${hide;output;suf=.o:SRC}
-_SWIG_PYTHON_CMD=${_SWIG_TOOL} -module ${REALPRJNAME} -cpperraswarn -c++ -python -interface ${MODULE_PREFIX}${REALPRJNAME} -o ${output;noext;main;suf=_wrap.swg.cpp:SRC} ${output;noauto;add_to_outs;hide;tobindir;suf=.py:REALPRJNAME} -outdir ${BINDIR} ${pre=-I:_SWIG__INCLUDE} ${input:SRC} ${kv;hide:"p SW"} ${kv;hide:"pc yellow"}
+_SWIG_PYTHON_CMD=${_SWIG_TOOL} -module ${REALPRJNAME} -cpperraswarn -c++ -python -interface ${MODULE_PREFIX}${REALPRJNAME} -o ${output;noext;main;suf=_wrap.swg.cpp:SRC} ${noauto;output;add_to_outs;hide;tobindir;suf=.py:REALPRJNAME} -outdir ${BINDIR} ${pre=-I:_SWIG__INCLUDE} ${input:SRC} ${hide;kv:"p SW"} ${hide;kv:"pc yellow"}
-_SWIG_PERL_CMD=${_SWIG_TOOL} -c++ -cpperraswarn -module ${REALPRJNAME} -shadow -perl -o ${output;noext;main;suf=_wrap.swg.cpp:SRC} ${output;noauto;add_to_outs;hide;tobindir;suf=.pm:REALPRJNAME} -outdir ${ARCADIA_BUILD_ROOT}/${MODDIR} ${pre=-I:_SWIG__INCLUDE} ${input:SRC} ${kv;hide:"p SW"} ${kv;hide:"pc yellow"}
+_SWIG_PERL_CMD=${_SWIG_TOOL} -c++ -cpperraswarn -module ${REALPRJNAME} -shadow -perl -o ${output;noext;main;suf=_wrap.swg.cpp:SRC} ${noauto;output;add_to_outs;hide;tobindir;suf=.pm:REALPRJNAME} -outdir ${ARCADIA_BUILD_ROOT}/${MODDIR} ${pre=-I:_SWIG__INCLUDE} ${input:SRC} ${hide;kv:"p SW"} ${hide;kv:"pc yellow"}
-_SWIG_JNI_CPP_CMD=$YMAKE_PYTHON3 ${input:"build/scripts/jni_swig.py"} --swig ${_SWIG_TOOL} --default-module ${nopath;noext:SRC} --src ${input:SRC} --out-header ${output;main;noext;suf=_wrap.swg.h:SRC} --package-by-file ru/yandex/${input;rootrel:SRC} -- ${pre=-I:_SWIG__INCLUDE} -o ${output;noext;suf=_wrap.swg.cpp:SRC} ${kv;hide:"p SW"} ${kv;hide:"pc yellow"}
-_SWIG_JNI_JAVA_CMD=$YMAKE_PYTHON3 ${input:"build/scripts/jni_swig.py"} --swig ${_SWIG_TOOL} --default-module ${nopath;noext:SRC} --src ${input:SRC} --package-by-file ru/yandex/${input;rootrel:SRC} --jsrc ${output;main;suf=.jsrc:SRC} -- ${pre=-I:_SWIG__INCLUDE} -o ${BINDIR}/unused.cpp ${kv;hide:"p SW"} ${kv;hide:"pc yellow"}
-_SWIG_JNI_CMD=$YMAKE_PYTHON3 ${input:"build/scripts/jni_swig.py"} --swig ${_SWIG_TOOL} --default-module ${nopath;noext:SRC} --src ${input:SRC} --out-header ${output;main;noext;suf=_wrap.swg.h:SRC} --package-by-file ru/yandex/${input;rootrel:SRC} --jsrc ${output;suf=.jsrc:SRC} -- ${pre=-I:_SWIG__INCLUDE} -o ${output;noext;suf=_wrap.swg.cpp:SRC} ${kv;hide:"p SW"} ${kv;hide:"pc yellow"}
+_SWIG_JNI_CPP_CMD=$YMAKE_PYTHON3 ${input:"build/scripts/jni_swig.py"} --swig ${_SWIG_TOOL} --default-module ${nopath;noext:SRC} --src ${input:SRC} --out-header ${output;main;noext;suf=_wrap.swg.h:SRC} --package-by-file ru/yandex/${input;rootrel:SRC} -- ${pre=-I:_SWIG__INCLUDE} -o ${output;noext;suf=_wrap.swg.cpp:SRC} ${hide;kv:"p SW"} ${hide;kv:"pc yellow"}
+_SWIG_JNI_JAVA_CMD=$YMAKE_PYTHON3 ${input:"build/scripts/jni_swig.py"} --swig ${_SWIG_TOOL} --default-module ${nopath;noext:SRC} --src ${input:SRC} --package-by-file ru/yandex/${input;rootrel:SRC} --jsrc ${output;main;suf=.jsrc:SRC} -- ${pre=-I:_SWIG__INCLUDE} -o ${BINDIR}/unused.cpp ${hide;kv:"p SW"} ${hide;kv:"pc yellow"}
+_SWIG_JNI_CMD=$YMAKE_PYTHON3 ${input:"build/scripts/jni_swig.py"} --swig ${_SWIG_TOOL} --default-module ${nopath;noext:SRC} --src ${input:SRC} --out-header ${output;main;noext;suf=_wrap.swg.h:SRC} --package-by-file ru/yandex/${input;rootrel:SRC} --jsrc ${output;suf=.jsrc:SRC} -- ${pre=-I:_SWIG__INCLUDE} -o ${output;noext;suf=_wrap.swg.cpp:SRC} ${hide;kv:"p SW"} ${hide;kv:"pc yellow"}
_SWIG_JNI_PEERDIR=contrib/libs/jdk
REAL_SWIG_DLL_JAR_CMD=$GENERATE_VCS_JAVA_INFO_NODEP && ${cwd:ARCADIA_BUILD_ROOT} $YMAKE_PYTHON ${input:"build/scripts/build_dll_and_java.py"} $JAVA_SWIG_DELIM $REAL_LINK_DYN_LIB $JAVA_SWIG_DELIM $COMPILE_JAVA $JAVA_SWIG_DELIM $AUTO_INPUT $JAVA_SWIG_DELIM $TARGET $JAVA_SWIG_DELIM ${output;suf=.jar:REALPRJNAME} $JAVA_SWIG_DELIM ${output;suf=-sources.jar:REALPRJNAME} $JAVA_SWIG_DELIM $ARCADIA_BUILD_ROOT $ARCADIA_ROOT
@@ -29,7 +29,7 @@ when ($USE_SYSTEM_JDK == "yes" || $OS_ANDROID == "yes") {
### Run swig on Src to produce DstSubPrefix.py and DstSubPrefix_swg.cpp that
### provides DstSubPrefix_swg python module.
macro _SWIG_PYTHON_CPP(Src, DstSubPrefix) {
- .CMD=$_SWIG_TOOL -I$ARCADIA_BUILD_ROOT -I$ARCADIA_ROOT -I$_SWIG_LIBRARY_ABS/python -I$_SWIG_LIBRARY_ABS -c++ -python -module ${nopath:DstSubPrefix} -interface ${nopath;suf=_swg:DstSubPrefix} -o ${output;suf=.swg.cpp:DstSubPrefix} ${input:Src} ${output;noauto;hide;suf=.py:DstSubPrefix} ${kv;hide:"p SW"} ${kv;hide:"pc yellow"}
+ .CMD=$_SWIG_TOOL -I$ARCADIA_BUILD_ROOT -I$ARCADIA_ROOT -I$_SWIG_LIBRARY_ABS/python -I$_SWIG_LIBRARY_ABS -c++ -python -module ${nopath:DstSubPrefix} -interface ${nopath;suf=_swg:DstSubPrefix} -o ${output;suf=.swg.cpp:DstSubPrefix} ${input:Src} ${hide;noauto;output;suf=.py:DstSubPrefix} ${hide;kv:"p SW"} ${hide;kv:"pc yellow"}
.PEERDIR=contrib/tools/swig/Lib/python
}
@@ -38,7 +38,7 @@ macro _SWIG_PYTHON_CPP(Src, DstSubPrefix) {
###
### Like _SWIG_PYTHON_CPP but generate DstSubPrefix_swg.c.
macro _SWIG_PYTHON_C(Src, DstSubPrefix) {
- .CMD=$_SWIG_TOOL -I$ARCADIA_BUILD_ROOT -I$ARCADIA_ROOT -I$_SWIG_LIBRARY_ABS/python -I$_SWIG_LIBRARY_ABS -python -module ${nopath:DstSubPrefix} -interface ${nopath;suf=_swg:DstSubPrefix} -o ${output;suf=.swg.c:DstSubPrefix} ${input:Src} ${output;noauto;hide;suf=.py:DstSubPrefix} ${kv;hide:"p SW"} ${kv;hide:"pc yellow"}
+ .CMD=$_SWIG_TOOL -I$ARCADIA_BUILD_ROOT -I$ARCADIA_ROOT -I$_SWIG_LIBRARY_ABS/python -I$_SWIG_LIBRARY_ABS -python -module ${nopath:DstSubPrefix} -interface ${nopath;suf=_swg:DstSubPrefix} -o ${output;suf=.swg.c:DstSubPrefix} ${input:Src} ${hide;noauto;output;suf=.py:DstSubPrefix} ${hide;kv:"p SW"} ${hide;kv:"pc yellow"}
.PEERDIR=contrib/tools/swig/Lib/python
}
@@ -46,7 +46,7 @@ _EXPLICIT_SWIG_JAVA_SOURCES=
_EXPLICIT_SWIG_IFACE_SOURCES=
macro _EXPORT_JAVA_BINDINGS(JavaSrcs...) {
SET_APPEND(_EXPLICIT_SWIG_JAVA_SOURCES ${input:JavaSrcs})
- .SEM=find_package SWIG COMPONENTS java && find_package Java && packages-ITEM && packages-name SWIG && packages-components java && mpackages-ITEM && mpackages-name SWIG && mpackages-components java && packages-ITEM && packages-name Java && mpackages-ITEM && mpackages-name Java && include UseSWIG && include UseJava && dir_includes UseSWIG && dir_includes UseJava ${input;hide:JavaSrcs} ${output;hide;pre=$_HASH_HELPER($Args):".o"}
+ .SEM=find_package SWIG COMPONENTS java && find_package Java && packages-ITEM && packages-name SWIG && packages-components java && mpackages-ITEM && mpackages-name SWIG && mpackages-components java && packages-ITEM && packages-name Java && mpackages-ITEM && mpackages-name Java && include UseSWIG && include UseJava && dir_includes UseSWIG && dir_includes UseJava ${hide;input:JavaSrcs} ${hide;output;pre=$_HASH_HELPER($Args):".o"}
}
macro _EXPORT_SWIG_SOURCES(SwigSrcs...) {
SET_APPEND(_EXPLICIT_SWIG_IFACE_SOURCES ${input:SwigSrcs})
@@ -105,6 +105,6 @@ multimodule DLL_JAVA {
SWIG_LANG=jni_java
_SWIG_CMD=$_SWIG_JNI_JAVA_CMD
_SWIG_PEERDIR=contrib/tools/swig/Lib/java $_SWIG_JNI_PEERDIR
- _SWIG_SEM_TO_MODULE_LINK=${output;hide;suf=.jsrc:SRC}
+ _SWIG_SEM_TO_MODULE_LINK=${hide;output;suf=.jsrc:SRC}
}
}
diff --git a/build/conf/ts/node_modules.conf b/build/conf/ts/node_modules.conf
index 6c73cd17df..719aceb578 100644
--- a/build/conf/ts/node_modules.conf
+++ b/build/conf/ts/node_modules.conf
@@ -7,59 +7,10 @@ NPM_SCRIPT=$NPM_ROOT/node_modules/npm/bin/npm-cli.js
PM_SCRIPT=
PM_TYPE=
-NPM_CONTRIBS_PATH=-
# combined input/outputs records as list of directives ${input;hide:<path>} ${output;hide:<path>}, used in builders
_NODE_MODULES_INOUTS=
_YATOOL_PREBUILDER_ARG=
-macro CUSTOM_CONTRIB_TYPESCRIPT(P) {
- SET(NPM_CONTRIBS_PATH -)
-}
-
-macro NO_CONTRIB_TYPESCRIPT() {
- SET(NPM_CONTRIBS_PATH -)
-}
-
-### @usage: NPM_CONTRIBS() # internal
-###
-### Defines special module that provides contrib tarballs from internal npm registry.
-###
-### @see [FROM_NPM_LOCKFILES()](#macro_FROM_NPM_LOCKFILES)
-module NPM_CONTRIBS: _BARE_UNIT {
- .CMD=TOUCH_UNIT
- .PEERDIR_POLICY=as_build_from
- .FINAL_TARGET=no
- .ALLOWED=FROM_NPM_LOCKFILES
- .RESTRICTED=PEERDIR
- .EXTS=_ # Ignore all files, so module is not affected by FROM_NPM output (.EXTS=* is inherited from _BARE_UNIT)
-
- SET(MODULE_TAG NPM_CONTRIBS)
- SET(MODULE_LANG TS)
-
- # .fake tells builder to not materialize it in results
- SET(MODULE_SUFFIX .fake)
-}
-
-### @usage: FROM_NPM_LOCKFILES(LOCKFILES...) # internal
-###
-### Defines lockfile list for `NPM_CONTRIBS` module.
-###
-### @see [NPM_CONTRIBS()](#module_NPM_CONTRIBS)
-macro FROM_NPM_LOCKFILES(LOCKFILES...) {
- # SET_APPEND(_MAKEFILE_INCLUDE_LIKE_DEPS $LOCKFILES)
- # See implementation in build/plugins/nots.py
- # _FROM_NPM_LOCKFILES($LOCKFILES)
- MESSAGE("NPM_CONTRIBS and FROM_NPM_LOCKFILES are disabled. Please exclude them from your build process")
-}
-
-FROM_NPM_CWD=$ARCADIA_BUILD_ROOT/$NPM_CONTRIBS_PATH
-macro _FROM_NPM(TARBALL_URL, SKY_ID, INTEGRITY, INTEGRITY_ALGO, TARBALL_PATH) {
- .CMD=${cwd:FROM_NPM_CWD} $YMAKE_PYTHON ${input:"build/scripts/fetch_from_npm.py"} ${input;hide:"build/scripts/fetch_from.py"} ${input;hide:"build/scripts/sky.py"} --tarball-url $TARBALL_URL --sky-id $SKY_ID --integrity $INTEGRITY --integrity-algorithm $INTEGRITY_ALGO --copy-to ${output;noauto:TARBALL_PATH} ${requirements;hide:"network:full"} ${kv;hide:"p TS_FNPM"} ${kv;hide:"pc magenta"}
- # we want output to be available for other modules without affecting NPM_CONTRIBS
- # we need to expose it (some details in https://st.yandex-team.ru/YMAKE-34)
- _EXPOSE($TARBALL_PATH)
-}
-
macro _TS_ADD_NODE_MODULES_FOR_BUILDER() {
# Calculate inputs and outputs of node_modules, fill `_NODE_MODULES_INOUTS` variable
_NODE_MODULES_CONFIGURE()
@@ -75,13 +26,13 @@ _PREPARE_DEPS_CMD=$TOUCH_UNIT \
$_PREPARE_DEPS_INOUTS \
$_PREPARE_DEPS_RESOURCES \
$_PREPARE_DEPS_USE_RESOURCES_FLAG \
- ${kv;hide:"pc magenta"} ${kv;hide:"p TS_DEP"}
+ ${hide;kv:"pc magenta"} ${hide;kv:"p TS_DEP"}
# In case of no deps we need to create empty outputs for graph connectivity
_PREPARE_NO_DEPS_CMD=$TOUCH_UNIT \
&& $YMAKE_PYTHON ${input:"build/scripts/touch.py"} \
$_PREPARE_DEPS_INOUTS \
- ${kv;hide:"pc magenta"} ${kv;hide:"p TS_NODEP"}
+ ${hide;kv:"pc magenta"} ${hide;kv:"p TS_NODEP"}
module _PREPARE_DEPS_BASE: _BARE_UNIT {
.CMD=_PREPARE_DEPS_CMD
diff --git a/build/conf/ts/ts.conf b/build/conf/ts/ts.conf
index 928f5cf456..0fb8cba30d 100644
--- a/build/conf/ts/ts.conf
+++ b/build/conf/ts/ts.conf
@@ -33,7 +33,6 @@ NOTS_TOOL_BASE_ARGS=\
--nodejs-bin $NODEJS_BIN \
--pm-script $PM_SCRIPT \
--pm-type $PM_TYPE \
- --contribs $NPM_CONTRIBS_PATH \
--trace $TS_TRACE \
--verbose $TS_LOG \
$_YATOOL_PREBUILDER_ARG
@@ -52,7 +51,7 @@ when($AUTOCHECK == "yes") {
# Arguments for builders' commands, passed after the command
NOTS_TOOL_COMMON_BUILDER_ARGS=\
- --output-file ${output:TS_OUTPUT_FILE} ${output;hide:TS_OUTPUT_FILE_UUID} \
+ --output-file ${output:TS_OUTPUT_FILE} ${hide;output:TS_OUTPUT_FILE_UUID} \
--tsconfigs $TS_CONFIG_PATH \
--vcs-info "${VCS_INFO_FILE}" \
$NOTS_TOOL_BUILD_REQUIREMENTS__NO_UID__ \
@@ -139,7 +138,7 @@ TSYNDEXER_OUTPUT_FILE=tsyndex.ydx.pb2
TSYNDEXER_TOOL=${tool:"devtools/codenav/typescript"}
TSYNDEXER_CMD=${cwd:ARCADIA_BUILD_ROOT} \
$TSYNDEXER_TOOL -m ${CURDIR} -o ${output:TSYNDEXER_OUTPUT_FILE} -r ${ARCADIA_ROOT} \
- ${kv;hide:"pc magenta"} ${kv;hide:"p YTS"} $_AS_HIDDEN_INPUTS(IN $_TS_LINT_SRCS_VALUE)
+ ${hide;kv:"pc magenta"} ${hide;kv:"p YTS"} $_AS_HIDDEN_INPUTS(IN $_TS_LINT_SRCS_VALUE)
### _DO_TS_YNDEXING() # internal
###
@@ -174,7 +173,7 @@ TS_GLOB_EXCLUDE=$TS_CONFIG_PATH \
# Ugly hack for using inputs from the variable
macro _AS_HIDDEN_INPUTS(IN{input}[]) {
# "context=TEXT" exclude file from the "include processing"
- .CMD=${input;hide;context=TEXT:IN}
+ .CMD=${hide;context=TEXT;input:IN}
}
diff --git a/build/conf/ts/ts_next.conf b/build/conf/ts/ts_next.conf
index e41f08182f..72c5a9a665 100644
--- a/build/conf/ts/ts_next.conf
+++ b/build/conf/ts/ts_next.conf
@@ -38,9 +38,9 @@ TS_NEXT_CMD=$TOUCH_UNIT \
--bundler-config-path ${input:TS_NEXT_CONFIG_PATH} \
--output-dirs ${TS_NEXT_OUTPUT_DIR} \
$_NODE_MODULES_INOUTS ${hide:PEERS} \
- ${input;hide:"package.json"} ${TS_CONFIG_FILES} $_AS_HIDDEN_INPUTS(IN $TS_INPUT_FILES) \
- ${output;hide:"package.json"} \
- ${kv;hide:"pc magenta"} ${kv;hide:"p TS_NXT"}
+ ${hide;input:"package.json"} ${TS_CONFIG_FILES} $_AS_HIDDEN_INPUTS(IN $TS_INPUT_FILES) \
+ ${hide;output:"package.json"} \
+ ${hide;kv:"pc magenta"} ${hide;kv:"p TS_NXT"}
### @usage: TS_NEXT([name])
###
diff --git a/build/conf/ts/ts_package.conf b/build/conf/ts/ts_package.conf
index 7eaea17e67..aa3a6baaaa 100644
--- a/build/conf/ts/ts_package.conf
+++ b/build/conf/ts/ts_package.conf
@@ -3,7 +3,7 @@ TS_PACK=$TOUCH_UNIT \
&& $NOTS_TOOL $NOTS_TOOL_BASE_ARGS build-package $_NODE_MODULES_INOUTS \
&& $COPY_CMD ${input:"package.json"} ${output:"package.json"} \
&& $_TS_FILES_COPY_CMD \
- ${kv;hide:"p TS_PKG"} ${kv;hide:"pc magenta"}
+ ${hide;kv:"p TS_PKG"} ${hide;kv:"pc magenta"}
### # internal
macro _TS_PACKAGE_EPILOGUE() {
diff --git a/build/conf/ts/ts_proto.conf b/build/conf/ts/ts_proto.conf
index 305728a90c..78cf3285d5 100644
--- a/build/conf/ts/ts_proto.conf
+++ b/build/conf/ts/ts_proto.conf
@@ -7,10 +7,10 @@ _TS_PROTO_IMPL_CMD=$TOUCH_UNIT \
--proto-srcs $_TS_PROTO_SRCS_FILES \
--proto-paths ./$PROTO_NAMESPACE $ARCADIA_ROOT/$PROTO_NAMESPACE $_PROTO__INCLUDE $ARCADIA_BUILD_ROOT $PROTOBUF_INCLUDE_PATH \
$_NODE_MODULES_INOUTS \
- ${input;hide:"package.json"} ${TS_CONFIG_FILES} $_AS_HIDDEN_INPUTS(IN $TS_INPUT_FILES) \
- ${output;hide:"package.json"} \
+ ${hide;input:"package.json"} ${TS_CONFIG_FILES} $_AS_HIDDEN_INPUTS(IN $TS_INPUT_FILES) \
+ ${hide;output:"package.json"} \
${hide:PROTO_FAKEID} \
- ${kv;hide:"pc magenta"} ${kv;hide:"p TS_PRO"}
+ ${hide;kv:"pc magenta"} ${hide;kv:"p TS_PRO"}
### # internal
diff --git a/build/conf/ts/ts_test.conf b/build/conf/ts/ts_test.conf
index 5051106b69..46887b8cd2 100644
--- a/build/conf/ts/ts_test.conf
+++ b/build/conf/ts/ts_test.conf
@@ -13,7 +13,7 @@ TS_TEST_JEST_CMD=$TOUCH_UNIT \
&& $NOTS_TOOL $NOTS_TOOL_BASE_ARGS create-node-modules --moddir $TS_TEST_FOR_PATH \
$_NODE_MODULES_INOUTS ${hide:PEERS} \
&& ${cwd:BINDIR} $MOVE_FILE $TS_TEST_NM ${output:"workspace_node_modules.tar"} \
- ${kv;hide:"p TS_JST"} ${kv;hide:"pc magenta"}
+ ${hide;kv:"p TS_JST"} ${hide;kv:"pc magenta"}
### @usage: TS_TEST_JEST_FOR(Path)
###
@@ -48,7 +48,7 @@ module TS_TEST_JEST_FOR: _TS_TEST_BASE {
TS_TEST_HERMIONE_CMD=$TOUCH_UNIT \
&& ${cwd:BINDIR} $MOVE_FILE ${input:TS_TEST_NM} ${output:"workspace_node_modules.tar"} \
- ${kv;hide:"p TSHRM"} ${kv;hide:"pc magenta"}
+ ${hide;kv:"p TSHRM"} ${hide;kv:"pc magenta"}
### @usage: TS_TEST_HERMIONE_FOR(Path)
###
@@ -82,7 +82,7 @@ TS_TEST_PLAYWRIGHT_CMD=$TOUCH_UNIT \
&& $NOTS_TOOL $NOTS_TOOL_BASE_ARGS create-node-modules --moddir $TS_TEST_FOR_PATH \
$_NODE_MODULES_INOUTS ${hide:PEERS} \
&& ${cwd:BINDIR} $MOVE_FILE $TS_TEST_NM ${output:"workspace_node_modules.tar"} \
- ${kv;hide:"p TSPW"} ${kv;hide:"pc magenta"}
+ ${hide;kv:"p TSPW"} ${hide;kv:"pc magenta"}
### @usage: TS_TEST_PLAYWRIGHT_FOR(Path)
###
@@ -115,7 +115,7 @@ module TS_TEST_PLAYWRIGHT_FOR: _TS_TEST_BASE {
TS_TEST_PLAYWRIGHT_LARGE_CMD=$TOUCH_UNIT \
&& ${cwd:BINDIR} $MOVE_FILE ${input:TS_TEST_NM} ${output:"workspace_node_modules.tar"} \
- ${kv;hide:"p TSPW"} ${kv;hide:"pc magenta"}
+ ${hide;kv:"p TSPW"} ${hide;kv:"pc magenta"}
### @usage: TS_TEST_PLAYWRIGHT_LARGE_FOR(Path)
###
diff --git a/build/conf/ts/ts_tsc.conf b/build/conf/ts/ts_tsc.conf
index 7dd51b29ac..0cbcbe4caa 100644
--- a/build/conf/ts/ts_tsc.conf
+++ b/build/conf/ts/ts_tsc.conf
@@ -2,9 +2,9 @@ TS_TSC_CMD=$TOUCH_UNIT \
&& $_TS_FILES_COPY_CMD \
&& $NOTS_TOOL $NOTS_TOOL_BASE_ARGS build-tsc $NOTS_TOOL_COMMON_BUILDER_ARGS \
$_NODE_MODULES_INOUTS ${hide:PEERS} \
- ${input;hide:"package.json"} ${TS_CONFIG_FILES} $_AS_HIDDEN_INPUTS(IN $TS_INPUT_FILES) \
- ${output;hide:"package.json"} \
- ${kv;hide:"pc magenta"} ${kv;hide:"p TS_TSC"}
+ ${hide;input:"package.json"} ${TS_CONFIG_FILES} $_AS_HIDDEN_INPUTS(IN $TS_INPUT_FILES) \
+ ${hide;output:"package.json"} \
+ ${hide;kv:"pc magenta"} ${hide;kv:"p TS_TSC"}
### @usage: TS_TSC([name])
###
diff --git a/build/conf/ts/ts_vite.conf b/build/conf/ts/ts_vite.conf
index ca6ff048f9..e8cb3cba98 100644
--- a/build/conf/ts/ts_vite.conf
+++ b/build/conf/ts/ts_vite.conf
@@ -40,9 +40,9 @@ TS_VITE_CMD=$TOUCH_UNIT \
--bundler-config-path ${input:VITE_CONFIG_PATH} \
--output-dirs ${VITE_OUTPUT_DIR} \
$_NODE_MODULES_INOUTS ${hide:PEERS} \
- ${input;hide:"package.json"} ${TS_CONFIG_FILES} $_AS_HIDDEN_INPUTS(IN $TS_INPUT_FILES) \
- ${output;hide:"package.json"} \
- ${kv;hide:"pc magenta"} ${kv;hide:"p TS_VIT"}
+ ${hide;input:"package.json"} ${TS_CONFIG_FILES} $_AS_HIDDEN_INPUTS(IN $TS_INPUT_FILES) \
+ ${hide;output:"package.json"} \
+ ${hide;kv:"pc magenta"} ${hide;kv:"p TS_VIT"}
### @usage: TS_VITE([name])
###
diff --git a/build/conf/ts/ts_webpack.conf b/build/conf/ts/ts_webpack.conf
index 6cea71c0e3..c3d5e07a9b 100644
--- a/build/conf/ts/ts_webpack.conf
+++ b/build/conf/ts/ts_webpack.conf
@@ -37,9 +37,9 @@ TS_WEBPACK_CMD=$TOUCH_UNIT \
--bundler-config-path ${input:WEBPACK_CONFIG_PATH} \
--output-dirs ${WEBPACK_OUTPUT_DIR} \
$_NODE_MODULES_INOUTS ${hide:PEERS} \
- ${input;hide:"package.json"} ${TS_CONFIG_FILES} $_AS_HIDDEN_INPUTS(IN $TS_INPUT_FILES) \
- ${output;hide:"package.json"} \
- ${kv;hide:"pc magenta"} ${kv;hide:"p TS_WPK"}
+ ${hide;input:"package.json"} ${TS_CONFIG_FILES} $_AS_HIDDEN_INPUTS(IN $TS_INPUT_FILES) \
+ ${hide;output:"package.json"} \
+ ${hide;kv:"pc magenta"} ${hide;kv:"p TS_WPK"}
### @usage: TS_WEBPACK([name])
###
diff --git a/build/plugins/_dart_fields.py b/build/plugins/_dart_fields.py
index 2b556e2073..9ba0fcb9da 100644
--- a/build/plugins/_dart_fields.py
+++ b/build/plugins/_dart_fields.py
@@ -863,14 +863,6 @@ class TestClasspathDeps:
return {cls.KEY: '${DART_CLASSPATH_DEPS}'}
-class TestClasspathOrigins:
- KEY = 'TEST_CLASSPATH_ORIGINS'
-
- @classmethod
- def value(cls, unit, flat_args, spec_args):
- return None
-
-
class TestCwd:
KEY = 'TEST-CWD'
diff --git a/build/plugins/bundle.py b/build/plugins/bundle.py
index 69e3e01681..aec47ffa2c 100644
--- a/build/plugins/bundle.py
+++ b/build/plugins/bundle.py
@@ -3,20 +3,29 @@ import os
def onbundle(unit, *args):
"""
- @usage BUNDLE(<Dir [NAME Name]>...)
+ @usage BUNDLE(<Dir [SUFFIX Suffix] [NAME Name]>...)
Brings build artefact from module Dir under optional Name to the current module (e.g. UNION)
If NAME is not specified, the name of the Dir's build artefact will be preserved
+ Optional SUFFIX allows to use secondary module output. The suffix is appended to the primary output name, so the applicability is limited.
It makes little sense to specify BUNDLE on non-final targets and so this may stop working without prior notice.
Bundle on multimodule will select final target among multimodule variants and will fail if there are none or more than one.
"""
i = 0
while i < len(args):
- if i + 2 < len(args) and args[i + 1] == "NAME":
- target, name = args[i], args[i + 2]
- i += 3
+ target = args[i]
+ i += 1
+
+ if i + 1 < len(args) and args[i] == "SUFFIX":
+ suffix = args[i + 1]
+ i += 2
+ else:
+ suffix = ""
+
+ if i + 1 < len(args) and args[i] == "NAME":
+ name = args[i + 1]
+ i += 2
else:
- target, name = args[i], os.path.basename(args[i])
- i += 1
+ name = os.path.basename(target) + suffix
- unit.on_bundle_target([target, name])
+ unit.on_bundle_target([target, name, suffix])
diff --git a/build/plugins/lib/nots/package_manager/__init__.py b/build/plugins/lib/nots/package_manager/__init__.py
index 4bb369ba47..20f47fffa1 100644
--- a/build/plugins/lib/nots/package_manager/__init__.py
+++ b/build/plugins/lib/nots/package_manager/__init__.py
@@ -1,4 +1,4 @@
-import typing
+from typing import Literal
from .base import (
bundle_node_modules,
@@ -14,10 +14,13 @@ from .base.package_json import PackageJsonWorkspaceError
from .pnpm import PnpmPackageManager
from .npm import NpmPackageManager
+
+type PackageManagerType = Literal["pnpm", "npm"]
+
manager = PnpmPackageManager
-def get_package_manager_type(key: typing.Literal["pnpm", "npm"]) -> typing.Type[BasePackageManager]:
+def get_package_manager_type(key: PackageManagerType) -> type[BasePackageManager]:
if key == "pnpm":
return PnpmPackageManager
if key == "npm":
@@ -33,6 +36,7 @@ __all__ = [
"PackageJson",
"PackageJsonWorkspaceError",
"PackageManagerCommandError",
+ "PackageManagerType",
"bundle_node_modules",
"constants",
"extract_node_modules",
diff --git a/build/plugins/lib/nots/package_manager/base/package_manager.py b/build/plugins/lib/nots/package_manager/base/package_manager.py
index 8805c94013..efd5038d27 100644
--- a/build/plugins/lib/nots/package_manager/base/package_manager.py
+++ b/build/plugins/lib/nots/package_manager/base/package_manager.py
@@ -34,7 +34,6 @@ class BasePackageManager(object):
sources_path,
nodejs_bin_path,
script_path,
- contribs_path,
module_path=None,
sources_root=None,
):
@@ -45,7 +44,6 @@ class BasePackageManager(object):
self.sources_root = sources_path[: -len(self.module_path) - 1] if sources_root is None else sources_root
self.nodejs_bin_path = nodejs_bin_path
self.script_path = script_path
- self.contribs_path = contribs_path
@classmethod
def load_package_json(cls, path):
@@ -150,9 +148,6 @@ class BasePackageManager(object):
def _nm_path(self, *parts):
return os.path.join(build_nm_path(self.build_path), *parts)
- def _contrib_tarball_path(self, pkg):
- return os.path.join(self.contribs_path, pkg.tarball_path)
-
def _tarballs_store_path(self, pkg, store_path):
return os.path.join(self.module_path, store_path, pkg.tarball_path)
diff --git a/build/plugins/lib/nots/package_manager/npm/npm_package_manager.py b/build/plugins/lib/nots/package_manager/npm/npm_package_manager.py
index 72abcd43eb..3de14b1d7c 100644
--- a/build/plugins/lib/nots/package_manager/npm/npm_package_manager.py
+++ b/build/plugins/lib/nots/package_manager/npm/npm_package_manager.py
@@ -50,9 +50,6 @@ class NpmPackageManager(BasePackageManager):
if errors:
raise PackageManagerError("Unable to process some lockfiles:\n{}".format("\n".join(errors)))
- def calc_prepare_deps_inouts(self, store_path: str, has_deps: bool) -> tuple[list[str], list[str]]:
- raise NotImplementedError("NPM does not support contrib/typescript flow.")
-
def calc_prepare_deps_inouts_and_resources(
self, store_path: str, has_deps: bool
) -> tuple[list[str], list[str], list[str]]:
@@ -147,7 +144,6 @@ class NpmPackageManager(BasePackageManager):
sources_path=dep_source_path,
nodejs_bin_path=self.nodejs_bin_path,
script_path=self.script_path,
- contribs_path=self.contribs_path,
module_path=module_path,
sources_root=self.sources_root,
)
diff --git a/build/plugins/lib/nots/package_manager/pnpm/package_manager.py b/build/plugins/lib/nots/package_manager/pnpm/package_manager.py
index 43e6cbfe15..8be7a2dddb 100644
--- a/build/plugins/lib/nots/package_manager/pnpm/package_manager.py
+++ b/build/plugins/lib/nots/package_manager/pnpm/package_manager.py
@@ -117,29 +117,6 @@ class PnpmPackageManager(BasePackageManager):
return ins, outs, resources
# TODO: FBP-1254
- # def calc_prepare_deps_inouts(self, store_path: str, has_deps: bool) -> (list[str], list[str]):
- def calc_prepare_deps_inouts(self, store_path, has_deps):
- ins = [
- s_rooted(build_pj_path(self.module_path)),
- s_rooted(build_lockfile_path(self.module_path)),
- ]
- outs = [
- b_rooted(build_ws_config_path(self.module_path)),
- b_rooted(build_pre_lockfile_path(self.module_path)),
- ]
-
- if has_deps:
- for dep_path in self.get_local_peers_from_package_json():
- ins.append(b_rooted(build_ws_config_path(dep_path)))
- ins.append(b_rooted(build_pre_lockfile_path(dep_path)))
-
- for pkg in self.extract_packages_meta_from_lockfiles([build_lockfile_path(self.sources_path)]):
- ins.append(b_rooted(self._contrib_tarball_path(pkg)))
- outs.append(b_rooted(self._tarballs_store_path(pkg, store_path)))
-
- return ins, outs
-
- # TODO: FBP-1254
# def calc_node_modules_inouts(self, local_cli=False) -> (list[str], list[str]):
def calc_node_modules_inouts(self, local_cli=False):
"""
diff --git a/build/plugins/lib/nots/typescript/ts_config.py b/build/plugins/lib/nots/typescript/ts_config.py
index 52dfa20550..d05a928171 100644
--- a/build/plugins/lib/nots/typescript/ts_config.py
+++ b/build/plugins/lib/nots/typescript/ts_config.py
@@ -157,7 +157,7 @@ class TsConfig(object):
"""
extends = self.data.get(RootFields.extends)
- if type(extends) == list:
+ if isinstance(extends, list):
paths = [self.extend_one(dep_paths, ext_value) for ext_value in extends]
flatten_paths = [item for row in paths for item in row]
else:
diff --git a/build/plugins/nots.py b/build/plugins/nots.py
index a193dbb52b..f6824b67e7 100644
--- a/build/plugins/nots.py
+++ b/build/plugins/nots.py
@@ -1,7 +1,8 @@
import os
-import typing
from enum import auto, StrEnum
+from typing import Any, Literal, TYPE_CHECKING
+# noinspection PyUnresolvedReferences
import ymake
import _dart_fields as df
@@ -15,29 +16,34 @@ from _common import (
from _dart_fields import create_dart_record
+if TYPE_CHECKING:
+ from lib.nots.erm_json_lite import ErmJsonLite
+ from lib.nots.package_manager import PackageManagerType, BasePackageManager
+ from lib.nots.semver import Version
+ from lib.nots.typescript import TsConfig
+
# 1 is 60 files per chunk for TIMEOUT(60) - default timeout for SIZE(SMALL)
# 0.5 is 120 files per chunk for TIMEOUT(60) - default timeout for SIZE(SMALL)
# 0.2 is 300 files per chunk for TIMEOUT(60) - default timeout for SIZE(SMALL)
ESLINT_FILE_PROCESSING_TIME_DEFAULT = 0.2 # seconds per file
-COLOR_CODES = {
- "red": "31",
- "green": "32",
- "yellow": "33",
- "cyan": "36",
- "reset": "49",
-}
-
REQUIRED_MISSING = "~~required~~"
-class ConsoleColors(dict):
- def __init__(self, color_codes):
- for k, v in color_codes.items():
- self.__dict__[k] = f"\033[0;{v}m"
+class COLORS:
+ """
+ See https://en.m.wikipedia.org/wiki/ANSI_escape_code#Colors for details
+ """
+ @staticmethod
+ def _wrap_color(color_code: int) -> str:
+ return f"\033[0;{color_code}m"
-COLORS = ConsoleColors(COLOR_CODES)
+ red = _wrap_color(31)
+ green = _wrap_color(32)
+ yellow = _wrap_color(33)
+ cyan = _wrap_color(36)
+ reset = _wrap_color(49)
class TsTestType(StrEnum):
@@ -50,6 +56,100 @@ class TsTestType(StrEnum):
TS_STYLELINT = auto()
+class UnitType:
+ MessageType = Literal["INFO", "WARN", "ERROR"]
+ PluginArgs = str | list[str] | tuple[str]
+
+ def message(self, args: list[MessageType | str]) -> None:
+ """
+ Print message to the log
+ """
+
+ def get(self, var_name: str) -> str | None:
+ """
+ Get variable value
+ """
+
+ def set(self, args: PluginArgs) -> None:
+ """
+ Set variable value
+ """
+
+ def enabled(self, var_name: str) -> None:
+ """
+ Set variable value to "yes"
+ """
+
+ def disabled(self, var_name: str) -> None:
+ """
+ Set variable value to "no"
+ """
+
+ def set_property(self, args: PluginArgs) -> None:
+ """
+ TODO (set vs set_property?)
+ """
+
+ def resolve(self, path: str) -> str:
+ """
+ Resolve path TODO?
+ """
+
+ def resolve_arc_path(self, path: str) -> str:
+ """
+ Resolve path TODO?
+ """
+
+ def path(self) -> str:
+ """
+ Get the project path
+ """
+
+ def ondepends(self, deps: PluginArgs) -> None:
+ """
+ Run DEPENDS(...)
+ """
+
+ def onpeerdir(self, args: str | list[str]) -> None:
+ """
+ Run PEERDIR(...)
+ """
+
+
+class NotsUnitType(UnitType):
+ def on_peerdir_ts_resource(self, *resources: str):
+ """
+ Ensure dependency installed on the project
+
+ Also check its version (is it supported by erm)
+ """
+
+ def on_do_ts_yndexing(self) -> None:
+ """
+ Turn on code navigation indexing
+ """
+
+ def on_from_npm(self, args: UnitType.PluginArgs) -> None:
+ """
+ TODO remove after removing on_from_pnpm_lockfiles
+ """
+
+ def on_setup_install_node_modules_recipe(self) -> None:
+ """
+ Setup test recipe to install node_modules before running tests
+ """
+
+ def on_setup_extract_node_modules_recipe(self, args: UnitType.PluginArgs) -> None:
+ """
+ Setup test recipe to extract workspace-node_modules.tar before running tests
+ """
+
+ def on_setup_extract_output_tars_recipe(self, args: UnitType.PluginArgs) -> None:
+ """
+ Setup test recipe to extract peer's output before running tests
+ """
+
+
TS_TEST_FIELDS_BASE = (
df.BinaryPath.normalized,
df.BuildFolderPath.normalized,
@@ -128,18 +228,17 @@ TS_TEST_SPECIFIC_FIELDS = {
class PluginLogger(object):
- def __init__(self):
- self.unit = None
- self.prefix = ""
+ unit: UnitType = None
+ prefix = ""
- def reset(self, unit, prefix=""):
+ def reset(self, unit: NotsUnitType | None, prefix=""):
self.unit = unit
self.prefix = prefix
def get_state(self):
- return (self.unit, self.prefix)
+ return self.unit, self.prefix
- def _stringify_messages(self, messages):
+ def _stringify_messages(self, messages: tuple[Any, ...]):
parts = []
for m in messages:
if m is None:
@@ -150,19 +249,19 @@ class PluginLogger(object):
# cyan color (code 36) for messages
return f"{COLORS.green}{self.prefix}{COLORS.reset}\n{COLORS.cyan}{" ".join(parts)}{COLORS.reset}"
- def info(self, *messages):
+ def info(self, *messages: Any) -> None:
if self.unit:
self.unit.message(["INFO", self._stringify_messages(messages)])
- def warn(self, *messages):
+ def warn(self, *messages: Any) -> None:
if self.unit:
self.unit.message(["WARN", self._stringify_messages(messages)])
- def error(self, *messages):
+ def error(self, *messages: Any) -> None:
if self.unit:
self.unit.message(["ERROR", self._stringify_messages(messages)])
- def print_vars(self, *variables):
+ def print_vars(self, *variables: str):
if self.unit:
values = ["{}={}".format(v, self.unit.get(v)) for v in variables]
self.info("\n".join(values))
@@ -172,6 +271,12 @@ logger = PluginLogger()
def _with_report_configure_error(fn):
+ """
+ Handle exceptions, report them as ymake configure error
+
+ Also wraps plugin function like `on<macro_name>` to register `unit` in the PluginLogger
+ """
+
def _wrapper(*args, **kwargs):
last_state = logger.get_state()
unit = args[0]
@@ -190,9 +295,7 @@ def _with_report_configure_error(fn):
return _wrapper
-def _build_directives(name, flags, paths):
- # type: (str, list[str]|tuple[str], list[str]) -> str
-
+def _build_directives(name: str, flags: list[str] | tuple[str], paths: list[str]) -> str:
parts = [p for p in [name] + (flags or []) if p]
parts_str = ";".join(parts)
expressions = ['${{{parts}:"{path}"}}'.format(parts=parts_str, path=path) for path in paths]
@@ -200,15 +303,14 @@ def _build_directives(name, flags, paths):
return " ".join(expressions)
-def _build_cmd_input_paths(paths, hide=False, disable_include_processor=False):
- # type: (list[str]|tuple[str], bool, bool) -> str
+def _build_cmd_input_paths(paths: list[str] | tuple[str], hide=False, disable_include_processor=False):
hide_part = "hide" if hide else ""
disable_ip_part = "context=TEXT" if disable_include_processor else ""
return _build_directives("input", [hide_part, disable_ip_part], paths)
-def _create_erm_json(unit):
+def _create_erm_json(unit: NotsUnitType):
from lib.nots.erm_json_lite import ErmJsonLite
erm_packages_path = unit.get("ERM_PACKAGES_PATH")
@@ -217,20 +319,20 @@ def _create_erm_json(unit):
return ErmJsonLite.load(path)
-def _get_pm_type(unit) -> typing.Literal["pnpm", "npm"]:
- resolved = unit.get("PM_TYPE")
+def _get_pm_type(unit: NotsUnitType) -> 'PackageManagerType':
+ resolved: PackageManagerType | None = unit.get("PM_TYPE")
if not resolved:
raise Exception("PM_TYPE is not set yet. Macro _SET_PACKAGE_MANAGER() should be called before.")
return resolved
-def _get_source_path(unit):
+def _get_source_path(unit: NotsUnitType) -> str:
sources_path = unit.get("TS_TEST_FOR_DIR") if unit.get("TS_TEST_FOR") else unit.path()
return sources_path
-def _create_pm(unit):
+def _create_pm(unit: NotsUnitType) -> 'BasePackageManager':
from lib.nots.package_manager import get_package_manager_type
sources_path = _get_source_path(unit)
@@ -243,7 +345,6 @@ def _create_pm(unit):
sources_path=unit.resolve(sources_path),
build_root="$B",
build_path=unit.path().replace("$S", "$B", 1),
- contribs_path=unit.get("NPM_CONTRIBS_PATH"),
nodejs_bin_path=None,
script_path=None,
module_path=module_path,
@@ -251,7 +352,7 @@ def _create_pm(unit):
@_with_report_configure_error
-def on_set_package_manager(unit):
+def on_set_package_manager(unit: NotsUnitType) -> None:
pm_type = "pnpm" # projects without any lockfile are processed by pnpm
source_path = _get_source_path(unit)
@@ -279,37 +380,13 @@ def on_set_package_manager(unit):
@_with_report_configure_error
-def on_set_append_with_directive(unit, var_name, dir, *values):
- wrapped = ['${{{dir}:"{v}"}}'.format(dir=dir, v=v) for v in values]
- __set_append(unit, var_name, " ".join(wrapped))
-
-
-@_with_report_configure_error
-def on_from_npm_lockfiles(unit, *args):
- from lib.nots.package_manager.base import PackageManagerError
-
- # This is contrib with pnpm-lock.yaml files only
- # Force set to pnpm
- unit.set(["PM_TYPE", "pnpm"])
- pm = _create_pm(unit)
- lf_paths = []
-
- for lf_path in args:
- abs_lf_path = unit.resolve(unit.resolve_arc_path(lf_path))
- if abs_lf_path:
- lf_paths.append(abs_lf_path)
- elif unit.get("TS_STRICT_FROM_NPM_LOCKFILES") == "yes":
- ymake.report_configure_error("lockfile not found: {}".format(lf_path))
+def on_set_append_with_directive(unit: NotsUnitType, var_name: str, directive: str, *values: str) -> None:
+ wrapped = [f'${{{directive}:"{v}"}}' for v in values]
- try:
- for pkg in pm.extract_packages_meta_from_lockfiles(lf_paths):
- unit.on_from_npm([pkg.tarball_url, pkg.sky_id, pkg.integrity, pkg.integrity_algorithm, pkg.tarball_path])
- except PackageManagerError as e:
- logger.warn(str(e))
- pass
+ __set_append(unit, var_name, " ".join(wrapped))
-def _check_nodejs_version(unit, major):
+def _check_nodejs_version(unit: NotsUnitType, major: int) -> None:
if major < 14:
raise Exception(
"Node.js {} is unsupported. Update Node.js please. See https://nda.ya.ru/t/joB9Mivm6h4znu".format(major)
@@ -325,7 +402,7 @@ def _check_nodejs_version(unit, major):
@_with_report_configure_error
-def on_peerdir_ts_resource(unit, *resources):
+def on_peerdir_ts_resource(unit: NotsUnitType, *resources: str) -> None:
from lib.nots.package_manager import BasePackageManager
pj = BasePackageManager.load_package_json_from_dir(unit.resolve(_get_source_path(unit)))
@@ -364,8 +441,7 @@ def on_peerdir_ts_resource(unit, *resources):
@_with_report_configure_error
-def on_ts_configure(unit):
- # type: (Unit) -> None
+def on_ts_configure(unit: NotsUnitType) -> None:
from lib.nots.package_manager.base import PackageJson
from lib.nots.package_manager.base.utils import build_pj_path
from lib.nots.typescript import TsConfig
@@ -423,8 +499,8 @@ def on_ts_configure(unit):
@_with_report_configure_error
-def on_setup_build_env(unit): # type: (Unit) -> None
- build_env_var = unit.get("TS_BUILD_ENV") # type: str
+def on_setup_build_env(unit: NotsUnitType) -> None:
+ build_env_var = unit.get("TS_BUILD_ENV")
if not build_env_var:
return
@@ -441,8 +517,7 @@ def on_setup_build_env(unit): # type: (Unit) -> None
unit.set(["NOTS_TOOL_BUILD_ENV", " ".join(options)])
-def __set_append(unit, var_name, value):
- # type: (Unit, str, str|list[str]|tuple[str]) -> None
+def __set_append(unit: NotsUnitType, var_name: str, value: UnitType.PluginArgs) -> None:
"""
SET_APPEND() python naive implementation - append value/values to the list of values
"""
@@ -453,9 +528,7 @@ def __set_append(unit, var_name, value):
unit.set([var_name, new_value])
-def __strip_prefix(prefix, line):
- # type: (str, str) -> str
-
+def __strip_prefix(prefix: str, line: str) -> str:
if line.startswith(prefix):
prefix_len = len(prefix)
return line[prefix_len:]
@@ -463,7 +536,7 @@ def __strip_prefix(prefix, line):
return line
-def _filter_inputs_by_rules_from_tsconfig(unit, tsconfig):
+def _filter_inputs_by_rules_from_tsconfig(unit: NotsUnitType, tsconfig: 'TsConfig') -> None:
"""
Reduce file list from the TS_GLOB_FILES variable following tsconfig.json rules
"""
@@ -476,14 +549,11 @@ def _filter_inputs_by_rules_from_tsconfig(unit, tsconfig):
__set_append(unit, "TS_INPUT_FILES", [os.path.join(target_path, f) for f in filtered_files])
-def _is_tests_enabled(unit):
- if unit.get("TIDY") == "yes":
- return False
+def _is_tests_enabled(unit: NotsUnitType) -> bool:
+ return unit.get("TIDY") != "yes"
- return True
-
-def _setup_eslint(unit):
+def _setup_eslint(unit: NotsUnitType) -> None:
if not _is_tests_enabled(unit):
return
@@ -532,7 +602,7 @@ def _setup_eslint(unit):
@_with_report_configure_error
-def _setup_tsc_typecheck(unit):
+def _setup_tsc_typecheck(unit: NotsUnitType) -> None:
if not _is_tests_enabled(unit):
return
@@ -594,7 +664,7 @@ def _setup_tsc_typecheck(unit):
@_with_report_configure_error
-def _setup_stylelint(unit):
+def _setup_stylelint(unit: NotsUnitType) -> None:
if not _is_tests_enabled(unit):
return
@@ -640,7 +710,7 @@ def _setup_stylelint(unit):
unit.set(["TEST_RECIPES_VALUE", recipes_value])
-def _resolve_module_files(unit, mod_dir, file_paths):
+def _resolve_module_files(unit: NotsUnitType, mod_dir: str, file_paths: list[str]) -> list[str]:
mod_dir_with_sep_len = len(mod_dir) + 1
resolved_files = []
@@ -653,9 +723,9 @@ def _resolve_module_files(unit, mod_dir, file_paths):
return resolved_files
-def _set_resource_vars(unit, erm_json, tool, version, nodejs_major=None):
- # type: (any, ErmJsonLite, Version, str|None, int|None) -> None
-
+def _set_resource_vars(
+ unit: NotsUnitType, erm_json: 'ErmJsonLite', tool: str, version: 'Version', nodejs_major: int = None
+) -> None:
resource_name = erm_json.canonize_name(tool).upper()
# example: NODEJS_12_18_4 | HERMIONE_7_0_4_NODEJS_18
@@ -671,8 +741,9 @@ def _set_resource_vars(unit, erm_json, tool, version, nodejs_major=None):
unit.set(["{}-ROOT-VAR-NAME".format(resource_name), yamake_resource_var])
-def _select_matching_version(erm_json, resource_name, range_str, dep_is_required=False):
- # type: (ErmJsonLite, str, str, bool) -> Version
+def _select_matching_version(
+ erm_json: 'ErmJsonLite', resource_name: str, range_str: str, dep_is_required=False
+) -> 'Version':
if dep_is_required and range_str is None:
raise Exception(
"Please install the '{tool}' package to the project. Run the command:\n"
@@ -702,29 +773,7 @@ def _select_matching_version(erm_json, resource_name, range_str, dep_is_required
@_with_report_configure_error
-def on_prepare_deps_configure(unit):
- contrib_path = unit.get("NPM_CONTRIBS_PATH")
- if contrib_path == '-':
- unit.on_prepare_deps_configure_no_contrib()
- return
- unit.onpeerdir(contrib_path)
- pm = _create_pm(unit)
- pj = pm.load_package_json_from_dir(pm.sources_path)
- has_deps = pj.has_dependencies()
- ins, outs = pm.calc_prepare_deps_inouts(unit.get("_TARBALLS_STORE"), has_deps)
-
- if has_deps:
- unit.onpeerdir(pm.get_local_peers_from_package_json())
- __set_append(unit, "_PREPARE_DEPS_INOUTS", _build_directives("input", ["hide"], sorted(ins)))
- __set_append(unit, "_PREPARE_DEPS_INOUTS", _build_directives("output", ["hide"], sorted(outs)))
-
- else:
- __set_append(unit, "_PREPARE_DEPS_INOUTS", _build_directives("output", [], sorted(outs)))
- unit.set(["_PREPARE_DEPS_CMD", "$_PREPARE_NO_DEPS_CMD"])
-
-
-@_with_report_configure_error
-def on_prepare_deps_configure_no_contrib(unit):
+def on_prepare_deps_configure(unit: NotsUnitType) -> None:
pm = _create_pm(unit)
pj = pm.load_package_json_from_dir(pm.sources_path)
has_deps = pj.has_dependencies()
@@ -743,7 +792,7 @@ def on_prepare_deps_configure_no_contrib(unit):
@_with_report_configure_error
-def on_node_modules_configure(unit):
+def on_node_modules_configure(unit: NotsUnitType) -> None:
pm = _create_pm(unit)
pj = pm.load_package_json_from_dir(pm.sources_path)
@@ -800,7 +849,9 @@ def on_node_modules_configure(unit):
@_with_report_configure_error
-def on_ts_test_for_configure(unit, test_runner, default_config, node_modules_filename):
+def on_ts_test_for_configure(
+ unit: NotsUnitType, test_runner: TsTestType, default_config: str, node_modules_filename: str
+) -> None:
if not _is_tests_enabled(unit):
return
@@ -857,8 +908,9 @@ def on_ts_test_for_configure(unit, test_runner, default_config, node_modules_fil
unit.set_property(["DART_DATA", data])
+# noinspection PyUnusedLocal
@_with_report_configure_error
-def on_validate_ts_test_for_args(unit, for_mod, root):
+def on_validate_ts_test_for_args(unit: NotsUnitType, for_mod: str, root: str) -> None:
# FBP-1085
is_arc_root = root == "${ARCADIA_ROOT}"
is_rel_for_mod = for_mod.startswith(".")
@@ -871,14 +923,14 @@ def on_validate_ts_test_for_args(unit, for_mod, root):
@_with_report_configure_error
-def on_set_ts_test_for_vars(unit, for_mod):
+def on_set_ts_test_for_vars(unit: NotsUnitType, for_mod: str) -> None:
unit.set(["TS_TEST_FOR", "yes"])
unit.set(["TS_TEST_FOR_DIR", unit.resolve_arc_path(for_mod)])
unit.set(["TS_TEST_FOR_PATH", rootrel_arc_src(for_mod, unit)])
@_with_report_configure_error
-def on_ts_files(unit, *files):
+def on_ts_files(unit: NotsUnitType, *files: str) -> None:
new_cmds = ['$COPY_CMD ${{input;context=TEXT:"{0}"}} ${{output;noauto:"{0}"}}'.format(f) for f in files]
all_cmds = unit.get("_TS_FILES_COPY_CMD")
if all_cmds:
@@ -887,7 +939,7 @@ def on_ts_files(unit, *files):
@_with_report_configure_error
-def on_ts_large_files(unit, destination: str, *files: list[str]):
+def on_ts_large_files(unit: NotsUnitType, destination: str, *files: list[str]) -> None:
if destination == REQUIRED_MISSING:
ymake.report_configure_error(
"Macro TS_LARGE_FILES() requires to use DESTINATION parameter.\n"
@@ -901,7 +953,7 @@ def on_ts_large_files(unit, destination: str, *files: list[str]):
return
# TODO: FBP-1795
- # ${BINDIR} prefix for input is important to resove to result of LARGE_FILES and not to SOURCEDIR
+ # ${BINDIR} prefix for input is important to resolve to result of LARGE_FILES and not to SOURCEDIR
new_cmds = [
'$COPY_CMD ${{input;context=TEXT:"${{BINDIR}}/{0}"}} ${{output;noauto:"{1}/{0}"}}'.format(f, destination)
for f in files
@@ -913,7 +965,7 @@ def on_ts_large_files(unit, destination: str, *files: list[str]):
@_with_report_configure_error
-def on_ts_package_check_files(unit):
+def on_ts_package_check_files(unit: NotsUnitType) -> None:
ts_files = unit.get("_TS_FILES_COPY_CMD")
if ts_files == "":
ymake.report_configure_error(
@@ -925,7 +977,7 @@ def on_ts_package_check_files(unit):
@_with_report_configure_error
-def on_depends_on_mod(unit):
+def on_depends_on_mod(unit: NotsUnitType) -> None:
if unit.get("_TS_TEST_DEPENDS_ON_BUILD"):
for_mod_path = unit.get("TS_TEST_FOR_PATH")
unit.ondepends([for_mod_path])
diff --git a/build/plugins/ytest.py b/build/plugins/ytest.py
index f24ba674a0..ab3f227bea 100644
--- a/build/plugins/ytest.py
+++ b/build/plugins/ytest.py
@@ -869,7 +869,6 @@ def onadd_pytest_bin(fields, unit, *args):
df.JdkForTests.value,
df.ModuleLang.value,
df.TestClasspath.value,
- df.TestClasspathOrigins.value,
df.TestClasspathDeps.value,
df.TestJar.value,
df.DockerImage.value,
diff --git a/build/scripts/clang_wrapper.py b/build/scripts/clang_wrapper.py
index b865c157cf..d5e48b91e1 100644
--- a/build/scripts/clang_wrapper.py
+++ b/build/scripts/clang_wrapper.py
@@ -34,7 +34,7 @@ def fix_path(p):
if __name__ == '__main__':
is_on_win = sys.argv[1] == 'yes'
path = sys.argv[2]
- args = filter(None, [fix(s) for s in sys.argv[3:]])
+ args = list(filter(None, [fix(s) for s in sys.argv[3:]]))
if is_on_win:
path = fix_path(path)
try:
diff --git a/build/scripts/fetch_from_npm.py b/build/scripts/fetch_from_npm.py
deleted file mode 100644
index d8f0c41f26..0000000000
--- a/build/scripts/fetch_from_npm.py
+++ /dev/null
@@ -1,113 +0,0 @@
-from __future__ import print_function
-from future.utils import raise_
-import os
-import sys
-import time
-import logging
-import argparse
-import hashlib
-import base64
-
-import sky
-import fetch_from
-
-
-NPM_BASEURL = "http://npm.yandex-team.ru"
-
-
-def parse_args():
- parser = argparse.ArgumentParser()
- fetch_from.add_common_arguments(parser)
-
- parser.add_argument("--tarball-url", required=True)
- parser.add_argument("--sky-id", required=True)
- parser.add_argument("--integrity", required=True)
- parser.add_argument("--integrity-algorithm", required=True)
-
- return parser.parse_args()
-
-
-def fetch(tarball_url, sky_id, integrity, integrity_algorithm, file_name, tries=5):
- """
- :param name: package name
- :type name: str
- :param version: package version
- :type version: str
- :param sky_id: sky id of tarball
- :type sky_id: str
- :param integrity: tarball integrity (hex)
- :type integrity: str
- :param integrity_algorithm: integrity algorithm (known for openssl)
- :type integrity_algorithm: str
- :param tries: tries count
- :type tries: int
- :return: path to fetched file
- :rtype: str
- """
- # if sky.is_avaliable() and 'NOTS_FETCH_FROM_HTTP_ONLY' not in os.environ:
- # fetcher = lambda: sky.fetch(sky_id, file_name)
- # else:
- # Отключаем походы через скай
- # TODO: https://st.yandex-team.ru/FBP-351
- if 'NOTS_FETCH_FROM_SKY' in os.environ and sky.is_avaliable():
- fetcher = lambda: sky.fetch(sky_id, file_name)
- else:
- fetcher = lambda: _fetch_via_http(tarball_url, integrity, integrity_algorithm, file_name)
-
- fetched_file = None
- exc_info = None
-
- for i in range(0, tries):
- try:
- fetched_file = fetcher()
- exc_info = None
- break
- except Exception as e:
- logging.exception(e)
- exc_info = exc_info or sys.exc_info()
- time.sleep(i)
-
- if exc_info:
- raise_(exc_info[0], exc_info[1], exc_info[2])
-
- return fetched_file
-
-
-def _fetch_via_http(tarball_url, integrity, integrity_algorithm, file_name):
- is_abs_url = tarball_url.startswith("https://") or tarball_url.startswith("http://")
- url_delim = "" if tarball_url.startswith("/") else "/"
- url = tarball_url if is_abs_url else NPM_BASEURL + url_delim + tarball_url
-
- hashobj = hashlib.new(integrity_algorithm)
- fetched_file = fetch_from.fetch_url(url, False, file_name, tries=1, writers=[hashobj.update])
- checksum = base64.b64encode(hashobj.digest()).decode('utf-8')
-
- if checksum != integrity:
- raise fetch_from.BadChecksumFetchError("Expected {}, but got {} for {}".format(
- integrity,
- checksum,
- file_name,
- ))
-
- return fetched_file
-
-
-def main(args):
- file_name = os.path.basename(args.copy_to)
- fetched_file = fetch(args.tarball_url, args.sky_id, args.integrity, args.integrity_algorithm, file_name)
- fetch_from.process(fetched_file, file_name, args)
-
-
-if __name__ == "__main__":
- args = parse_args()
- fetch_from.setup_logging(args, os.path.basename(__file__))
-
- try:
- main(args)
- except Exception as e:
- logging.exception(e)
- print(open(args.abs_log_path).read(), file=sys.stderr)
- sys.stderr.flush()
-
- import error
- sys.exit(error.ExitCodes.INFRASTRUCTURE_ERROR if fetch_from.is_temporary(e) else 1)
diff --git a/build/scripts/generic_cmd.py b/build/scripts/generic_cmd.py
new file mode 100644
index 0000000000..c850d244e8
--- /dev/null
+++ b/build/scripts/generic_cmd.py
@@ -0,0 +1,31 @@
+import os
+import sys
+import json
+import base64
+import subprocess
+
+
+if __name__ == '__main__':
+ p = sys.argv.index('--')
+ ctx = base64.b64decode(sys.argv[p + 1].encode()).decode()
+ kv = {}
+
+ for x in sys.argv[1:p]:
+ k, v = x.split('=')
+ ctx = ctx.replace(f'$({k})', v)
+ kv[k] = v
+
+ cmd = json.loads(ctx)
+
+ args = cmd['cmd_args']
+ cwd = cmd.get('cwd', kv['B'])
+
+ env = dict(**os.environ)
+ env['ARCADIA_ROOT_DISTBUILD'] = kv['S']
+ env.update(cmd['env'])
+
+ out = subprocess.check_output(args, env=env, cwd=cwd)
+
+ if stdout := cmd.get('stdout'):
+ with open(stdout, 'wb') as f:
+ f.write(out)
diff --git a/build/scripts/ya.make b/build/scripts/ya.make
index 43cda7dc0d..3941fa1fb8 100644
--- a/build/scripts/ya.make
+++ b/build/scripts/ya.make
@@ -15,7 +15,6 @@ IF (PY2)
fetch_from.py
fetch_from_archive.py
fetch_from_mds.py
- fetch_from_npm.py
fetch_from_sandbox.py
fetch_resource.py
fix_py2_protobuf.py
diff --git a/build/ymake.core.conf b/build/ymake.core.conf
index b59168f2bc..79ad503dea 100644
--- a/build/ymake.core.conf
+++ b/build/ymake.core.conf
@@ -2659,7 +2659,7 @@ macro ADD_COMPILABLE_TRANSLIT(TranslitTable, NGrams, Name, Options...) {
_COPY_FILE_CONTEXT=
macro _COPY_FILE_IMPL(TEXT[], AUTO_DST="", NOAUTO_DST="", OUTPUT_INCLUDES[], INDUCED_DEPS[], OUTPUT_INCLUDES_INP[], FILE...) {
- .CMD=$COPY_CMD ${input:FILE} ${input;context=TEXT:TEXT} ${output:AUTO_DST} ${noauto;output:NOAUTO_DST} ${output_include;hide:OUTPUT_INCLUDES} ${output_include;from_input;hide:OUTPUT_INCLUDES_INP} $INDUCED_DEPS ${hide;kv:"p CP"} ${hide;kv:"pc light-cyan"}
+ .CMD=$COPY_CMD ${input:FILE} ${context=TEXT;input:TEXT} ${output:AUTO_DST} ${noauto;output:NOAUTO_DST} ${hide;output_include:OUTPUT_INCLUDES} ${output_include;from_input;hide:OUTPUT_INCLUDES_INP} $INDUCED_DEPS ${hide;kv:"p CP"} ${hide;kv:"pc light-cyan"}
.SEM=copy_file ${input:FILE} ${output:AUTO_DST} ${noauto;output:NOAUTO_DST} && target_commands-ITEM && target_commands-macro copy_file && target_commands-args ${input:FILE} ${output:AUTO_DST} ${noauto;output:NOAUTO_DST}
}
@@ -2725,8 +2725,8 @@ macro ALL_RESOURCE_FILES_FROM_DIRS(PREFIX="", STRIP="", DIRS...) {
_ARF_HELPER(${pre=PREFIX :PREFIX} STRIP ${ARCADIA_ROOT}/${MODDIR}/${STRIP} ${_ALL_RES_DIRS})
}
-macro _BUNDLE_TARGET(Target, Destination) {
- .CMD=$MOVE_FILE ${result:Target} ${noauto;output:Destination} ${hide;kv:"p BN"} ${hide;kv:"pc light-cyan"} $VCS_INFO_DISABLE_CACHE__NO_UID__
+macro _BUNDLE_TARGET(Target, Destination, Suffix) {
+ .CMD=$MOVE_FILE ${result:Target}$Suffix ${noauto;output:Destination} ${hide;kv:"p BN"} ${hide;kv:"pc light-cyan"} $VCS_INFO_DISABLE_CACHE__NO_UID__
}
### @usage: TIMEOUT(TIMEOUT)
@@ -2844,7 +2844,7 @@ macro JOIN_SRCS_GLOBAL(Out, Src...) {
### This macro places all files into single file, so will work with any sources.
### You should specify file name with the extension as Out. Further processing will be done according to this extension.
macro FLAT_JOIN_SRCS_GLOBAL(Out, Src...) {
- .CMD=$FS_TOOLS cat ${noauto;output:Out} --ya-start-command-file ${input;context=TEXT:Src} --ya-end-command-file ${output_include;from_input;hide:Src} ${hide;kv:"p JS"} ${hide;kv:"pc magenta"}
+ .CMD=$FS_TOOLS cat ${noauto;output:Out} --ya-start-command-file ${context=TEXT;input:Src} --ya-end-command-file ${output_include;from_input;hide:Src} ${hide;kv:"p JS"} ${hide;kv:"pc magenta"}
SRCS(GLOBAL $Out)
}
@@ -3161,7 +3161,7 @@ macro MANUAL_GENERATION(Outs...) {
# tag:src-processing
macro _SRC("sc", SRC, SRCFLAGS...) {
- .CMD=${tool:"tools/domschemec"} --in ${input:SRC} --out ${output;norel:SRC.h} ${output_include;hide:"library/cpp/domscheme/runtime.h"} ${SRCFLAGS} ${hide;kv:"p SC"} ${hide;kv:"pc yellow"}
+ .CMD=${tool:"tools/domschemec"} --in ${input:SRC} --out ${output;norel:SRC.h} ${hide;output_include:"library/cpp/domscheme/runtime.h"} ${SRCFLAGS} ${hide;kv:"p SC"} ${hide;kv:"pc yellow"}
.PEERDIR=library/cpp/domscheme
}
@@ -3172,7 +3172,7 @@ macro _SRC("ssqls", SRC, SRCFLAGS...) {
# tag:src-processing
macro _SRC("f", SRC, SRCFLAGS...) {
- .CMD=$YMAKE_PYTHON ${input:"build/scripts/f2c.py"} -t ${tool:"contrib/tools/f2c"} -c ${input:SRC} -o ${output:SRC.c} ${output_include;hide:"f2c.h"} ${hide;kv:"p FT"} ${hide;kv:"pc light-green"}
+ .CMD=$YMAKE_PYTHON ${input:"build/scripts/f2c.py"} -t ${tool:"contrib/tools/f2c"} -c ${input:SRC} -o ${output:SRC.c} ${hide;output_include:"f2c.h"} ${hide;kv:"p FT"} ${hide;kv:"pc light-green"}
.PEERDIR=contrib/libs/libf2c
.ADDINCL=contrib/libs/libf2c
}
@@ -3488,7 +3488,7 @@ YDL_DESC_FLAGS=
# tag:src-processing tag:ydl-specific
macro _SRC("ydl", SRC, SRCFLAGS...) {
- .CMD=${tool:"statbox/ydl/compiler/tooling/ydl/bin"} c $YDL_FLAGS --cpp-output-header ${output;suf=.h:SRC} --cpp-output-source ${output;suf=.cpp:SRC} ${input:SRC} ${output_include;hide:"statbox/ydl/runtime/cpp/gen_support/standard_includes.h"} ${hide;kv:"p YDL"} ${hide;kv:"pc yellow"}
+ .CMD=${tool:"statbox/ydl/compiler/tooling/ydl/bin"} c $YDL_FLAGS --cpp-output-header ${output;suf=.h:SRC} --cpp-output-source ${output;suf=.cpp:SRC} ${input:SRC} ${hide;output_include:"statbox/ydl/runtime/cpp/gen_support/standard_includes.h"} ${hide;kv:"p YDL"} ${hide;kv:"pc yellow"}
.PEERDIR+=statbox/ydl/runtime/cpp
}
@@ -3909,7 +3909,7 @@ macro ARCHIVE_ASM(NAME="", DONTCOMPRESS?"-p":"", Files...) {
# tag:yweb-specific
macro PIRE_INLINE_CMD(SRC) {
- .CMD=${tool:"library/cpp/regex/pire/inline"} -o ${output:SRC} ${input:SRC} ${output_include;hide:SRC} ${hide;kv:"p PI"} ${hide;kv:"pc yellow"}
+ .CMD=${tool:"library/cpp/regex/pire/inline"} -o ${output:SRC} ${input:SRC} ${hide;output_include:SRC} ${hide;kv:"p PI"} ${hide;kv:"pc yellow"}
}
# tag:yweb-specific
@@ -4005,7 +4005,7 @@ DECIMAL_MD5_FIXED=
### Generates .cpp file <fileName> with one defined function 'const char* <funcName>() { return "<calculated_md5_hash>"; }'.
### <calculated_md5_hash> will be md5 hash for all inputs passed to this macro.
macro DECIMAL_MD5_LOWER_32_BITS(File, FUNCNAME="", Opts...) {
- .CMD=$YMAKE_PYTHON ${input:DECIMAL_MD5_SCRIPT} --fixed-output=${DECIMAL_MD5_FIXED} --func-name=${FUNCNAME} --lower-bits 32 --source-root=$ARCADIA_ROOT ${input;context=TEXT:Opts} ${stdout;output:File} ${hide;kv:"p SV"} ${hide;kv:"pc yellow"} ${hide;kv:"show_out"}
+ .CMD=$YMAKE_PYTHON ${input:DECIMAL_MD5_SCRIPT} --fixed-output=${DECIMAL_MD5_FIXED} --func-name=${FUNCNAME} --lower-bits 32 --source-root=$ARCADIA_ROOT ${context=TEXT;input:Opts} ${stdout;output:File} ${hide;kv:"p SV"} ${hide;kv:"pc yellow"} ${hide;kv:"show_out"}
}
# tag:internal
@@ -4301,7 +4301,7 @@ macro _LUAJIT_OPENRESTY_OBJDUMP(Src, OUT="") {
###
### Documentation: https://wiki.yandex-team.ru/yatool/HowToWriteYaMakeFiles/
macro GENERATE_ENUM_SERIALIZATION(File) {
- .CMD=$ENUM_PARSER_TOOL ${input:File} --include-path ${input;rootrel:File} --output ${output;suf=_serialized.cpp:File} ${output_include;from_input;hide:File} ${output_include;hide:"util/generic/serialized_enum.h"} ${hide;kv:"p EN"} ${hide;kv:"pc yellow"}
+ .CMD=$ENUM_PARSER_TOOL ${input:File} --include-path ${input;rootrel:File} --output ${output;suf=_serialized.cpp:File} ${output_include;from_input;hide:File} ${hide;output_include:"util/generic/serialized_enum.h"} ${hide;kv:"p EN"} ${hide;kv:"pc yellow"}
.SEM=generate_enum_serilization ${input:File} ${hide;output;suf=_serialized.o:File} INCLUDE_HEADERS ${input;rootrel:File} ${hide;tool:"tools/enum_parser/enum_parser"} && target_macroses-ITEM && target_macroses-macro generate_enum_serilization && target_macroses-args ${input:File} ${hide;output;suf=_serialized.o:File} INCLUDE_HEADERS ${input;rootrel:File} ${hide;tool:"tools/enum_parser/enum_parser"}
PEERDIR(tools/enum_parser/enum_serialization_runtime)
}
@@ -4395,7 +4395,7 @@ SCHEEME2_STRUCT_INFO_FLAGS=-f "const static ui32 RecordSig" -u "RecordSig" --gcc
### for compatibility with C++ compiler and the external environment.
### See tools/structparser for more details.
macro GEN_SCHEEME2(ScheemeName, FromFile) {
- .CMD=$CXX_COMPILER_OLD $C_FLAGS_PLATFORM -c ${stdout;tmp:FromFile.cph} $SCHEEME2_CFLAGS ${input:FromFile} ${pre=-I:_C__INCLUDE} $CXXFLAGS -Wno-error && ${tool:"tools/structparser"} -o ${output:ScheemeName.inc} -n N${ScheemeName}SchemeInfo $SCHEEME2_STRUCT_INFO_FLAGS $DATAWORK_SCHEEME_EXPORT_FLAGS ${tmp:FromFile.cph} ${stdout;output;noauto:ScheemeName.inc.log} ${hide;kv:"p SH"} ${hide;kv:"pc yellow"}
+ .CMD=$CXX_COMPILER_OLD $C_FLAGS_PLATFORM -c ${stdout;tmp:FromFile.cph} $SCHEEME2_CFLAGS ${input:FromFile} ${pre=-I:_C__INCLUDE} $CXXFLAGS -Wno-error && ${tool:"tools/structparser"} -o ${output:ScheemeName.inc} -n N${ScheemeName}SchemeInfo $SCHEEME2_STRUCT_INFO_FLAGS $DATAWORK_SCHEEME_EXPORT_FLAGS ${tmp:FromFile.cph} ${stdout;noauto;output:ScheemeName.inc.log} ${hide;kv:"p SH"} ${hide;kv:"pc yellow"}
}
### @usage: SYMLINK(from to)
@@ -4563,8 +4563,8 @@ macro DECLARE_IN_DIRS(var_prefix, PATTERN, SRCDIR="", RECURSIVE?"**/":"", EXCLUD
### ${CURDIR} and ${BINDIR} which are expanded where the outputs are used.
### Note that Tool is always built for the host platform, so be careful to provide that tool can be built for all Arcadia major host platforms (Linux, MacOS and Windows).
macro RUN_PROGRAM(Tool, IN{input}[], IN_NOPARSE{input}[], OUT{output}[], OUT_NOAUTO{output}[], TOOL{tool}[], OUTPUT_INCLUDES[], INDUCED_DEPS[], IN_DEPS[], STDOUT="", STDOUT_NOAUTO="", CWD="", ENV[], Args...) {
- .CMD=${cwd:CWD} ${env:ENV} ${tool:Tool} $Args ${hide;input:IN} ${input;context=TEXT;hide:IN_NOPARSE} ${hide;input:IN_DEPS} ${output_include;hide:OUTPUT_INCLUDES} $INDUCED_DEPS ${hide;tool:TOOL} ${hide;output:OUT} ${hide;noauto;output:OUT_NOAUTO} ${stdout;output:STDOUT} ${stdout;output;noauto:STDOUT_NOAUTO} ${hide;kv:"p PR"} ${hide;kv:"pc yellow"} ${hide;kv:"show_out"}
- .SEM=add_custom_command $_SET_ENV_FOR_CUSTOM_COMMAND($ENV) OUTPUT ${output:OUT} ${noauto;output:OUT_NOAUTO} ${output:STDOUT} ${noauto;output:STDOUT_NOAUTO} DEPENDS ${input:IN} ${input;context=TEXT:IN_NOPARSE} ${tool:Tool} ${tool:TOOL} ${pre=WORKING_DIRECTORY :CWD} COMMAND ${tool:Tool} $Args ${pre=> :STDOUT} ${pre=> :STDOUT_NOAUTO} $_TARGET_SOURCES_FOR_HEADERS($OUT $OUT_NOAUTO $STDOUT $STDOUT_NOAUTO) && target_commands-ITEM && target_commands-macro add_custom_command && target_commands-args $_SET_ENV_FOR_CUSTOM_COMMAND($ENV) OUTPUT ${output:OUT} ${noauto;output:OUT_NOAUTO} ${output:STDOUT} ${noauto;output:STDOUT_NOAUTO} DEPENDS ${input:IN} ${input;context=TEXT:IN_NOPARSE} ${tool:Tool} ${tool:TOOL} ${pre=WORKING_DIRECTORY :CWD} COMMAND ${tool:Tool} $Args ${pre=> :STDOUT} ${pre=> :STDOUT_NOAUTO} $_TARGET_SOURCES_FOR_HEADERS($OUT $OUT_NOAUTO $STDOUT $STDOUT_NOAUTO)
+ .CMD=${cwd:CWD} ${env:ENV} ${tool:Tool} $Args ${hide;input:IN} ${hide;context=TEXT;input:IN_NOPARSE} ${hide;input:IN_DEPS} ${hide;output_include:OUTPUT_INCLUDES} $INDUCED_DEPS ${hide;tool:TOOL} ${hide;output:OUT} ${hide;noauto;output:OUT_NOAUTO} ${stdout;output:STDOUT} ${stdout;noauto;output:STDOUT_NOAUTO} ${hide;kv:"p PR"} ${hide;kv:"pc yellow"} ${hide;kv:"show_out"}
+ .SEM=add_custom_command $_SET_ENV_FOR_CUSTOM_COMMAND($ENV) OUTPUT ${output:OUT} ${noauto;output:OUT_NOAUTO} ${output:STDOUT} ${noauto;output:STDOUT_NOAUTO} DEPENDS ${input:IN} ${context=TEXT;input:IN_NOPARSE} ${tool:Tool} ${tool:TOOL} ${pre=WORKING_DIRECTORY :CWD} COMMAND ${tool:Tool} $Args ${pre=> :STDOUT} ${pre=> :STDOUT_NOAUTO} $_TARGET_SOURCES_FOR_HEADERS($OUT $OUT_NOAUTO $STDOUT $STDOUT_NOAUTO) && target_commands-ITEM && target_commands-macro add_custom_command && target_commands-args $_SET_ENV_FOR_CUSTOM_COMMAND($ENV) OUTPUT ${output:OUT} ${noauto;output:OUT_NOAUTO} ${output:STDOUT} ${noauto;output:STDOUT_NOAUTO} DEPENDS ${input:IN} ${context=TEXT;input:IN_NOPARSE} ${tool:Tool} ${tool:TOOL} ${pre=WORKING_DIRECTORY :CWD} COMMAND ${tool:Tool} $Args ${pre=> :STDOUT} ${pre=> :STDOUT_NOAUTO} $_TARGET_SOURCES_FOR_HEADERS($OUT $OUT_NOAUTO $STDOUT $STDOUT_NOAUTO)
}
# tag:lua-specific
@@ -4589,7 +4589,7 @@ macro RUN_PROGRAM(Tool, IN{input}[], IN_NOPARSE{input}[], OUT{output}[], OUT_NOA
### For absolute paths use ${ARCADIA_ROOT} and ${ARCADIA_BUILD_ROOT}, or
### ${CURDIR} and ${BINDIR} which are expanded where the outputs are used.
macro RUN_LUA(ScriptPath, IN{input}[], IN_NOPARSE{input}[], OUT{output}[], OUT_NOAUTO{output}[], TOOL{tool}[], OUTPUT_INCLUDES[], INDUCED_DEPS[], STDOUT="", STDOUT_NOAUTO="", CWD="", ENV[], Args...) {
- .CMD=${cwd:CWD} ${env:ENV} $LUA_TOOL ${input:ScriptPath} $Args ${hide;input:IN} ${input;context=TEXT;hide:IN_NOPARSE} ${output_include;hide:OUTPUT_INCLUDES} $INDUCED_DEPS ${hide;tool:TOOL} ${hide;output:OUT} ${hide;noauto;output:OUT_NOAUTO} ${stdout;output:STDOUT} ${stdout;output;noauto:STDOUT_NOAUTO} ${hide;kv:"p LU"} ${hide;kv:"pc yellow"} ${hide;kv:"show_out"}
+ .CMD=${cwd:CWD} ${env:ENV} $LUA_TOOL ${input:ScriptPath} $Args ${hide;input:IN} ${hide;context=TEXT;input:IN_NOPARSE} ${hide;output_include:OUTPUT_INCLUDES} $INDUCED_DEPS ${hide;tool:TOOL} ${hide;output:OUT} ${hide;noauto;output:OUT_NOAUTO} ${stdout;output:STDOUT} ${stdout;noauto;output:STDOUT_NOAUTO} ${hide;kv:"p LU"} ${hide;kv:"pc yellow"} ${hide;kv:"show_out"}
}
# tag:python-specific
@@ -4614,14 +4614,14 @@ macro RUN_LUA(ScriptPath, IN{input}[], IN_NOPARSE{input}[], OUT{output}[], OUT_N
### For absolute paths use ${ARCADIA_ROOT} and ${ARCADIA_BUILD_ROOT}, or
### ${CURDIR} and ${BINDIR} which are expanded where the outputs are used.
macro RUN_PYTHON3(ScriptPath, IN{input}[], IN_NOPARSE{input}[], OUT{output}[], OUT_NOAUTO{output}[], TOOL{tool}[], OUTPUT_INCLUDES[], INDUCED_DEPS[], STDOUT="", STDOUT_NOAUTO="", CWD="", ENV[], Args...) {
- .CMD=${cwd:CWD} ${env:ENV} $YMAKE_PYTHON3 ${input:ScriptPath} $Args ${hide;input:IN} ${input;context=TEXT;hide:IN_NOPARSE} ${output_include;hide:OUTPUT_INCLUDES} $INDUCED_DEPS ${hide;tool:TOOL} ${hide;output:OUT} ${hide;noauto;output:OUT_NOAUTO} ${stdout;output:STDOUT} ${stdout;output;noauto:STDOUT_NOAUTO} ${hide;kv:"p PY"} ${hide;kv:"pc yellow"} ${hide;kv:"show_out"}
- .SEM=find_package Python3 && packages-ITEM && packages-name Python3 && mpackages-ITEM && mpackages-name Python3 && add_custom_command $_SET_ENV_FOR_CUSTOM_COMMAND($ENV) OUTPUT ${output:OUT} ${noauto;output:OUT_NOAUTO} ${output:STDOUT} ${noauto;output:STDOUT_NOAUTO} DEPENDS ${input:IN} ${input;context=TEXT:IN_NOPARSE} ${input:ScriptPath} ${tool:TOOL} ${pre=WORKING_DIRECTORY :CWD} COMMAND Python3::Interpreter ${input:ScriptPath} $Args ${pre=> :STDOUT} ${pre=> :STDOUT_NOAUTO} $_TARGET_SOURCES_FOR_HEADERS($OUT $OUT_NOAUTO $STDOUT $STDOUT_NOAUTO) && target_commands-ITEM && target_commands-macro add_custom_command && target_commands-args $_SET_ENV_FOR_CUSTOM_COMMAND($ENV) OUTPUT ${output:OUT} ${noauto;output:OUT_NOAUTO} ${output:STDOUT} ${noauto;output:STDOUT_NOAUTO} DEPENDS ${input:IN} ${input;context=TEXT:IN_NOPARSE} ${input:ScriptPath} ${tool:TOOL} ${pre=WORKING_DIRECTORY :CWD} COMMAND Python3::Interpreter ${input:ScriptPath} $Args ${pre=> :STDOUT} ${pre=> :STDOUT_NOAUTO} $_TARGET_SOURCES_FOR_HEADERS($OUT $OUT_NOAUTO $STDOUT $STDOUT_NOAUTO)
+ .CMD=${cwd:CWD} ${env:ENV} $YMAKE_PYTHON3 ${input:ScriptPath} $Args ${hide;input:IN} ${hide;context=TEXT;input:IN_NOPARSE} ${hide;output_include:OUTPUT_INCLUDES} $INDUCED_DEPS ${hide;tool:TOOL} ${hide;output:OUT} ${hide;noauto;output:OUT_NOAUTO} ${stdout;output:STDOUT} ${stdout;noauto;output:STDOUT_NOAUTO} ${hide;kv:"p PY"} ${hide;kv:"pc yellow"} ${hide;kv:"show_out"}
+ .SEM=find_package Python3 && packages-ITEM && packages-name Python3 && mpackages-ITEM && mpackages-name Python3 && add_custom_command $_SET_ENV_FOR_CUSTOM_COMMAND($ENV) OUTPUT ${output:OUT} ${noauto;output:OUT_NOAUTO} ${output:STDOUT} ${noauto;output:STDOUT_NOAUTO} DEPENDS ${input:IN} ${context=TEXT;input:IN_NOPARSE} ${input:ScriptPath} ${tool:TOOL} ${pre=WORKING_DIRECTORY :CWD} COMMAND Python3::Interpreter ${input:ScriptPath} $Args ${pre=> :STDOUT} ${pre=> :STDOUT_NOAUTO} $_TARGET_SOURCES_FOR_HEADERS($OUT $OUT_NOAUTO $STDOUT $STDOUT_NOAUTO) && target_commands-ITEM && target_commands-macro add_custom_command && target_commands-args $_SET_ENV_FOR_CUSTOM_COMMAND($ENV) OUTPUT ${output:OUT} ${noauto;output:OUT_NOAUTO} ${output:STDOUT} ${noauto;output:STDOUT_NOAUTO} DEPENDS ${input:IN} ${context=TEXT;input:IN_NOPARSE} ${input:ScriptPath} ${tool:TOOL} ${pre=WORKING_DIRECTORY :CWD} COMMAND Python3::Interpreter ${input:ScriptPath} $Args ${pre=> :STDOUT} ${pre=> :STDOUT_NOAUTO} $_TARGET_SOURCES_FOR_HEADERS($OUT $OUT_NOAUTO $STDOUT $STDOUT_NOAUTO)
}
# tag:java-specific
macro _RUN_ANTLR_BASE(IN{input}[], IN_NOPARSE{input}[], OUT{output}[], OUT_NOAUTO{output}[], OUTPUT_INCLUDES[], INDUCED_DEPS[], TOOL[], STDOUT="", STDOUT_NOAUTO="", CWD="", JAR[], SEM="run_java", SEM_ARGS_PREFIX="", ENV[], HIDE_OUTPUT?"stderr2stdout":"stdout2stderr", Args...) {
PEERDIR(build/platform/java/jdk $JDK_RESOURCE_PEERDIR)
- .CMD=${cwd:CWD} ${env:ENV} $YMAKE_PYTHON ${input;pre=build/scripts/:HIDE_OUTPUT.py} $JDK_RESOURCE/bin/java $JAR $Args ${hide;tool:TOOL} ${hide;input:IN} ${input;context=TEXT;hide:IN_NOPARSE} ${output_include;hide:OUTPUT_INCLUDES} $INDUCED_DEPS ${hide;output:OUT} ${hide;noauto;output:OUT_NOAUTO} ${stdout;output:STDOUT} ${stdout;output;noauto:STDOUT_NOAUTO} ${hide;kv:"p JV"} ${hide;kv:"pc light-blue"} ${hide;kv:"show_out"}
+ .CMD=${cwd:CWD} ${env:ENV} $YMAKE_PYTHON ${input;pre=build/scripts/:HIDE_OUTPUT.py} $JDK_RESOURCE/bin/java $JAR $Args ${hide;tool:TOOL} ${hide;input:IN} ${hide;context=TEXT;input:IN_NOPARSE} ${hide;output_include:OUTPUT_INCLUDES} $INDUCED_DEPS ${hide;output:OUT} ${hide;noauto;output:OUT_NOAUTO} ${stdout;output:STDOUT} ${stdout;noauto;output:STDOUT_NOAUTO} ${hide;kv:"p JV"} ${hide;kv:"pc light-blue"} ${hide;kv:"show_out"}
.SEM=$SEM OUTPUT ${output:OUT} ${noauto;output:OUT_NOAUTO} DEPENDS ${input:IN} ${pre=WORKING_DIRECTORY :CWD} $SEM_ARGS_PREFIX $Args && target_commands-ITEM && target_commands-macro $SEM && target_commands-args OUTPUT ${output:OUT} ${noauto;output:OUT_NOAUTO} DEPENDS ${input:IN} ${pre=WORKING_DIRECTORY :CWD} $SEM_ARGS_PREFIX $Args
}
@@ -4648,7 +4648,7 @@ macro _RUN_ANTLR_BASE(IN{input}[], IN_NOPARSE{input}[], OUT{output}[], OUT_NOAUT
### changes resource_ids in such macros if newer resource of specified type is available. Note that the task seeks AUTOUPDATED in specific position,
### so you shall place it immediately after resource_id.
macro FROM_SANDBOX(Id, OUT{output}[], OUT_NOAUTO{output}[], OUTPUT_INCLUDES[], INDUCED_DEPS[], FILE?"--copy-to-dir":"--untar-to", AUTOUPDATED="", PREFIX=".", RENAME[], EXECUTABLE?"--executable":"", SBR="sbr:") {
- .CMD=${hide:SANDBOX_FAKEID} ${cwd:BINDIR} ${resource;pre=$SBR:Id} $YMAKE_PYTHON ${input:"build/scripts/fetch_from_sandbox.py"} --resource-file $(RESOURCE_ROOT)/sbr/$Id/resource --resource-id $Id $FILE $PREFIX ${pre=--rename :RENAME} $EXECUTABLE -- $OUT $OUT_NOAUTO ${hide;input:"build/scripts/fetch_from.py"} ${output_include;hide:OUTPUT_INCLUDES} $INDUCED_DEPS ${hide;output:OUT} ${hide;noauto;output:OUT_NOAUTO} ${requirements;hide:"network:full"} ${hide;kv:"p SB"} ${hide;kv:"pc yellow"} ${hide;kv:"show_out"}
+ .CMD=${hide:SANDBOX_FAKEID} ${cwd:BINDIR} ${resource;pre=$SBR:Id} $YMAKE_PYTHON ${input:"build/scripts/fetch_from_sandbox.py"} --resource-file $(RESOURCE_ROOT)/sbr/$Id/resource --resource-id $Id $FILE $PREFIX ${pre=--rename :RENAME} $EXECUTABLE -- $OUT $OUT_NOAUTO ${hide;input:"build/scripts/fetch_from.py"} ${hide;output_include:OUTPUT_INCLUDES} $INDUCED_DEPS ${hide;output:OUT} ${hide;noauto;output:OUT_NOAUTO} ${requirements;hide:"network:full"} ${hide;kv:"p SB"} ${hide;kv:"pc yellow"} ${hide;kv:"show_out"}
ADD_CHECK(check.resource $Id)
}
@@ -4667,7 +4667,7 @@ macro LARGE_FILES(AUTOUPDATED?, Files...) {
###
### Process file archive as [FROM_SANDBOX()](#macro_FROM_SANDBOX).
macro FROM_ARCHIVE(Src, OUT{output}[], OUT_NOAUTO{output}[], OUTPUT_INCLUDES[], INDUCED_DEPS[], PREFIX=".", RENAME[], EXECUTABLE?"--executable":"") {
- .CMD=${cwd:BINDIR} $YMAKE_PYTHON ${input:"build/scripts/fetch_from_archive.py"} "--archive" ${input:Src} "--file-name" ${suf=-:Src} "--untar-to" $PREFIX ${pre=--rename :RENAME} $EXECUTABLE -- $OUT $OUT_NOAUTO ${hide;input:"build/scripts/fetch_from.py"} ${output_include;hide:OUTPUT_INCLUDES} $INDUCED_DEPS ${hide;output:OUT} ${hide;noauto;output:OUT_NOAUTO} ${hide;kv:"p FA"} ${hide;kv:"pc yellow"} ${hide;kv:"show_out"}
+ .CMD=${cwd:BINDIR} $YMAKE_PYTHON ${input:"build/scripts/fetch_from_archive.py"} "--archive" ${input:Src} "--file-name" ${suf=-:Src} "--untar-to" $PREFIX ${pre=--rename :RENAME} $EXECUTABLE -- $OUT $OUT_NOAUTO ${hide;input:"build/scripts/fetch_from.py"} ${hide;output_include:OUTPUT_INCLUDES} $INDUCED_DEPS ${hide;output:OUT} ${hide;noauto;output:OUT_NOAUTO} ${hide;kv:"p FA"} ${hide;kv:"pc yellow"} ${hide;kv:"show_out"}
}
when ($MSVC == "yes") {
@@ -5056,11 +5056,11 @@ macro TASKLET() {
}
TASKLET_REG_INCLUDES= \
- ${output_include;hide:"tasklet/v1/runtime/lib/cpp_wrapper.h"} \
- ${output_include;hide:"tasklet/v1/runtime/lib/go_wrapper.h"} \
- ${output_include;hide:"tasklet/v1/runtime/lib/py_wrapper.h"} \
- ${output_include;hide:"tasklet/v1/runtime/lib/js_wrapper.h"} \
- ${output_include;hide:"tasklet/v1/runtime/lib/registry.h"}
+ ${hide;output_include:"tasklet/v1/runtime/lib/cpp_wrapper.h"} \
+ ${hide;output_include:"tasklet/v1/runtime/lib/go_wrapper.h"} \
+ ${hide;output_include:"tasklet/v1/runtime/lib/py_wrapper.h"} \
+ ${hide;output_include:"tasklet/v1/runtime/lib/js_wrapper.h"} \
+ ${hide;output_include:"tasklet/v1/runtime/lib/registry.h"}
macro TASKLET_REG(Name, Lang, Impl, Includes...) {
PEERDIR(tasklet/v1/domain sandbox/bin sandbox/taskbox/worker)
@@ -5071,7 +5071,7 @@ macro TASKLET_REG(Name, Lang, Impl, Includes...) {
PEERDIR+=tasklet/v1/runtime/js
}
- .CMD=$YMAKE_PYTHON ${input:"build/scripts/gen_tasklet_reg.py"} $Name -l $Lang -i $Impl ${noauto;output:Name.task.cpp} $Includes ${output_include;hide:Includes} $TASKLET_REG_INCLUDES ${hide;kv:"p TT"} ${hide;kv:"pc yellow"}
+ .CMD=$YMAKE_PYTHON ${input:"build/scripts/gen_tasklet_reg.py"} $Name -l $Lang -i $Impl ${noauto;output:Name.task.cpp} $Includes ${hide;output_include:Includes} $TASKLET_REG_INCLUDES ${hide;kv:"p TT"} ${hide;kv:"pc yellow"}
SRCS(GLOBAL $Name.task.cpp)
}
@@ -5080,7 +5080,7 @@ macro TASKLET_REG(Name, Lang, Impl, Includes...) {
macro TASKLET_REG_EXT(Name, Lang, Impl, Wrapper, Includes...) {
PEERDIR(tasklet/v1/domain sandbox/bin sandbox/taskbox/worker)
- .CMD=$YMAKE_PYTHON ${input:"build/scripts/gen_tasklet_reg.py"} $Name -l $Lang -i $Impl -w $Wrapper ${noauto;output:Name.task.cpp} $Includes ${output_include;hide:Includes} $TASKLET_REG_INCLUDES ${hide;kv:"p TT"} ${hide;kv:"pc yellow"}
+ .CMD=$YMAKE_PYTHON ${input:"build/scripts/gen_tasklet_reg.py"} $Name -l $Lang -i $Impl -w $Wrapper ${noauto;output:Name.task.cpp} $Includes ${hide;output_include:Includes} $TASKLET_REG_INCLUDES ${hide;kv:"p TT"} ${hide;kv:"pc yellow"}
SRCS(GLOBAL $Name.task.cpp)
}
@@ -5888,7 +5888,7 @@ macro HEADERS(Dirs...) {
### - CWD - path to the working directory of the Tool
### Note: Generated AST files generated into BINDIR according to corresponding .cpp file names listed in SOURCES parameter.
macro CLANG_EMIT_AST_CXX_RUN_TOOL(SOURCES[], OPTS[], Tool, IN{input}[], IN_NOPARSE{input}[], OUT{output}[], OUT_NOAUTO{output}[], TOOL{tool}[], OUTPUT_INCLUDES[], INDUCED_DEPS[], IN_DEPS[], STDOUT="", STDOUT_NOAUTO="", CWD="", ENV[], Args...) {
- .CMD=${cwd:BINDIR} $YMAKE_PYTHON ${input:"build/scripts/clang_wrapper.py"} $WINDOWS ${CLANG_RESOURCE_GLOBAL}/bin/clang++ ${pre=-I:_C__INCLUDE} $CXXFLAGS $C_FLAGS_PLATFORM $LLVM_OPTS -emit-ast -c ${input:SOURCES} ${hide;tmp;noext;nopath:SOURCES.ast} $OPTS ${hide;kv:"p ST"} ${hide;kv:"pc light-green"} && ${cwd:CWD} ${env:ENV} ${tool:Tool} $Args ${hide;input:IN} ${input;context=TEXT;hide:IN_NOPARSE} ${hide;input:IN_DEPS} ${output_include;hide:OUTPUT_INCLUDES} $INDUCED_DEPS ${hide;tool:TOOL} ${hide;output:OUT} ${hide;noauto;output:OUT_NOAUTO} ${stdout;output:STDOUT} ${stdout;output;noauto:STDOUT_NOAUTO} ${hide;kv:"p PR"} ${hide;kv:"pc yellow"} ${hide;kv:"show_out"}
+ .CMD=${cwd:BINDIR} $YMAKE_PYTHON ${input:"build/scripts/clang_wrapper.py"} $WINDOWS ${CLANG_RESOURCE_GLOBAL}/bin/clang++ ${pre=-I:_C__INCLUDE} $CXXFLAGS $C_FLAGS_PLATFORM $LLVM_OPTS -emit-ast -c ${input:SOURCES} ${hide;tmp;noext;nopath:SOURCES.ast} $OPTS ${hide;kv:"p ST"} ${hide;kv:"pc light-green"} && ${cwd:CWD} ${env:ENV} ${tool:Tool} $Args ${hide;input:IN} ${hide;context=TEXT;input:IN_NOPARSE} ${hide;input:IN_DEPS} ${hide;output_include:OUTPUT_INCLUDES} $INDUCED_DEPS ${hide;tool:TOOL} ${hide;output:OUT} ${hide;noauto;output:OUT_NOAUTO} ${stdout;output:STDOUT} ${stdout;noauto;output:STDOUT_NOAUTO} ${hide;kv:"p PR"} ${hide;kv:"pc yellow"} ${hide;kv:"show_out"}
PEERDIR(build/platform/clang)
}