diff options
author | Alexander Smirnov <alex@ydb.tech> | 2024-12-24 15:46:17 +0000 |
---|---|---|
committer | Alexander Smirnov <alex@ydb.tech> | 2024-12-24 15:46:17 +0000 |
commit | c7decaf9230ddcb1ec2c42d1f50fb3998166c4ef (patch) | |
tree | 4efde4e4276bb0f24c314909403a1f6ed94c60d7 /build | |
parent | cf344b64297e6a79d1e538be9f8f59afb06a2a97 (diff) | |
parent | b821606f7bd364dc755d37b5bcb3559130675364 (diff) | |
download | ydb-c7decaf9230ddcb1ec2c42d1f50fb3998166c4ef.tar.gz |
Merge branch 'rightlib' into merge-libs-241224-1545
Diffstat (limited to 'build')
23 files changed, 149 insertions, 95 deletions
diff --git a/build/conf/java.conf b/build/conf/java.conf index 114f78cd95..c83a583526 100644 --- a/build/conf/java.conf +++ b/build/conf/java.conf @@ -423,6 +423,7 @@ macro _SEM_JAR_SOURCE_SET(SRCDIR=".", PACKAGE_PREFIX="", EXCLUDE[], FILES[], RES macro FULL_JAVA_SRCS(Args...) { _IDEA_JAVA_SRCS_VALUE($Args) _JAVA_SRCS($Args) + _SEM_JAR_SOURCE_SET($Args) } # tag:java-specific diff --git a/build/conf/proto.conf b/build/conf/proto.conf index 7f1194e32b..988206de22 100644 --- a/build/conf/proto.conf +++ b/build/conf/proto.conf @@ -511,18 +511,6 @@ macro _JAVA_PROTO_CMD(File) { .SEM=proto_files ${input;rootrel:File} ${hide;output:File.jsrc} } - -# tag:proto tag:perl-specific tag:deprecated -### @usage: XS_PROTO(InputProto Dir Outputs...) # deprecated -### -### Generate Perl code from protobuf. -### In order to use this macro one should predict all outputs protoc will emit from input_proto file and enlist those as outputs. -macro XS_PROTO(File, Dir, Outputs...) { - .CMD=${PROTOC_OLD} -I=${ARCADIA_ROOT}/${Dir} ${pre=-I=:_PROTO__INCLUDE} -I=${ARCADIA_ROOT} -I=${PROTOBUF_OLD_PATH} --perlxs_out=${BINDIR} $_PROTOC_FLAGS ${input:File} ${hide;output:Outputs} ${induced_deps=h+cpp;hide;nopath;noext;suf=.pb.h:File} ${hide:PROTO_FAKEID} - PEERDIR(${Dir}) - ADDINCL(${ARCADIA_BUILD_ROOT}/${Dir}) -} - # tag:proto tag:python-specific when ($PY_PROTOS_FOR == "yes") { PEERDIR+=contrib/libs/protobuf/python diff --git a/build/conf/settings.conf b/build/conf/settings.conf index 87b1ba4203..2094fce5c5 100644 --- a/build/conf/settings.conf +++ b/build/conf/settings.conf @@ -127,4 +127,3 @@ ARCADIA_TEST_ROOT=../arcadia_tests_data/ DEFAULT_REQUIREMENTS=network:restricted cpu:1 ram:32 AUTOINCLUDE_PATHS=build/conf/autoincludes.json -LINTERS_MAKE_FILENAME=linters.make.inc diff --git a/build/conf/ts/ts_test.conf b/build/conf/ts/ts_test.conf index c468139336..79f3d79bf2 100644 --- a/build/conf/ts/ts_test.conf +++ b/build/conf/ts/ts_test.conf @@ -35,7 +35,7 @@ module TS_TEST_JEST_FOR: _TS_TEST_BASE { SET(PEERDIR_TAGS TS TS_PROTO TS_PROTO_FROM_SCHEMA) # compatibility with old TS_TEST_SRCS - SET(TS_TEST_EXTENSION test.(ts|tsx|js|jsx)) + SET(TS_TEST_EXTENSION (test|spec).(ts|tsx|mts|cts|js|jsx|mjs|cjs)) SET(TS_TEST_EXTRA_SRCS_MASK /**/__mocks__/*) # nots.py will decide if we need to depend on the testing target module output diff --git a/build/export_generators/ide-gradle/build.gradle.kts.jinja b/build/export_generators/ide-gradle/build.gradle.kts.jinja index d0a9040f05..36aa47faa9 100644 --- a/build/export_generators/ide-gradle/build.gradle.kts.jinja +++ b/build/export_generators/ide-gradle/build.gradle.kts.jinja @@ -1,14 +1,3 @@ -{%- macro OutDirs(run, prefix, suffix) -%} -{%- if run.args|length and run.out_dir|length -%} -{%- for out_dir in run.out_dir -%} -{%- set out_dirs = select_by_ends(run.args, "/" + out_dir) -%} -{%- if out_dirs|length %} -{{ prefix }}{{ out_dirs|first }}{{ suffix }} -{%- endif -%} -{%- endfor -%} -{%- endif -%} -{%- endmacro -%} - {%- include "[generator]/vars.jinja" -%} {%- include "[generator]/import.jinja" -%} {%- include "[generator]/repositories.jinja" -%} diff --git a/build/export_generators/ide-gradle/generator.toml b/build/export_generators/ide-gradle/generator.toml index b618430b2c..afc18c34ce 100644 --- a/build/export_generators/ide-gradle/generator.toml +++ b/build/export_generators/ide-gradle/generator.toml @@ -88,4 +88,5 @@ test=[ "/src/test/java", "/src/test-integration", "/src/testFixtures", + "/src/intTest", ] diff --git a/build/export_generators/ide-gradle/jdk.jinja b/build/export_generators/ide-gradle/jdk.jinja new file mode 100644 index 0000000000..01fbc09daf --- /dev/null +++ b/build/export_generators/ide-gradle/jdk.jinja @@ -0,0 +1,24 @@ +{#- default JDK version -#} +{%- set jdk_version = '17' -%} +{%- if target.required_jdk -%} +{%- set jdk_version = target.required_jdk -%} +{%- elif target.jdk_version -%} +{%- set jdk_version = target.jdk_version -%} +{%- elif not target and extra_targets|length -%} +{%- set extra_jdk_version = extra_targets|selectattr('jdk_version')|map(attribute='jdk_version')|first -%} +{%- if extra_jdk_version -%} +{%- set jdk_version = extra_jdk_version -%} +{%- endif -%} +{%- endif -%} + +{%- set jdk_path = false -%} +{%- if target.jdk_path and target.jdk_path != "NOT_FOUND" -%} +{%- set jdk_path = target.jdk_path -%} +{#- If no main target, but exists extra_targets -#} +{%- elif not target and extra_targets|length -%} +{%- set jdk_path_targets = extra_targets|selectattr('jdk_path')|rejectattr('jdk_path', 'eq', 'NOT_FOUND') -%} +{%- if jdk_path_targets|length -%} +{%- set jdk_path_target = jdk_path_targets|first -%} +{%- set jdk_path = jdk_path_target.jdk_path -%} +{%- endif -%} +{%- endif -%} diff --git a/build/export_generators/ide-gradle/kotlin_plugins.jinja b/build/export_generators/ide-gradle/kotlin_plugins.jinja index df0f65de36..823fa5243d 100644 --- a/build/export_generators/ide-gradle/kotlin_plugins.jinja +++ b/build/export_generators/ide-gradle/kotlin_plugins.jinja @@ -59,6 +59,6 @@ noArg { {%- if with_kotlin %} kotlin { - jvmToolchain({{ required_jdk }}) + jvmToolchain({{ jdk_version }}) } {% endif -%} diff --git a/build/export_generators/ide-gradle/plugins.jinja b/build/export_generators/ide-gradle/plugins.jinja index 13a46003be..25768f55ee 100644 --- a/build/export_generators/ide-gradle/plugins.jinja +++ b/build/export_generators/ide-gradle/plugins.jinja @@ -35,12 +35,11 @@ plugins { {%- endif %} } -{#- language level -#} -{%- if has_required_jdk %} +{%- if jdk_version %} java { toolchain { - languageVersion = JavaLanguageVersion.of("{{ required_jdk }}") + languageVersion = JavaLanguageVersion.of("{{ jdk_version }}") } } -{%- endif -%} +{% endif -%} diff --git a/build/export_generators/ide-gradle/preview.jinja b/build/export_generators/ide-gradle/preview.jinja index 18aa8fcd2d..5864b5171d 100644 --- a/build/export_generators/ide-gradle/preview.jinja +++ b/build/export_generators/ide-gradle/preview.jinja @@ -3,7 +3,7 @@ tasks.withType<JavaCompile> { options.compilerArgs.add("--enable-preview") options.compilerArgs.add("-Xlint:preview") - options.release.set({{ required_jdk }}) + options.release.set({{ jdk_version }}) } tasks.withType<JavaExec> { @@ -17,7 +17,7 @@ tasks.withType<Test> { tasks.withType<Javadoc> { val javadocOptions = options as CoreJavadocOptions - javadocOptions.addStringOption("source", "{{ required_jdk }}") + javadocOptions.addStringOption("source", "{{ jdk_version }}") javadocOptions.addBooleanOption("-enable-preview", true) } {% endif -%} diff --git a/build/export_generators/ide-gradle/proto_plugins.jinja b/build/export_generators/ide-gradle/proto_plugins.jinja index a5bb76d758..655614672d 100644 --- a/build/export_generators/ide-gradle/proto_plugins.jinja +++ b/build/export_generators/ide-gradle/proto_plugins.jinja @@ -7,3 +7,12 @@ plugins { `signing` {%- endif %} } + +{%- if jdk_version %} + +java { + toolchain { + languageVersion = JavaLanguageVersion.of("{{ jdk_version }}") + } +} +{%- endif -%} diff --git a/build/export_generators/ide-gradle/proto_vars.jinja b/build/export_generators/ide-gradle/proto_vars.jinja index 45fa6d7bb7..761c74b070 100644 --- a/build/export_generators/ide-gradle/proto_vars.jinja +++ b/build/export_generators/ide-gradle/proto_vars.jinja @@ -1,2 +1,4 @@ {%- set publish = target.publish -%} {%- set libraries = target.consumer|selectattr('type', 'eq', 'library') -%} + +{%- include "[generator]/jdk.jinja" -%} diff --git a/build/export_generators/ide-gradle/run_java_program.jinja b/build/export_generators/ide-gradle/run_java_program.jinja index 6f0597a86a..f28ef430cc 100644 --- a/build/export_generators/ide-gradle/run_java_program.jinja +++ b/build/export_generators/ide-gradle/run_java_program.jinja @@ -26,25 +26,31 @@ val runJav{{ loop.index }} = task<JavaExec>("runJavaProgram{{ loop.index }}") { ) {% endif -%} -{%- if run.in_dir %} -{% for in_dir in run.in_dir -%} +{%- if run.in_dir -%} +{%- for in_dir in run.in_dir %} inputs.files(fileTree("{{ in_dir }}")) {% endfor -%} {%- endif -%} -{%- if run.in %} -{% for in_file in run.in -%} + +{%- if run.in -%} +{%- for in_file in run.in %} inputs.files("{{ in_file }}") {% endfor -%} {%- endif -%} -{{ OutDirs(run, ' outputs.dir("', '")') }} -{# +{%- if run.out_dir|length -%} +{%- for out_dir in run.out_dir|unique %} + outputs.dir("{{ out_dir }}") +{%- endfor -%} +{%- endif -%} +{#- Не использованы аттрибуты + run-out="list" run-cwd="str" run-in_dirs_inputs="list" run-in_noparse="list" run-tool="list" --#} +#} } tasks.getByName("sourcesJar").dependsOn(runJav{{ loop.index }}) @@ -52,5 +58,11 @@ tasks.getByName("sourcesJar").dependsOn(runJav{{ loop.index }}) tasks.compileJava.configure { dependsOn(runJav{{ loop.index }}) } +{%- if with_kotlin %} + +tasks.compileKotlin.configure { + dependsOn(runJav{{ loop.index }}) +} +{%- endif %} {% endfor -%} {% endif -%} diff --git a/build/export_generators/ide-gradle/source_sets.jinja b/build/export_generators/ide-gradle/source_sets.jinja index 75268d66aa..24965370d5 100644 --- a/build/export_generators/ide-gradle/source_sets.jinja +++ b/build/export_generators/ide-gradle/source_sets.jinja @@ -1,6 +1,6 @@ {#- empty string #} sourceSets { -{%- if target.runs|length %} +{%- if target.runs|length or target.jar_source_set|length %} main { {#- Default by Gradle: @@ -9,9 +9,15 @@ sourceSets { resources.srcDir("src/main/resources") #} -{%- for run in target.runs -%} -{{ OutDirs(run, ' java.srcDir("', '")') }} -{%- endfor %} +{%- if target.jar_source_set|length -%} +{%- for source_set in target.jar_source_set -%} +{%- set srcdir_glob = split(source_set, ':') -%} +{%- set out = srcdir_glob[0] -%} +{%- if out != 'src/main/java' %} + java.srcDir("{{ out }}") +{%- endif -%} +{%- endfor -%} +{%- endif %} } {%- endif %} test { @@ -30,30 +36,20 @@ sourceSets { resources.srcDir("src/testFixtures/resources") java.srcDir("src/intTest/java") resources.srcDir("src/intTest/resources") -{%- for extra_target in extra_targets -%} -{%- if extra_target.runs|length -%} -{%- for run in extra_target.runs -%} -{{ OutDirs(run, ' java.srcDir("', '")') }} -{%- endfor -%} -{%- endif -%} -{%- endfor %} - } -} - -{%- if target.jar_source_set|length -%} -{%- for source_set in target.jar_source_set -%} -{%- set srcdir_glob = split(source_set, ':') %} -sourceSets.main.java.srcDirs += "{{ srcdir_glob[0] }}" +{%- set extra_target_source_sets = extra_targets|selectattr('jar_source_set')|map(attribute='jar_source_set')|sum|unique -%} +{%- if extra_target_source_sets|length -%} +{%- for source_set in extra_target_source_sets -%} +{%- set srcdir_glob = split(source_set, ':') -%} +{%- set out = srcdir_glob[0] -%} +{%- if out != 'src/test/java' %} + java.srcDir("{{ srcdir_glob[0] }}") +{%- endif -%} {%- endfor -%} -{%- endif -%} - -{% for extra_target in extra_targets -%} -{%- if extra_target.jar_source_set|length -%} -{%- for source_set in extra_target.jar_source_set -%} -{%- set srcdir_glob = split(source_set, ':') %} +{%- endif %} + } +} -sourceSets.main.java.srcDirs += "{{ srcdir_glob[0] }}" -{%- endfor -%} -{%- endif -%} -{%- endfor -%} +tasks.withType<Jar>() { + duplicatesStrategy = DuplicatesStrategy.INCLUDE +} diff --git a/build/export_generators/ide-gradle/vars.jinja b/build/export_generators/ide-gradle/vars.jinja index d8722a2b42..26f7e3621c 100644 --- a/build/export_generators/ide-gradle/vars.jinja +++ b/build/export_generators/ide-gradle/vars.jinja @@ -5,11 +5,4 @@ {%- set has_junit5_test = extra_targets|selectattr('junit5_test') -%} {%- set has_errorprone = target.use_errorprone and not disable_errorprone and target.consumer|selectattr('jar', 'startsWith', 'contrib/java/com/google/errorprone/error_prone_annotations')|length -%} -{%- if not target.required_jdk -%} -{%- set has_required_jdk = false -%} -{#- If no required JDK, set default JDK for Kotlin parts -#} -{%- set required_jdk = '17' -%} -{%- else -%} -{%- set has_required_jdk = true -%} -{%- set required_jdk = target.required_jdk -%} -{%- endif -%} +{%- include "[generator]/jdk.jinja" -%} diff --git a/build/external_resources/ymake/public.resources.json b/build/external_resources/ymake/public.resources.json index 206c810df4..1ef4b391df 100644 --- a/build/external_resources/ymake/public.resources.json +++ b/build/external_resources/ymake/public.resources.json @@ -1,19 +1,19 @@ { "by_platform": { "darwin": { - "uri": "sbr:7666559958" + "uri": "sbr:7714082087" }, "darwin-arm64": { - "uri": "sbr:7666558962" + "uri": "sbr:7714081769" }, "linux": { - "uri": "sbr:7666562407" + "uri": "sbr:7714082818" }, "linux-aarch64": { - "uri": "sbr:7666556873" + "uri": "sbr:7714081292" }, "win32-clang-cl": { - "uri": "sbr:7666560929" + "uri": "sbr:7714082412" } } } diff --git a/build/external_resources/ymake/resources.json b/build/external_resources/ymake/resources.json index 6ffdc2cea1..c958e7d196 100644 --- a/build/external_resources/ymake/resources.json +++ b/build/external_resources/ymake/resources.json @@ -1,19 +1,19 @@ { "by_platform": { "darwin": { - "uri": "sbr:7666538130" + "uri": "sbr:7714069562" }, "darwin-arm64": { - "uri": "sbr:7666537615" + "uri": "sbr:7714068983" }, "linux": { - "uri": "sbr:7666539479" + "uri": "sbr:7714070680" }, "linux-aarch64": { - "uri": "sbr:7666537053" + "uri": "sbr:7714068462" }, "win32-clang-cl": { - "uri": "sbr:7666538798" + "uri": "sbr:7714070213" } } } diff --git a/build/mapping.conf.json b/build/mapping.conf.json index 2972e50117..f3743e8100 100644 --- a/build/mapping.conf.json +++ b/build/mapping.conf.json @@ -464,6 +464,10 @@ "7658438634": "https://devtools-registry.s3.yandex.net/7658438634", "7688925574": "https://devtools-registry.s3.yandex.net/7688925574", "7688984774": "https://devtools-registry.s3.yandex.net/7688984774", + "7706167620": "https://devtools-registry.s3.yandex.net/7706167620", + "7706227677": "https://devtools-registry.s3.yandex.net/7706227677", + "7717368273": "https://devtools-registry.s3.yandex.net/7717368273", + "7717387253": "https://devtools-registry.s3.yandex.net/7717387253", "5486731632": "https://devtools-registry.s3.yandex.net/5486731632", "5514350352": "https://devtools-registry.s3.yandex.net/5514350352", "5514360398": "https://devtools-registry.s3.yandex.net/5514360398", @@ -647,6 +651,7 @@ "7642861686": "https://devtools-registry.s3.yandex.net/7642861686", "7648122773": "https://devtools-registry.s3.yandex.net/7648122773", "7666559958": "https://devtools-registry.s3.yandex.net/7666559958", + "7714082087": "https://devtools-registry.s3.yandex.net/7714082087", "5766171800": "https://devtools-registry.s3.yandex.net/5766171800", "5805430761": "https://devtools-registry.s3.yandex.net/5805430761", "5829025456": "https://devtools-registry.s3.yandex.net/5829025456", @@ -705,6 +710,7 @@ "7642861092": "https://devtools-registry.s3.yandex.net/7642861092", "7648121342": "https://devtools-registry.s3.yandex.net/7648121342", "7666558962": "https://devtools-registry.s3.yandex.net/7666558962", + "7714081769": "https://devtools-registry.s3.yandex.net/7714081769", "5766173070": "https://devtools-registry.s3.yandex.net/5766173070", "5805432830": "https://devtools-registry.s3.yandex.net/5805432830", "5829031598": "https://devtools-registry.s3.yandex.net/5829031598", @@ -763,6 +769,7 @@ "7642862516": "https://devtools-registry.s3.yandex.net/7642862516", "7648125070": "https://devtools-registry.s3.yandex.net/7648125070", "7666562407": "https://devtools-registry.s3.yandex.net/7666562407", + "7714082818": "https://devtools-registry.s3.yandex.net/7714082818", "5766171341": "https://devtools-registry.s3.yandex.net/5766171341", "5805430188": "https://devtools-registry.s3.yandex.net/5805430188", "5829023352": "https://devtools-registry.s3.yandex.net/5829023352", @@ -821,6 +828,7 @@ "7642860624": "https://devtools-registry.s3.yandex.net/7642860624", "7648120215": "https://devtools-registry.s3.yandex.net/7648120215", "7666556873": "https://devtools-registry.s3.yandex.net/7666556873", + "7714081292": "https://devtools-registry.s3.yandex.net/7714081292", "5766172695": "https://devtools-registry.s3.yandex.net/5766172695", "5805432230": "https://devtools-registry.s3.yandex.net/5805432230", "5829029743": "https://devtools-registry.s3.yandex.net/5829029743", @@ -879,6 +887,7 @@ "7642862140": "https://devtools-registry.s3.yandex.net/7642862140", "7648124003": "https://devtools-registry.s3.yandex.net/7648124003", "7666560929": "https://devtools-registry.s3.yandex.net/7666560929", + "7714082412": "https://devtools-registry.s3.yandex.net/7714082412", "4307890075": "https://devtools-registry.s3.yandex.net/4307890075", "5517245192": "https://devtools-registry.s3.yandex.net/5517245192", "4307901240": "https://devtools-registry.s3.yandex.net/4307901240", @@ -1596,6 +1605,10 @@ "7658438634": "devtools/ya/test/programs/test_tool/bin/test_tool for linux", "7688925574": "devtools/ya/test/programs/test_tool/bin/test_tool for linux", "7688984774": "devtools/ya/test/programs/test_tool/bin/test_tool for linux", + "7706167620": "devtools/ya/test/programs/test_tool/bin/test_tool for linux", + "7706227677": "devtools/ya/test/programs/test_tool/bin/test_tool for linux", + "7717368273": "devtools/ya/test/programs/test_tool/bin/test_tool for linux", + "7717387253": "devtools/ya/test/programs/test_tool/bin/test_tool for linux", "5486731632": "devtools/ya/test/programs/test_tool/bin3/test_tool3 for linux", "5514350352": "devtools/ya/test/programs/test_tool/bin3/test_tool3 for linux", "5514360398": "devtools/ya/test/programs/test_tool/bin3/test_tool3 for linux", @@ -1779,6 +1792,7 @@ "7642861686": "devtools/ymake/bin/ymake for darwin", "7648122773": "devtools/ymake/bin/ymake for darwin", "7666559958": "devtools/ymake/bin/ymake for darwin", + "7714082087": "devtools/ymake/bin/ymake for darwin", "5766171800": "devtools/ymake/bin/ymake for darwin-arm64", "5805430761": "devtools/ymake/bin/ymake for darwin-arm64", "5829025456": "devtools/ymake/bin/ymake for darwin-arm64", @@ -1837,6 +1851,7 @@ "7642861092": "devtools/ymake/bin/ymake for darwin-arm64", "7648121342": "devtools/ymake/bin/ymake for darwin-arm64", "7666558962": "devtools/ymake/bin/ymake for darwin-arm64", + "7714081769": "devtools/ymake/bin/ymake for darwin-arm64", "5766173070": "devtools/ymake/bin/ymake for linux", "5805432830": "devtools/ymake/bin/ymake for linux", "5829031598": "devtools/ymake/bin/ymake for linux", @@ -1895,6 +1910,7 @@ "7642862516": "devtools/ymake/bin/ymake for linux", "7648125070": "devtools/ymake/bin/ymake for linux", "7666562407": "devtools/ymake/bin/ymake for linux", + "7714082818": "devtools/ymake/bin/ymake for linux", "5766171341": "devtools/ymake/bin/ymake for linux-aarch64", "5805430188": "devtools/ymake/bin/ymake for linux-aarch64", "5829023352": "devtools/ymake/bin/ymake for linux-aarch64", @@ -1953,6 +1969,7 @@ "7642860624": "devtools/ymake/bin/ymake for linux-aarch64", "7648120215": "devtools/ymake/bin/ymake for linux-aarch64", "7666556873": "devtools/ymake/bin/ymake for linux-aarch64", + "7714081292": "devtools/ymake/bin/ymake for linux-aarch64", "5766172695": "devtools/ymake/bin/ymake for win32-clang-cl", "5805432230": "devtools/ymake/bin/ymake for win32-clang-cl", "5829029743": "devtools/ymake/bin/ymake for win32-clang-cl", @@ -2011,6 +2028,7 @@ "7642862140": "devtools/ymake/bin/ymake for win32-clang-cl", "7648124003": "devtools/ymake/bin/ymake for win32-clang-cl", "7666560929": "devtools/ymake/bin/ymake for win32-clang-cl", + "7714082412": "devtools/ymake/bin/ymake for win32-clang-cl", "4307890075": "flake8_linter for linux", "5517245192": "flake8_linter for linux", "4307901240": "flake8_linter for linux-aarch64", diff --git a/build/platform/test_tool/host.ya.make.inc b/build/platform/test_tool/host.ya.make.inc index d362d78a85..bddbceb567 100644 --- a/build/platform/test_tool/host.ya.make.inc +++ b/build/platform/test_tool/host.ya.make.inc @@ -1,12 +1,12 @@ IF (HOST_OS_DARWIN AND HOST_ARCH_X86_64) - DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7688980745) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7717386600) ELSEIF (HOST_OS_DARWIN AND HOST_ARCH_ARM64) - DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7688979180) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7717386279) ELSEIF (HOST_OS_LINUX AND HOST_ARCH_X86_64) - DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7688984774) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7717387253) ELSEIF (HOST_OS_LINUX AND HOST_ARCH_AARCH64) - DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7688977846) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7717386028) ELSEIF (HOST_OS_WINDOWS AND HOST_ARCH_X86_64) - DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7688983202) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7717387014) ENDIF() diff --git a/build/platform/test_tool/host_os.ya.make.inc b/build/platform/test_tool/host_os.ya.make.inc index 287fa1f69c..e2c3ebc4b5 100644 --- a/build/platform/test_tool/host_os.ya.make.inc +++ b/build/platform/test_tool/host_os.ya.make.inc @@ -1,12 +1,12 @@ IF (HOST_OS_DARWIN AND HOST_ARCH_X86_64) - DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7688921363) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7717367660) ELSEIF (HOST_OS_DARWIN AND HOST_ARCH_ARM64) - DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7688919549) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7717367448) ELSEIF (HOST_OS_LINUX AND HOST_ARCH_X86_64) - DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7688925574) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7717368273) ELSEIF (HOST_OS_LINUX AND HOST_ARCH_AARCH64) - DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7688917384) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7717367154) ELSEIF (HOST_OS_WINDOWS AND HOST_ARCH_X86_64) - DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7688923417) + DECLARE_EXTERNAL_RESOURCE(TEST_TOOL_HOST sbr:7717367994) ENDIF() diff --git a/build/scripts/compile_java.py b/build/scripts/compile_java.py index a28d737195..995ce625db 100644 --- a/build/scripts/compile_java.py +++ b/build/scripts/compile_java.py @@ -88,6 +88,7 @@ def main(): [ opts.java_bin, '-Didea.max.content.load.filesize=30720', + '-Djava.correct.class.type.by.place.resolve.scope=true', '-jar', opts.kotlin_compiler, '-classpath', diff --git a/build/sysincl/stl-to-nothing.yml b/build/sysincl/stl-to-nothing.yml index 528ebdbc88..972f592404 100644 --- a/build/sysincl/stl-to-nothing.yml +++ b/build/sysincl/stl-to-nothing.yml @@ -145,3 +145,7 @@ - experimental/string_view: DO_NOT_INCLUDE_NON_STANDARD_EXPERIMENTAL_STRING_VIEW - experimental/system_error: DO_NOT_INCLUDE_NON_STANDARD_EXPERIMENTAL_SYSTEM_ERROR - experimental/tuple: DO_NOT_INCLUDE_NON_STANDARD_EXPERIMENTAL_TUPLE + +# These headers belong to libc++, yet certain contribs depend libc++ internal structure. +- includes: + - __utility/swap.h diff --git a/build/ymake.core.conf b/build/ymake.core.conf index 3725d7b158..26e521b827 100644 --- a/build/ymake.core.conf +++ b/build/ymake.core.conf @@ -5884,3 +5884,21 @@ macro WITHOUT_VERSION() { macro LINK_EXCLUDE_LIBRARIES(Libs...) { SET_APPEND(_LINK_EXCLUDE_LIBRARIES_GLOBAL $Libs) } + +### @usage: GENERATE_IMPLIB(Lib, Path, [SONAME Name]) +### +### Generates a wrapper for external dynamic library using Implib.so and excludes the real library from linker command +### +### The wrapper loads the real library on the first call to any of its functions +### +### @example: +### +### PEERDIR(build/platform/cuda) +### +### GENERATE_IMPLIB(cuda $CUDA_TARGET_ROOT/lib64/stubs/libcuda.so SONAME libcuda.so.1) +### +macro GENERATE_IMPLIB(Lib, Path, SONAME="") { + .CMD=${tool:"contrib/tools/implib"} --target $HARDWARE_TYPE --outdir $BINDIR ${pre=--library-load-name :SONAME} $Path ${hide;output;nopath;suf=.init.c:Path} ${hide;output;nopath;suf=.tramp.S:Path} + + LINK_EXCLUDE_LIBRARIES($Lib) +} |