aboutsummaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authorAlexander Smirnov <alex@ydb.tech>2025-03-02 11:21:41 +0000
committerAlexander Smirnov <alex@ydb.tech>2025-03-02 11:21:41 +0000
commit8322fb9ff849dc37fa752d5aba04ef9e7ba2a7c9 (patch)
tree0d722004f839a80a1c4a02aa4dd2704daae5adec /build
parent22b98a26c01070ae980dc5477323d8d4152aabbc (diff)
parent6678165e016ba474f1b8dd6d49af92b0d46350b9 (diff)
downloadydb-8322fb9ff849dc37fa752d5aba04ef9e7ba2a7c9.tar.gz
Merge branch 'rightlib' into merge-libs-250302-1120
Diffstat (limited to 'build')
-rw-r--r--build/conf/docs.conf9
-rw-r--r--build/conf/go.conf2
-rw-r--r--build/conf/java.conf5
-rw-r--r--build/conf/opensource.conf6
-rw-r--r--build/conf/python.conf2
-rw-r--r--build/conf/settings.conf5
-rw-r--r--build/plugins/_dart_fields.py21
-rw-r--r--build/plugins/lib/test_const/__init__.py1
-rw-r--r--build/plugins/ytest.py13
-rw-r--r--build/scripts/fetch_resource.py43
-rw-r--r--build/scripts/ya.make1
-rw-r--r--build/sysincl/emscripten.yml3
-rw-r--r--build/ymake.core.conf15
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
}
}