diff options
author | Alexander Smirnov <alex@ydb.tech> | 2025-03-02 11:21:41 +0000 |
---|---|---|
committer | Alexander Smirnov <alex@ydb.tech> | 2025-03-02 11:21:41 +0000 |
commit | 8322fb9ff849dc37fa752d5aba04ef9e7ba2a7c9 (patch) | |
tree | 0d722004f839a80a1c4a02aa4dd2704daae5adec /build | |
parent | 22b98a26c01070ae980dc5477323d8d4152aabbc (diff) | |
parent | 6678165e016ba474f1b8dd6d49af92b0d46350b9 (diff) | |
download | ydb-8322fb9ff849dc37fa752d5aba04ef9e7ba2a7c9.tar.gz |
Merge branch 'rightlib' into merge-libs-250302-1120
Diffstat (limited to 'build')
-rw-r--r-- | build/conf/docs.conf | 9 | ||||
-rw-r--r-- | build/conf/go.conf | 2 | ||||
-rw-r--r-- | build/conf/java.conf | 5 | ||||
-rw-r--r-- | build/conf/opensource.conf | 6 | ||||
-rw-r--r-- | build/conf/python.conf | 2 | ||||
-rw-r--r-- | build/conf/settings.conf | 5 | ||||
-rw-r--r-- | build/plugins/_dart_fields.py | 21 | ||||
-rw-r--r-- | build/plugins/lib/test_const/__init__.py | 1 | ||||
-rw-r--r-- | build/plugins/ytest.py | 13 | ||||
-rw-r--r-- | build/scripts/fetch_resource.py | 43 | ||||
-rw-r--r-- | build/scripts/ya.make | 1 | ||||
-rw-r--r-- | build/sysincl/emscripten.yml | 3 | ||||
-rw-r--r-- | build/ymake.core.conf | 15 |
13 files changed, 64 insertions, 62 deletions
diff --git a/build/conf/docs.conf b/build/conf/docs.conf index 28d0cf0d7c..c0db3f454e 100644 --- a/build/conf/docs.conf +++ b/build/conf/docs.conf @@ -53,7 +53,8 @@ _DOCS_YFM_CMD=$_DOCS_YFM_CMD_IMPL($_DOCS_CONFIG_VALUE EXTRA_INPUTS $_DOCS_EXTRA_ ### should be defined here. module _DOCS_BARE_UNIT: _BARE_UNIT { .ALLOWED=DOCS_DIR DOCS_CONFIG DOCS_VARS - .CMD=TOUCH_DOCS_MF + .CMD=$TOUCH_DOCS_MF + .STRUCT_CMD=yes .FINAL_TARGET=no .NODE_TYPE=Bundle .PEERDIR_POLICY=as_include @@ -82,7 +83,7 @@ _DOCS_LIBRARY_CMD=$_DOCS_LIBRARY_CMD_IMPL(SOURCES $_DOCS_SOURCES_VALUE INCLUDE_S # tag:docs module DOCS_LIBRARY: _DOCS_BARE_UNIT { - .CMD=_DOCS_LIBRARY_CMD + .CMD=$_DOCS_LIBRARY_CMD .ALIASES=SRCS=_DOCS_SRCS DOCS_DIR=_YFM_DOCS_DIR .EPILOGUE=_DOCS_LIBRARY_EPILOGUE .NODE_TYPE=Library @@ -150,7 +151,7 @@ macro _DOCS_YFM_USE_PLANTUML() { ### @see: [DOCS_DIR()](#macro_DOCS_DIR), [DOCS_CONFIG()](#macro_DOCS_CONFIG), [DOCS_VARS()](#macro_DOCS_VARS). multimodule DOCS { module DOCSBOOK: _DOCS_BASE_UNIT { - .CMD=_DOCS_YFM_CMD + .CMD=$_DOCS_YFM_CMD .FINAL_TARGET=yes .PEERDIR_POLICY=as_build_from .IGNORED=DOCS_DIR DOCS_INCLUDE_SOURCES DOCS_COPY_FILES PEERDIR PYTHON RUN_PROGRAM RUN_PYTHON3 RUN_LUA RUN_JAVA_PROGRAM FROM_SANDBOX SRCS COPY COPY_FILE FILES @@ -167,7 +168,7 @@ multimodule DOCS { } module DOCSLIB: _DOCS_BASE_UNIT { - .CMD=_DOCS_YFM_CMD + .CMD=$_DOCS_YFM_CMD .PEERDIR_POLICY=as_build_from .IGNORED=DOCS_DIR DOCS_INCLUDE_SOURCES DOCS_COPY_FILES PEERDIR PYTHON RUN_PROGRAM RUN_PYTHON3 RUN_LUA RUN_JAVA_PROGRAM FROM_SANDBOX SRCS COPY COPY_FILE FILES .PEERDIRSELF=DOCSLIB_INTERNAL diff --git a/build/conf/go.conf b/build/conf/go.conf index 83b03e753c..9776f39287 100644 --- a/build/conf/go.conf +++ b/build/conf/go.conf @@ -1022,5 +1022,5 @@ macro GO_MOCKGEN_MOCKS() { PEERDIR(vendor/go.uber.org/mock/gomock) # Unfortunately ${rootrel;tool:TOOL} doesn't work currently, so we use this ugly workaround $MODDIR/gen/gen$_GO_EXE_SUFFIX - RUN_PROGRAM(vendor/go.uber.org/mock/mockgen -package mocks -exec_only $MODDIR/gen/gen$_GO_EXE_SUFFIX ${GO_ARCADIA_PROJECT_PREFIX}${MOCKGEN_FROM} $MOCKGEN_TYPES STDOUT main.go TOOL $MODDIR/gen CWD $ARCADIA_BUILD_ROOT) + RUN_PROGRAM(vendor/go.uber.org/mock/mockgen -package mocks -exec_only $MODDIR/gen/gen$_GO_EXE_SUFFIX ${GO_ARCADIA_PROJECT_PREFIX}${MOCKGEN_FROM} $MOCKGEN_TYPES STDOUT main.go TOOL $MODDIR/gen CWD $ARCADIA_BUILD_ROOT ENV PATH=${GO_TOOLS_ROOT}/bin GOROOT=${GO_TOOLS_ROOT} GOCACHE=${BINDIR}/.gocache) } diff --git a/build/conf/java.conf b/build/conf/java.conf index dbc53bb371..f76b0cfc90 100644 --- a/build/conf/java.conf +++ b/build/conf/java.conf @@ -451,11 +451,6 @@ macro DEFAULT_JUNIT_JAVA_SRCS_LAYOUT() { FULL_JAVA_SRCS(RESOURCES SRCDIR resources **/* SKIP_CHECK_SRCDIR) } -macro _HASH_HELPER(Args...) { - .CMD=${hash:Args} - .SEM=${hash:Args} -} - macro _GENTAR_HELPER(HASH_SUF="hash_suf", OUT_DIR[]) { .CMD=${cwd:BINDIR} $YMAKE_PYTHON ${input:"build/scripts/autotar_gendirs.py"} --pack ${OUT_DIR} --outs ${output;tared;suf=$HASH_SUF:OUT_DIR} ${hide;kv:"tared_kind nodir"} .SEM=${hide;suf=$HASH_SUF;tared;output:OUT_DIR} diff --git a/build/conf/opensource.conf b/build/conf/opensource.conf index ee6dd6cb74..067aacf3cb 100644 --- a/build/conf/opensource.conf +++ b/build/conf/opensource.conf @@ -41,6 +41,9 @@ when ($OPENSOURCE == "yes" && $EXPORT_GRADLE == "yes") { EXPORT_SEM=yes EXPORTED_BUILD_SYSTEM_SOURCE_ROOT=${"$"}{PROJECT_SOURCE_DIR} EXPORTED_BUILD_SYSTEM_BUILD_ROOT=${"$"}{PROJECT_BINARY_DIR} +} + +when ($EXPORT_GRADLE == "yes") { EXPORT_LANG=JAVA } @@ -58,6 +61,9 @@ when ($OPENSOURCE == "yes" && $EXPORT_CMAKE == "yes") { EXPORT_SEM=yes EXPORTED_BUILD_SYSTEM_SOURCE_ROOT="${PROJECT_SOURCE_DIR}" EXPORTED_BUILD_SYSTEM_BUILD_ROOT="${PROJECT_BINARY_DIR}" +} + +when ($EXPORT_CMAKE == "yes") { EXPORT_LANG=CPP } diff --git a/build/conf/python.conf b/build/conf/python.conf index 8c0ca876a8..bfa42ee36d 100644 --- a/build/conf/python.conf +++ b/build/conf/python.conf @@ -267,6 +267,7 @@ multimodule PY3_PROGRAM { # Notify pybuild to skip all python main function definitions ENABLE(IGNORE_PY_MAIN) NO_CLANG_TIDY() + DISABLE(START_TARGET) } } @@ -435,6 +436,7 @@ multimodule PY3TEST { PEERDIR+=library/python/pytest _DONT_REQUIRE_LICENSE() WITHOUT_VERSION() + DISABLE(START_TARGET) } } diff --git a/build/conf/settings.conf b/build/conf/settings.conf index 3f0ba1ef70..761d9d83af 100644 --- a/build/conf/settings.conf +++ b/build/conf/settings.conf @@ -1,19 +1,14 @@ JSON_CACHE_IS_ATTACHED=yes LANGS_REQUIRE_BUILD_AND_SRC_ROOTS=c asm cython proto flatc swig ydl nlg -CHECK_GO_INCORRECT_DEPS=yes USE_PREBUILT_TOOLS=yes RESOLVE_FORCE_LISTDIR=no -ENABLE_NODE_SELF_UID=yes REPORT_CONFIGURE_PROGRESS=yes -FORCE_RESOLVE_MACRO_INCLS=yes -ENABLE_RERESOLVE_FOR_GENERATED_FILES=yes REPORT_ALL_DUPSRC=yes DEPS_CACHE_CONTROL_UIDS_CACHE=yes USE_GLOBAL_CMD=yes PIC_NO_PIE=no FAIL_PY2=no MAIN_OUTPUT_AS_EXTRA=yes -USE_REACHABILITY_TO_REPORT_CONF_ERRORS = yes DISABLE_ATD=yes when ($OS_WINDOWS == "yes") { diff --git a/build/plugins/_dart_fields.py b/build/plugins/_dart_fields.py index 8504891586..e102154a34 100644 --- a/build/plugins/_dart_fields.py +++ b/build/plugins/_dart_fields.py @@ -1137,6 +1137,20 @@ class TestFiles: # https://a.yandex-team.ru/arcadia/devtools/ya/test/dartfile/__init__.py?rev=r14292146#L10 KEY2 = 'FILES' + _GRUT_PREFIX = 'grut' + _GRUT_INCLUDE_LINTER_TEST_PATHS = ( + 'grut/libs/bigrt/clients', + 'grut/libs/bigrt/common', + 'grut/libs/bigrt/data', + 'grut/libs/bigrt/event_filter', + 'grut/libs/bigrt/info_keepers', + 'grut/libs/bigrt/processor', + 'grut/libs/bigrt/profile', + 'grut/libs/bigrt/profiles', + 'grut/libs/bigrt/queue_info_config', + 'grut/libs/shooter', + ) + @classmethod def value(cls, unit, flat_args, spec_args): data_re = re.compile(r"sbr:/?/?(\d+)=?.*") @@ -1230,6 +1244,13 @@ class TestFiles: @classmethod def cpp_linter_files(cls, unit, flat_args, spec_args): + upath = unit.path()[3:] + if upath.startswith(cls._GRUT_PREFIX): + for path in cls._GRUT_INCLUDE_LINTER_TEST_PATHS: + if os.path.commonpath([upath, path]) == path: + break + else: + raise DartValueError() files_dart = _reference_group_var("ALL_SRCS", consts.STYLE_CPP_ALL_EXTS) return {cls.KEY: files_dart, cls.KEY2: files_dart} diff --git a/build/plugins/lib/test_const/__init__.py b/build/plugins/lib/test_const/__init__.py index cd7534926c..293b514d01 100644 --- a/build/plugins/lib/test_const/__init__.py +++ b/build/plugins/lib/test_const/__init__.py @@ -181,6 +181,7 @@ NODEJS_RESOURCE = 'NODEJS_RESOURCE_GLOBAL' NYC_RESOURCE = 'NYC_RESOURCE_GLOBAL' RUFF_RESOURCE = 'RUFF_RESOURCE_GLOBAL' CLANG_FORMAT_RESOURCE = 'CLANG_FORMAT_RESOURCE_GLOBAL' +CLANG_FORMAT_15_RESOURCE = 'CLANG_FORMAT_15_RESOURCE_GLOBAL' # test_tool resource for host platform. # source - build/platform/test_tool/host.ya.make.inc. diff --git a/build/plugins/ytest.py b/build/plugins/ytest.py index 7adb582a91..4ae288e062 100644 --- a/build/plugins/ytest.py +++ b/build/plugins/ytest.py @@ -141,7 +141,18 @@ def validate_test(unit, kw): if valid_kw.get('SCRIPT-REL-PATH') == 'boost.test': project_path = valid_kw.get('BUILD-FOLDER-PATH', "") if not project_path.startswith( - ("contrib", "mail", "maps", "tools/idl", "metrika", "devtools", "mds", "yandex_io", "smart_devices") + ( + "contrib", + "mail", + "maps", + "mobile/geo/maps", + "tools/idl", + "metrika", + "devtools", + "mds", + "yandex_io", + "smart_devices", + ) ): errors.append("BOOSTTEST is not allowed here") diff --git a/build/scripts/fetch_resource.py b/build/scripts/fetch_resource.py deleted file mode 100644 index d5af311e5d..0000000000 --- a/build/scripts/fetch_resource.py +++ /dev/null @@ -1,43 +0,0 @@ -import urllib2 -import argparse -import xmlrpclib - - -def parse_args(): - parser = argparse.ArgumentParser() - parser.add_argument('-r', '--resource-id', type=int, required=True) - parser.add_argument('-o', '--output', required=True) - return parser.parse_args() - - -def fetch(url, retries=4, timeout=5): - for i in xrange(retries): - try: - return urllib2.urlopen(url, timeout=timeout).read() - - except Exception: - if i + 1 < retries: - continue - - else: - raise - - -def fetch_resource(id_): - urls = xmlrpclib.ServerProxy("https://sandbox.yandex-team.ru/sandbox/xmlrpc").get_resource_http_links(id_) - - for u in urls: - try: - return fetch(u) - - except Exception: - continue - - raise Exception('Cannot fetch resource {}'.format(id_)) - - -if __name__ == '__main__': - args = parse_args() - - with open(args.output, 'wb') as f: - f.write(fetch_resource(int(args.resource_id))) diff --git a/build/scripts/ya.make b/build/scripts/ya.make index e59871172b..165a8da6db 100644 --- a/build/scripts/ya.make +++ b/build/scripts/ya.make @@ -16,7 +16,6 @@ IF (PY2) fetch_from_archive.py fetch_from_mds.py fetch_from_sandbox.py - fetch_resource.py gen_java_codenav_entry.py gen_py3_reg.py go_tool.py diff --git a/build/sysincl/emscripten.yml b/build/sysincl/emscripten.yml index 2ac68cc16c..8c637abebe 100644 --- a/build/sysincl/emscripten.yml +++ b/build/sysincl/emscripten.yml @@ -108,6 +108,9 @@ - contrib/restricted/emscripten/system/lib/libc/musl/src/internal/syscall.h - contrib/restricted/emscripten/system/lib/libc/musl/arch/emscripten/bits/syscall.h + - syscall_arch.h: + - contrib/restricted/emscripten/system/lib/libc/musl/arch/emscripten/syscall_arch.h + - inttypes.h: contrib/restricted/emscripten/system/lib/libc/musl/include/inttypes.h - stddef.h: contrib/restricted/emscripten/system/lib/libc/musl/include/stddef.h - stdint.h: contrib/restricted/emscripten/system/lib/libc/musl/include/stdint.h diff --git a/build/ymake.core.conf b/build/ymake.core.conf index 1ed20b6aab..b96a5a412b 100644 --- a/build/ymake.core.conf +++ b/build/ymake.core.conf @@ -487,8 +487,13 @@ macro CHECK_DEPENDENT_DIRS(TYPE, ALL?"UNUSED":"", PEERDIRS?"PEERDIRS":"ALL", RES SET_APPEND(CHECK_DEPENDENT_DIRS_TYPES $TYPE) } +macro _HASH_HELPER(Args...) { + .CMD=${hash:Args} + .SEM=${hash:Args} +} + macro _RESOURCE_SEM(INPUTS[], KEYS[], OPTS[]) { - SET(RESOURCE_OUTPUT ${hash:INPUTS}.cpp) + SET(RESOURCE_OUTPUT $_HASH_HELPER($INPUTS $KEYS $OPTS).cpp) .SEM=target_macroses-ITEM && target_macroses-macro resources && target_macroses-args ${output;global:RESOURCE_OUTPUT} INPUTS ${input:INPUTS} KEYS $KEYS OPTS $OPTS ${hide;tool:"tools/rescompiler/bin"} } @@ -775,9 +780,15 @@ module _BASE_UNIT: _BARE_UNIT { when ($OS_EMSCRIPTEN == "yes") { when ($NOLIBC != "yes") { PEERDIR+=contrib/restricted/emscripten/include + # Important: In arcadia we usually build standalone WASM applications, + # so standalone library must go before lib/c in linker command-line. + # Emscripten uses two weak definitions for __clock_gettime function, + # so linker will pick one from the first library present in command + # line. + PEERDIR+=contrib/restricted/emscripten/system/lib/standalonewasm + PEERDIR+=contrib/restricted/emscripten/system/lib/stubs PEERDIR+=contrib/restricted/emscripten/system/lib/c PEERDIR+=contrib/restricted/emscripten/system/lib/dlmalloc - PEERDIR+=contrib/restricted/emscripten/system/lib/standalonewasm } } |