diff options
| author | dimdim11 <[email protected]> | 2025-09-10 00:01:14 +0300 |
|---|---|---|
| committer | dimdim11 <[email protected]> | 2025-09-10 00:17:04 +0300 |
| commit | bb74ecf007c06029f5b8fa3265bd4096053b0cd2 (patch) | |
| tree | aef55b4fb2ce794f2016c5dac56a99b1220edf03 | |
| parent | 7addb64d3b697294b42f4ae3729cb8250511d879 (diff) | |
Support ENV() in ya ide gradle
Support ENV() in ya ide gradle
commit_hash:0282b57e8cc970864748d53d1297f2588c43347b
| -rw-r--r-- | build/conf/java.conf | 4 | ||||
| -rw-r--r-- | build/export_generators/ide-gradle/generator.toml | 1 | ||||
| -rw-r--r-- | build/export_generators/ide-gradle/jvm_args.jinja | 9 | ||||
| -rw-r--r-- | build/ymake.core.conf | 3 |
4 files changed, 14 insertions, 3 deletions
diff --git a/build/conf/java.conf b/build/conf/java.conf index db70603527c..2169747f93d 100644 --- a/build/conf/java.conf +++ b/build/conf/java.conf @@ -156,7 +156,7 @@ macro JUNIT_TESTS_JAR(Dir, Jar) { SET(UNITTEST_MOD $Dir/$Jar) } -_BUILD_JUNIT5_JAR_SEM=$_BUILD_JAR_SEM && junit5_test $_TEST_CWD_SEM +_BUILD_JUNIT5_JAR_SEM=$_BUILD_JAR_SEM && junit5_test $_TEST_CWD_SEM $_TEST_ENV_SEM multimodule JUNIT5 { # ATTENTION ya ide idea relies on this submodule name to find scope of `ya make` build before project generation @@ -216,7 +216,7 @@ multimodule JUNIT5 { } } -_BUILD_JUNIT4_JAR_SEM=$_BUILD_JAR_SEM && junit4_test $_TEST_CWD_SEM +_BUILD_JUNIT4_JAR_SEM=$_BUILD_JAR_SEM && junit4_test $_TEST_CWD_SEM $_TEST_ENV_SEM multimodule JTEST { # ATTENTION ya ide idea relies on this submodule name to find scope of `ya make` build before project generation diff --git a/build/export_generators/ide-gradle/generator.toml b/build/export_generators/ide-gradle/generator.toml index c5a3a886242..ce57bdaaf32 100644 --- a/build/export_generators/ide-gradle/generator.toml +++ b/build/export_generators/ide-gradle/generator.toml @@ -40,6 +40,7 @@ add_vcs_info_to_mf="bool" junit4_test="flag" junit5_test="flag" test_cwd="list" +test_env="list" app_main_class="str" enable_preview="flag" use_annotation_processor="list" diff --git a/build/export_generators/ide-gradle/jvm_args.jinja b/build/export_generators/ide-gradle/jvm_args.jinja index 5694e1a6cf7..fd577cbb1de 100644 --- a/build/export_generators/ide-gradle/jvm_args.jinja +++ b/build/export_generators/ide-gradle/jvm_args.jinja @@ -62,7 +62,8 @@ tasks.withType<JavaExec> { {%- set test_jvm_args = test_jvm_args + extra_jvm_args -%} {%- endif -%} {%- set test_cwds = extra_targets|selectattr('test_cwd')|map(attribute='test_cwd')|sum|unique -%} -{%- if test_jvm_args|length or test_cwds|length %} +{%- set test_envs = extra_targets|selectattr('test_env')|map(attribute='test_env')|sum|unique -%} +{%- if test_jvm_args|length or test_cwds|length or test_envs|length %} tasks.withType<Test> { {#- glue -#} @@ -80,5 +81,11 @@ tasks.withType<Test> { {%- endif %} workingDir({{ PatchRoots(test_cwd) }}) {% endif -%} +{%- if test_envs|length -%} +{%- for test_env in test_envs -%} +{%- set key_and_value = split(test_env, '=', 2) %} + environment("{{ key_and_value[0] }}", "{{ key_and_value[1] }}") +{%- endfor %} +{% endif -%} } {%- endif -%} diff --git a/build/ymake.core.conf b/build/ymake.core.conf index 9a514daf06f..367b1bed110 100644 --- a/build/ymake.core.conf +++ b/build/ymake.core.conf @@ -1635,11 +1635,13 @@ macro REQUIREMENTS(Tags...) { # tag:test TEST_ENV_VALUE= +_TEST_ENV_SEM= ### @usage: ENV(key[=value]) ### ### Sets env variable key to value (gets value from system env by default). macro ENV(Data...) { SET_APPEND(TEST_ENV_VALUE ${quo:Data}) + SET_APPEND(_TEST_ENV_SEM && test_env ${quo:Data}) } ### @usage: CONFTEST_LOAD_POLICY_LOCAL() @@ -1647,6 +1649,7 @@ macro ENV(Data...) { ### Loads conftest.py files in a way that pytest does it macro CONFTEST_LOAD_POLICY_LOCAL() { SET_APPEND(TEST_ENV_VALUE "CONFTEST_LOAD_POLICY=LOCAL") + SET_APPEND(_TEST_ENV_SEM && test_env "CONFTEST_LOAD_POLICY=LOCAL") } # tag:test |
