diff options
author | khoden <khoden@yandex-team.com> | 2025-02-03 09:04:06 +0300 |
---|---|---|
committer | khoden <khoden@yandex-team.com> | 2025-02-03 09:28:47 +0300 |
commit | 6f9ffcd3daddd441911cbc0f35143aff80f044de (patch) | |
tree | 818b1d9359a1be1d7071ac3c264c5e66774e552d | |
parent | 0de5ed90f6951729817b3ef9e10f5cdb0f67cda3 (diff) | |
download | ydb-6f9ffcd3daddd441911cbc0f35143aff80f044de.tar.gz |
nots: Сделать output.tar главным артефактом сборки, чтобы можно было использовать его в BUNDLE()
Пока что есть проблемы с пирами (всегда).
Нужно разобраться, как их доставлять правильно.
commit_hash:caf90ef2192d4e9b5b18ee468b0697cb55b79408
-rw-r--r-- | build/conf/ts/ts.conf | 9 | ||||
-rw-r--r-- | build/conf/ts/ts_next.conf | 5 | ||||
-rw-r--r-- | build/conf/ts/ts_tsc.conf | 3 | ||||
-rw-r--r-- | build/conf/ts/ts_vite.conf | 5 | ||||
-rw-r--r-- | build/conf/ts/ts_webpack.conf | 5 | ||||
-rw-r--r-- | build/plugins/lib/nots/package_manager/base/constants.py | 3 |
6 files changed, 12 insertions, 18 deletions
diff --git a/build/conf/ts/ts.conf b/build/conf/ts/ts.conf index 0700299262..ce720cb50f 100644 --- a/build/conf/ts/ts.conf +++ b/build/conf/ts/ts.conf @@ -50,8 +50,9 @@ when($AUTOCHECK == "yes") { } # Arguments for builders' commands, passed after the command +# TODO FBP-1978 (remove output.tar output) NOTS_TOOL_COMMON_BUILDER_ARGS=\ - --output-file ${output:TS_OUTPUT_FILE} ${hide;output:TS_OUTPUT_FILE_UUID} \ + --output-file ${output:TARGET} ${hide;output:"output.tar"} ${hide;output:"output.tar.uuid"} \ --tsconfigs $TS_CONFIG_PATH \ --vcs-info "${VCS_INFO_FILE}" \ $NOTS_TOOL_BUILD_REQUIREMENTS__NO_UID__ \ @@ -59,8 +60,6 @@ NOTS_TOOL_COMMON_BUILDER_ARGS=\ ERM_PACKAGES_PATH=devtools/frontend_build_platform/erm/erm-packages.json -TS_OUTPUT_FILE=output.tar -TS_OUTPUT_FILE_UUID=output.tar.uuid TS_EXCLUDE_DIR_GLOB=(.idea|.vscode|node_modules)/**/* TS_COMMON_OUTDIR_GLOB=(build|dist|bundle|\${join=|:WEBPACK_OUTPUT_DIR}|$TS_NEXT_OUTPUT_DIR|$VITE_OUTPUT_DIR)/**/* @@ -95,8 +94,8 @@ module _TS_BASE_UNIT: _BARE_UNIT { SET(MODULE_LANG TS) # TS should peer to TS SET(PEERDIR_TAGS TS TS_PROTO TS_PROTO_FROM_SCHEMA) - # .fake tells builder to not materialize it in results - SET(MODULE_SUFFIX .ts.fake) + + SET(MODULE_SUFFIX .output.tar) # We read erm-packages.json during configuration, so we have to include it to configuration cache key SET_APPEND(_MAKEFILE_INCLUDE_LIKE_DEPS ${ARCADIA_ROOT}/$ERM_PACKAGES_PATH) diff --git a/build/conf/ts/ts_next.conf b/build/conf/ts/ts_next.conf index 72c5a9a665..5ee34d3eac 100644 --- a/build/conf/ts/ts_next.conf +++ b/build/conf/ts/ts_next.conf @@ -30,8 +30,7 @@ macro TS_NEXT_EXPERIMENTAL_COMPILE() { SET(TS_NEXT_COMMAND experimental-compile) } -TS_NEXT_CMD=$TOUCH_UNIT \ - && $_TS_FILES_COPY_CMD \ +TS_NEXT_CMD=$_TS_FILES_COPY_CMD \ && $ADD_VCS_INFO_FILE_CMD \ && $NOTS_TOOL $NOTS_TOOL_BASE_ARGS build-next $NOTS_TOOL_COMMON_BUILDER_ARGS \ --ts-next-command ${TS_NEXT_COMMAND} \ @@ -46,7 +45,7 @@ TS_NEXT_CMD=$TOUCH_UNIT \ ### ### NextJS app, built with `next build`. Requires sources to be under /src folder. ### /pages and /app on the root level ar not supported. -### Build results are output.tar. +### Build results are <module_name>.output.tar. ### ### Documentation: https://docs.yandex-team.ru/frontend-in-arcadia/references/TS_NEXT ### diff --git a/build/conf/ts/ts_tsc.conf b/build/conf/ts/ts_tsc.conf index 0cbcbe4caa..26a6e3541c 100644 --- a/build/conf/ts/ts_tsc.conf +++ b/build/conf/ts/ts_tsc.conf @@ -1,5 +1,4 @@ -TS_TSC_CMD=$TOUCH_UNIT \ - && $_TS_FILES_COPY_CMD \ +TS_TSC_CMD=$_TS_FILES_COPY_CMD \ && $NOTS_TOOL $NOTS_TOOL_BASE_ARGS build-tsc $NOTS_TOOL_COMMON_BUILDER_ARGS \ $_NODE_MODULES_INOUTS ${hide:PEERS} \ ${hide;input:"package.json"} ${TS_CONFIG_FILES} $_AS_HIDDEN_INPUTS(IN $TS_INPUT_FILES) \ diff --git a/build/conf/ts/ts_vite.conf b/build/conf/ts/ts_vite.conf index e8cb3cba98..e03739fbb0 100644 --- a/build/conf/ts/ts_vite.conf +++ b/build/conf/ts/ts_vite.conf @@ -33,8 +33,7 @@ macro VITE_OUTPUT(DirName) { } -TS_VITE_CMD=$TOUCH_UNIT \ - && $_TS_FILES_COPY_CMD \ +TS_VITE_CMD=$_TS_FILES_COPY_CMD \ && $ADD_VCS_INFO_FILE_CMD \ && $NOTS_TOOL $NOTS_TOOL_BASE_ARGS build-vite $NOTS_TOOL_COMMON_BUILDER_ARGS \ --bundler-config-path ${input:VITE_CONFIG_PATH} \ @@ -47,7 +46,7 @@ TS_VITE_CMD=$TOUCH_UNIT \ ### @usage: TS_VITE([name]) ### ### The Vite bundle, bundles JavaScript code. -### Build results are packed as `output.tar`. +### Build results are packed as `<module_name>.output.tar`. ### ### Documentation: https://docs.yandex-team.ru/frontend-in-arcadia/references/TS_VITE ### diff --git a/build/conf/ts/ts_webpack.conf b/build/conf/ts/ts_webpack.conf index c3d5e07a9b..51e937fc51 100644 --- a/build/conf/ts/ts_webpack.conf +++ b/build/conf/ts/ts_webpack.conf @@ -30,8 +30,7 @@ macro WEBPACK_OUTPUT(FirstDirName, DirNames...) { SET(WEBPACK_OUTPUT_DIR $FirstDirName $DirNames) } -TS_WEBPACK_CMD=$TOUCH_UNIT \ - && $_TS_FILES_COPY_CMD \ +TS_WEBPACK_CMD=$_TS_FILES_COPY_CMD \ && $ADD_VCS_INFO_FILE_CMD \ && $NOTS_TOOL $NOTS_TOOL_BASE_ARGS build-webpack $NOTS_TOOL_COMMON_BUILDER_ARGS \ --bundler-config-path ${input:WEBPACK_CONFIG_PATH} \ @@ -44,7 +43,7 @@ TS_WEBPACK_CMD=$TOUCH_UNIT \ ### @usage: TS_WEBPACK([name]) ### ### The Webpack bundle, bundles JavaScript code. -### Build results are packed as `output.tar`. +### Build results are packed as `<module_name>.output.tar`. ### ### Documentation: https://docs.yandex-team.ru/frontend-in-arcadia/references/TS_WEBPACK ### diff --git a/build/plugins/lib/nots/package_manager/base/constants.py b/build/plugins/lib/nots/package_manager/base/constants.py index 4b77ed2218..1012590c47 100644 --- a/build/plugins/lib/nots/package_manager/base/constants.py +++ b/build/plugins/lib/nots/package_manager/base/constants.py @@ -1,9 +1,8 @@ BUILD_DIRNAME = "build" BUNDLE_DIRNAME = "bundle" -NODE_MODULES_BUNDLE_FILENAME = "node_modules.tar" NODE_MODULES_DIRNAME = "node_modules" NODE_MODULES_WORKSPACE_BUNDLE_FILENAME = "workspace_node_modules.tar" NPM_REGISTRY_URL = "http://npm.yandex-team.ru" -OUTPUT_TAR_FILENAME = "output.tar" +OUTPUT_TAR_UUID_FILENAME = "output.tar.uuid" PACKAGE_JSON_FILENAME = "package.json" PNPM_LOCKFILE_FILENAME = "pnpm-lock.yaml" |