summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorvpozdyayev <[email protected]>2025-08-05 20:54:22 +0300
committervpozdyayev <[email protected]>2025-08-05 21:12:11 +0300
commit37f66778793d189158bae06fe030d9c70ede812e (patch)
treece9b3ed3dfe985815b26fed5ba2bd34461530ea9
parent4d576a194855d3d3725914b7330af3f6478e0e13 (diff)
Enable the new engine for PACKAGE and UNION
commit_hash:6409b9985158dc471c29e37ea4704344ed0d65a1
-rw-r--r--build/ymake.core.conf33
1 files changed, 26 insertions, 7 deletions
diff --git a/build/ymake.core.conf b/build/ymake.core.conf
index 779a90a8a84..bbcab1dab85 100644
--- a/build/ymake.core.conf
+++ b/build/ymake.core.conf
@@ -2308,7 +2308,8 @@ macro PACK(Ext) {
}
module _PACKAGE_FINAL: _BASE_UNIT {
- .CMD=TOUCH_PACKAGE_MF
+ .CMD=$TOUCH_PACKAGE_MF
+ .STRUCT_CMD=yes
.ALIASES=SRCS=FILES
.ALLOWED=PACK
.USE_PEERS_LATE_OUTS=yes
@@ -2346,7 +2347,8 @@ multimodule PACKAGE {
}
module PACKAGE_UNION: UNION {
- .CMD=UNION_CMD
+ .CMD=$UNION_CMD
+ .STRUCT_CMD=yes
.FINAL_TARGET=no
.ALLOWED=PACK
.IGNORED=VCS_INFO_FILE
@@ -2392,7 +2394,8 @@ TOUCH_UNIT_MF=$TOUCH_UNIT && $GENERATE_MF
###
### Documentation: https://wiki.yandex-team.ru/yatool/large-data/
module UNION: _BASE_UNIT {
- .CMD=UNION_CMD_MF
+ .CMD=$UNION_CMD_MF
+ .STRUCT_CMD=yes
.FINAL_TARGET=no
.ALIASES=SRCS=FILES
.ALLOWED=EXPLICIT_OUTPUTS
@@ -2405,7 +2408,8 @@ module UNION: _BASE_UNIT {
PEERDIR_TAGS=CPP_PROTO CPP_PROTO_FROM_SCHEMA CPP_FBS PY3 PY2_NATIVE PY3_NATIVE YQL_UDF_SHARED __EMPTY__ RESOURCE_LIB DOCSBOOK JAR_RUNNABLE PY3_BIN DLL TS PACKAGE_UNION
DISABLE(_NEED_SBOM_INFO)
- UNION_OUTS=${hide;late_out:AUTO_INPUT}
+ UNION_OUTS__LATEOUT__=${AUTO_INPUT}
+ UNION_OUTS=${hide;late_out:UNION_OUTS__LATEOUT__}
when ($_UNION_EXPLICIT_OUTPUTS) {
UNION_OUTS=$_EXPAND_INS_OUTS(FILES $_UNION_EXPLICIT_OUTPUTS)
}
@@ -4992,17 +4996,32 @@ _EXTRA_PACKAGE_CMD=
TOUCH_UNIT=$YMAKE_PYTHON3 ${input:"build/scripts/touch.py"} ${hide;kv:"p UN"} ${hide;kv:"pc light-cyan"} $TARGET
FAKE_PACKAGE_CMD=$YMAKE_PYTHON3 ${input:"build/scripts/touch.py"} ${hide;kv:"pc light-red"} $TARGET
-COPY_PACKAGE_CMD=$YMAKE_PYTHON3 ${input:"build/scripts/copy_to_dir.py"} --dest-dir $BINDIR --build-root $ARCADIA_BUILD_ROOT $PACKED_PACKAGE_ARGS $SRCS_GLOBAL $PEERS_LATE_OUTS ${skip_by_ext=.pkg.fake:PEERS} ${hide;late_out:AUTO_INPUT} ${hide;late_out;to_namespace=$BINDIR/:SRCS_GLOBAL} ${hide;late_out;to_namespace=$BINDIR/:PEERS_LATE_OUTS} ${hide;late_out;skip_by_ext=.pkg.fake;to_namespace=$BINDIR/:PEERS} ${hide;kv:"package PACKAGE"}
+COPY_PACKAGE_CMD__LATEOUT__=\
+ ${AUTO_INPUT} \
+ ${pre=$BINDIR/;nobuildroot:SRCS_GLOBAL} \
+ ${pre=$BINDIR/;nobuildroot:PEERS_LATE_OUTS} \
+ ${pre=$BINDIR/;nobuildroot;skip_by_ext=.pkg.fake:PEERS}
+COPY_PACKAGE_CMD=\
+ $YMAKE_PYTHON3 ${input:"build/scripts/copy_to_dir.py"} \
+ --dest-dir $BINDIR \
+ --build-root $ARCADIA_BUILD_ROOT \
+ $PACKED_PACKAGE_ARGS \
+ $SRCS_GLOBAL \
+ $PEERS_LATE_OUTS \
+ ${skip_by_ext=.pkg.fake:PEERS} \
+ ${hide;late_out:COPY_PACKAGE_CMD__LATEOUT__} \
+ ${hide;kv:"package PACKAGE"}
TOUCH_PACKAGE=$FAKE_PACKAGE_CMD $VCS_INFO_DISABLE_CACHE__NO_UID__ && $COPY_PACKAGE_CMD && $_EXTRA_PACKAGE_CMD
_P_PK=${hide;kv:"p PK"}
-TOUCH_PACKAGE_MF=$GENERATE_MF && $TOUCH_PACKAGE $_P_PK && $ADD_VCS_INFO_FILE_CMD
+TOUCH_PACKAGE_MF=$GENERATE_MF && $TOUCH_PACKAGE && $_P_PK && $ADD_VCS_INFO_FILE_CMD
# Note: we don't use touch.py in the command below to avoid introduction of undesired input
UNION_CMD=$YMAKE_PYTHON3 -c open(\'$TARGET\',\'w\').close() ${hide;kv:"p UN"} ${hide;kv:"package UNION"} ${hide;kv:"pc light-cyan"} $UNION_OUTS $VCS_INFO_DISABLE_CACHE__NO_UID__
UNION_CMD_MF=$UNION_CMD && $GENERATE_MF
+_EXPAND_INS_OUTS__LATEOUT__=${INPUT}
macro _EXPAND_INS_OUTS(FILES{input}[]) {
- .CMD=${hide;input:FILES} ${hide;late_out:INPUT}
+ .CMD=${hide;input:FILES} ${hide;late_out:_EXPAND_INS_OUTS__LATEOUT__}
}
_UNION_EXPLICIT_OUTPUTS=