aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordimdim11 <dimdim11@yandex-team.com>2024-12-19 21:00:44 +0300
committerdimdim11 <dimdim11@yandex-team.com>2024-12-19 21:33:50 +0300
commitcd46bd9fd4cf19e780612d8321e2fdec1b214999 (patch)
treef8c57bb2a1fc7e38a6ace37c947ad24cd946c248
parent9fbbc6daa2227fd0edb30b04c65f97fb99782fed (diff)
downloadydb-cd46bd9fd4cf19e780612d8321e2fdec1b214999.tar.gz
Fix templates for RUN_JAVA_PROGRAM and JAVA_SRCS
Fix templates for RUN_JAVA_PROGRAM and JAVA_SRCS commit_hash:e2b2b1fc7ea0cd0a1922c30bdf7b6e356899fe94
-rw-r--r--build/export_generators/ide-gradle/build.gradle.kts.jinja11
-rw-r--r--build/export_generators/ide-gradle/jdk.jinja11
-rw-r--r--build/export_generators/ide-gradle/run_java_program.jinja26
-rw-r--r--build/export_generators/ide-gradle/source_sets.jinja52
4 files changed, 49 insertions, 51 deletions
diff --git a/build/export_generators/ide-gradle/build.gradle.kts.jinja b/build/export_generators/ide-gradle/build.gradle.kts.jinja
index d0a9040f05d..36aa47faa99 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/jdk.jinja b/build/export_generators/ide-gradle/jdk.jinja
index 79df30fe91d..e79dd5e8c59 100644
--- a/build/export_generators/ide-gradle/jdk.jinja
+++ b/build/export_generators/ide-gradle/jdk.jinja
@@ -1,13 +1,14 @@
{%- set jdk_version = false -%}
{%- if target.required_jdk -%}
{%- set jdk_version = target.required_jdk -%}
-{%- elif target.jdk_version -%}
+{#- backward compatibility -#}
+{%- elif target.jdk_version and not('-' in target.jdk_version) -%}
{%- set jdk_version = target.jdk_version -%}
{%- elif not target and extra_targets|length -%}
-{%- set jdk_version_targets = extra_targets|selectattr('jdk_version') -%}
-{%- if jdk_version_targets|length -%}
-{%- set jdk_version_target = jdk_version_targets|first -%}
-{%- set jdk_version = jdk_version_target.jdk_version -%}
+{%- set extra_jdk_version = extra_targets|selectattr('jdk_version')|map(attribute='jdk_version')|first -%}
+{#- backward compatibility -#}
+{%- if extra_jdk_version and not('-' in extra_jdk_version) -%}
+{%- set jdk_version = extra_jdk_version -%}
{%- else -%}
{%- set jdk_version = '17' -%}
{%- endif -%}
diff --git a/build/export_generators/ide-gradle/run_java_program.jinja b/build/export_generators/ide-gradle/run_java_program.jinja
index 6f0597a86af..f28ef430cc6 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 75268d66aa2..24965370d58 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
+}