summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordimdim11 <[email protected]>2025-04-02 20:25:26 +0300
committerdimdim11 <[email protected]>2025-04-02 20:37:36 +0300
commit66b85e2f81db12f8a7086e50bf40b19303b4622d (patch)
tree1210ce3e875f2c39078cc3b7037847ba5a2122ea
parent0f46543ac7870f75b40ddc611ab8b9e037c212e7 (diff)
Fix proto templates
Fix proto templates commit_hash:5551a84994438c39768a5e7a13d4bbe688b64b2e
-rw-r--r--build/export_generators/ide-gradle/build.gradle.kts.proto.jinja1
-rw-r--r--build/export_generators/ide-gradle/proto_builddir.jinja2
-rw-r--r--build/export_generators/ide-gradle/proto_prepare.jinja9
-rw-r--r--build/export_generators/ide-gradle/proto_vars.jinja1
-rw-r--r--build/export_generators/ide-gradle/run_java_program.jinja9
-rw-r--r--build/export_generators/ide-gradle/run_program.jinja23
6 files changed, 30 insertions, 15 deletions
diff --git a/build/export_generators/ide-gradle/build.gradle.kts.proto.jinja b/build/export_generators/ide-gradle/build.gradle.kts.proto.jinja
index aa97fb0baa1..95dfa0cca7f 100644
--- a/build/export_generators/ide-gradle/build.gradle.kts.proto.jinja
+++ b/build/export_generators/ide-gradle/build.gradle.kts.proto.jinja
@@ -6,6 +6,7 @@
{%- elif output and arg[0] != '/' -%}
{#- Relative outputs in buildDir -#}
"$buildDir/{{ arg }}"
+{%- else -%}
{#- Replace (export_root) === (BUILD_ROOT in ymake) to baseBuildDir in Gradle - root of all build folders for modules -#}
"{{ arg|replace(export_root, "$baseBuildDir")|replace(arcadia_root, "$project_root") }}"
{%- endif -%}
diff --git a/build/export_generators/ide-gradle/proto_builddir.jinja b/build/export_generators/ide-gradle/proto_builddir.jinja
index ac50a1d33b0..ef25e5fcbc8 100644
--- a/build/export_generators/ide-gradle/proto_builddir.jinja
+++ b/build/export_generators/ide-gradle/proto_builddir.jinja
@@ -1,5 +1,5 @@
{%- include "[generator]/builddir.jinja" %}
val mainProtosDir = File(buildDir, "main_protos")
-{%- if libraries|length %}
+{%- if extractIncludeTask %}
val mainExtractedIncludeProtosDir = File(buildDir, "extracted-include-protos/main")
{%- endif %}
diff --git a/build/export_generators/ide-gradle/proto_prepare.jinja b/build/export_generators/ide-gradle/proto_prepare.jinja
index cf6fc96adf8..7355872471a 100644
--- a/build/export_generators/ide-gradle/proto_prepare.jinja
+++ b/build/export_generators/ide-gradle/proto_prepare.jinja
@@ -11,14 +11,17 @@ val prepareMainProtos = tasks.register<Copy>("prepareMainProtos") {
}
{%- endif %}
-{% if libraries|length -%}
+{% if extractIncludeTask -%}
val extractMainLibrariesProtos = tasks.register<Copy>("extractMainLibrariesProtos") {
from("$project_root") {
{#- list of all library directories -#}
{%- for library in libraries -%}
{%- set path_and_jar = rsplit(library.jar, '/', 2) %}
include("{{ path_and_jar[0] }}/**/*.proto")
-{%- endfor %}
+{%- endfor -%}
+{%- if libraries|length == 0 %}
+ include("dummy_path/*.proto")
+{%- endif %}
}
into(mainExtractedIncludeProtosDir)
}
@@ -28,7 +31,7 @@ afterEvaluate {
{%- if target.proto_files|length %}
tasks.getByName("extractProto").dependsOn(prepareMainProtos)
{%- endif %}
-{%- if libraries|length %}
+{%- if extractIncludeTask %}
tasks.getByName("extractProto").dependsOn(extractMainLibrariesProtos)
{%- endif %}
}
diff --git a/build/export_generators/ide-gradle/proto_vars.jinja b/build/export_generators/ide-gradle/proto_vars.jinja
index 3f357ce243a..ca30abd9c5f 100644
--- a/build/export_generators/ide-gradle/proto_vars.jinja
+++ b/build/export_generators/ide-gradle/proto_vars.jinja
@@ -3,5 +3,6 @@
{%- set with_kotlin = target.with_kotlin -%}
{%- set kotlin_version = target.kotlin_version -%}
{%- set proto_template = true -%}
+{%- set extractIncludeTask = libraries|length or target.runs|length or target.custom_runs|length -%}
{%- 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 ec0aff253ce..065d1c9becb 100644
--- a/build/export_generators/ide-gradle/run_java_program.jinja
+++ b/build/export_generators/ide-gradle/run_java_program.jinja
@@ -64,13 +64,21 @@ val runJav{{ loop.index }} = task<JavaExec>("runJavaProgram{{ loop.index }}") {
{%- if run.out_dir|length -%}
{%- for out_dir in run.out_dir|unique %}
+{%- if proto_template %}
+ outputs.files({{ PatchGeneratedProto(out_dir) }})
+{%- else %}
outputs.dir({{ PatchRoots(out_dir, false, true) }})
+{%- endif -%}
{%- endfor -%}
{%- endif -%}
{%- if run.out|length -%}
{%- for out in run.out|unique %}
+{%- if proto_template %}
+ outputs.files({{ PatchGeneratedProto(out) }})
+{%- else %}
outputs.files({{ PatchRoots(out, false, true) }})
+{%- endif -%}
{%- endfor -%}
{%- endif -%}
@@ -83,7 +91,6 @@ val runJav{{ loop.index }} = task<JavaExec>("runJavaProgram{{ loop.index }}") {
{%- if proto_template %}
-tasks.getByName("prepareMainProtos").dependsOn(runJav{{ loop.index }})
tasks.getByName("extractMainLibrariesProtos").dependsOn(runJav{{ loop.index }})
{%- endif %}
diff --git a/build/export_generators/ide-gradle/run_program.jinja b/build/export_generators/ide-gradle/run_program.jinja
index 25b270ce95a..1c61ce89b05 100644
--- a/build/export_generators/ide-gradle/run_program.jinja
+++ b/build/export_generators/ide-gradle/run_program.jinja
@@ -14,18 +14,21 @@ val runProg{{ loop.index }} = task<Exec>("runProgram{{ loop.index }}") {
commandLine("bash", "-c", listOf(
{%- for arg in custom_run.command -%}
-{%- if custom_run.depends|select("eq", arg)|length -%}
-{{ PatchRoots(arg, true) }}
-{%- elif proto_template -%}
-{#- generated proto put to prepared proto dir -#}
-{{ PatchGeneratedProto(arg) }}
-{%- elif custom_run.outputs|select("eq", arg)|length -%}
-{{ PatchRoots(arg, false, true) }}
-{%- else -%}
-{{ PatchRoots(arg) }}
+{%- if custom_run.depends|select("eq", arg)|length %}
+ {{ PatchRoots(arg, true) }}
+{%- elif custom_run.outputs|select("eq", arg)|length %}
+{%- if proto_template -%}
+ {#- generated proto put to prepared proto dir #}
+ {{ PatchGeneratedProto(arg) }}
+{%- else %}
+ {{ PatchRoots(arg, false, true) }}
+{%- endif -%}
+{%- else %}
+ {{ PatchRoots(arg) }}
{%- endif -%}
{%- if not loop.last %}, {% endif -%}
-{%- endfor -%}).joinToString(" "))
+{%- endfor %}
+ ).joinToString(" "))
{%- if custom_run.depends|length -%}
{%- for depend in custom_run.depends|unique %}