summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordimdim11 <[email protected]>2025-04-10 13:18:22 +0300
committerdimdim11 <[email protected]>2025-04-10 13:34:31 +0300
commit649e2ccd071e7d216ad38e2dec8f3bee0918a392 (patch)
tree0eefd0f03796c52c568c5e04cf2ae716c9cc688d
parentde4540a188fb9731336b7d421cc8bce5a57e1398 (diff)
Generate codegen depends by indexes from graph
Generate codegen depends by indexes from graph commit_hash:2b17f51527110c6be30cb06ba43f622d7e781ebc
-rw-r--r--build/export_generators/ide-gradle/build.gradle.kts.any.jinja20
-rw-r--r--build/export_generators/ide-gradle/build.gradle.kts.common.jinja1
-rw-r--r--build/export_generators/ide-gradle/copy_file.jinja48
-rw-r--r--build/export_generators/ide-gradle/run_depends.jinja54
-rw-r--r--build/export_generators/ide-gradle/run_java_program.jinja3
-rw-r--r--build/export_generators/ide-gradle/run_program.jinja3
6 files changed, 66 insertions, 63 deletions
diff --git a/build/export_generators/ide-gradle/build.gradle.kts.any.jinja b/build/export_generators/ide-gradle/build.gradle.kts.any.jinja
index 352b731953c..2bff0ca3932 100644
--- a/build/export_generators/ide-gradle/build.gradle.kts.any.jinja
+++ b/build/export_generators/ide-gradle/build.gradle.kts.any.jinja
@@ -26,26 +26,6 @@
{%- endmacro -%}
{%- endif -%}
-{%- macro Depends(prefix, index) -%}
-{%- if proto_template %}
-tasks.getByName("prepareMainProtos").dependsOn({{ prefix }}{{ index }})
-{%- endif %}
-tasks.compileJava.configure {
- dependsOn({{ prefix }}{{ index }})
-}
-tasks.compileTestJava.configure {
- dependsOn({{ prefix }}{{ index }})
-}
-{%- if with_kotlin %}
-tasks.compileKotlin.configure {
- dependsOn({{ prefix }}{{ index }})
-}
-tasks.compileTestKotlin.configure {
- dependsOn({{ prefix }}{{ index }})
-}
-{% endif -%}
-{%- endmacro -%}
-
{%- if proto_template -%}
{%- include "[generator]/proto_vars.jinja" -%}
{%- include "[generator]/proto_import.jinja" -%}
diff --git a/build/export_generators/ide-gradle/build.gradle.kts.common.jinja b/build/export_generators/ide-gradle/build.gradle.kts.common.jinja
index 9713788bcd5..8e78dd15234 100644
--- a/build/export_generators/ide-gradle/build.gradle.kts.common.jinja
+++ b/build/export_generators/ide-gradle/build.gradle.kts.common.jinja
@@ -10,5 +10,6 @@
{%- include "[generator]/run_java_program.jinja" -%}
{%- include "[generator]/run_common.jinja" -%}
{%- include "[generator]/copy_file.jinja" -%}
+{%- include "[generator]/run_depends.jinja" -%}
{%- include "[generator]/javadoc.jinja" -%}
diff --git a/build/export_generators/ide-gradle/copy_file.jinja b/build/export_generators/ide-gradle/copy_file.jinja
index d1868092245..474b742009a 100644
--- a/build/export_generators/ide-gradle/copy_file.jinja
+++ b/build/export_generators/ide-gradle/copy_file.jinja
@@ -2,52 +2,22 @@
{%- if copies|length -%}
{%- for copy in copies -%}
{%- set src = copy.args[0] -%}
-{%- set srcs = [ src ] -%}
-{%- set from_arcadia = srcs|select("startsWith", arcadia_root)|length -%}
-{%- set from_build = srcs|select("startsWith", export_root)|length -%}
{%- set dst = copy.args[1] -%}
-{%- set dsts = [ dst ] -%}
-{%- set to_arcadia = dsts|select("startsWith", arcadia_root)|length -%}
-{%- set to_build = dsts|select("startsWith", export_root)|length -%}
-{%- if (from_arcadia or from_build) and (to_arcadia or to_build) -%}
-{%- set src_split = rsplit(src, "/", 2) -%}
-{%- set src_path = src_split[0] -%}
-{%- set src_name = src_split[1] -%}
-{%- set dst_split = rsplit(dst, "/", 2) -%}
-{%- set dst_path = dst_split[0] -%}
-{%- set dst_name = dst_split[1] %}
+{%- set src_split = rsplit(src, "/", 2) -%}
+{%- set src_path = src_split[0] -%}
+{%- set src_name = src_split[1] -%}
+{%- set dst_split = rsplit(dst, "/", 2) -%}
+{%- set dst_path = dst_split[0] -%}
+{%- set dst_name = dst_split[1] %}
-val copy{{ loop.index }} = tasks.register<Copy>("copy{{ loop.index }}") {
+val codegen{{ copy['_object_index'] }} = tasks.register<Copy>("copy{{ copy['_object_index'] }}") {
from({{ PatchRoots(src_path) }}) {
include("{{ src_name }}")
}
into({{ PatchRoots(dst_path) }})
-{%- if src_name != dst_name %}
+{%- if src_name != dst_name %}
rename("{{ src_name }}", "{{ dst_name }}")
-{%- endif %}
}
-{%- set copy_index = loop.index %}
-{%- if target.runs|length -%}
-{%- for run in target.runs %}
-{%- if from_arcadia %}
-runJav{{ loop.index }}.dependsOn(copy{{ copy_index }})
-{%- else %}
-copy{{ copy_index }}.dependsOn(runJav{{ loop.index }})
-{%- endif -%}
-{% endfor -%}
-{%- endif -%}
-{%- if target.custom_runs|length -%}
-{%- for custom_run in target.custom_runs %}
-{%- if from_arcadia %}
-runProg{{ loop.index }}.dependsOn(copy{{ copy_index }})
-{%- else %}
-copy{{ copy_index }}.dependsOn(runProg{{ loop.index }})
-{%- endif -%}
-{% endfor -%}
-{%- endif -%}
-{%- if from_build -%}
-{{ Depends("copy", loop.index) }}
-{%- endif -%}
-{%- endif -%}
+{% endif -%}
{%- endfor -%}
{%- endif -%}
diff --git a/build/export_generators/ide-gradle/run_depends.jinja b/build/export_generators/ide-gradle/run_depends.jinja
new file mode 100644
index 00000000000..65e9265fd9d
--- /dev/null
+++ b/build/export_generators/ide-gradle/run_depends.jinja
@@ -0,0 +1,54 @@
+{%- macro TopDepends(taskvar) -%}
+{%- if proto_template %}
+
+tasks.getByName("prepareMainProtos").dependsOn({{ taskvar }})
+{%- endif %}
+
+tasks.compileJava.configure {
+ dependsOn({{ taskvar }})
+}
+tasks.compileTestJava.configure {
+ dependsOn({{ taskvar }})
+}
+{%- if with_kotlin %}
+tasks.compileKotlin.configure {
+ dependsOn({{ taskvar }})
+}
+tasks.compileTestKotlin.configure {
+ dependsOn({{ taskvar }})
+}
+{% endif -%}
+{%- endmacro -%}
+
+{%- if target.custom_runs|length -%}
+{%- for obj in target.custom_runs -%}
+{%- if obj['_parent_object_index'] %}
+
+codegen{{ obj['_parent_object_index'] }}.dependsOn(codegen{{ obj['_object_index'] }})
+{%- else -%}
+{{ TopDepends("codegen" + obj['_object_index'])}}
+{%- endif -%}
+{%- endfor -%}
+{%- endif -%}
+
+{%- if target.runs|length -%}
+{%- for obj in target.runs -%}
+{%- if obj['_parent_object_index'] %}
+
+codegen{{ obj['_parent_object_index'] }}.dependsOn(codegen{{ obj['_object_index'] }})
+{%- else -%}
+{{ TopDepends("codegen" + obj['_object_index'])}}
+{%- endif -%}
+{%- endfor -%}
+{%- endif -%}
+
+{%- if copies|length -%}
+{%- for obj in copies -%}
+{%- if obj['_parent_object_index'] %}
+
+codegen{{ obj['_parent_object_index'] }}.dependsOn(codegen{{ obj['_object_index'] }})
+{%- else -%}
+{{ TopDepends("codegen" + obj['_object_index'])}}
+{%- endif -%}
+{%- endfor -%}
+{%- endif -%}
diff --git a/build/export_generators/ide-gradle/run_java_program.jinja b/build/export_generators/ide-gradle/run_java_program.jinja
index 2bde78ada8e..88a67f8f5cc 100644
--- a/build/export_generators/ide-gradle/run_java_program.jinja
+++ b/build/export_generators/ide-gradle/run_java_program.jinja
@@ -1,7 +1,7 @@
{%- if target.runs|length -%}
{%- for run in target.runs %}
-val runJav{{ loop.index }} = task<JavaExec>("runJavaProgram{{ loop.index }}") {
+val codegen{{ run['_object_index'] }} = task<JavaExec>("runJavaProgram{{ run['_object_index'] }}") {
group = "build"
description = "Code generation by run java program"
@@ -88,6 +88,5 @@ val runJav{{ loop.index }} = task<JavaExec>("runJavaProgram{{ loop.index }}") {
run-tool="list"
#}
}
-{{ Depends("runJav", loop.index) }}
{%- endfor -%}
{%- endif -%}
diff --git a/build/export_generators/ide-gradle/run_program.jinja b/build/export_generators/ide-gradle/run_program.jinja
index 8d50365969c..f7eeb9cd2d8 100644
--- a/build/export_generators/ide-gradle/run_program.jinja
+++ b/build/export_generators/ide-gradle/run_program.jinja
@@ -1,7 +1,7 @@
{%- if target.custom_runs|length -%}
{%- for custom_run in target.custom_runs %}
-val runProg{{ loop.index }} = task<Exec>("runProgram{{ loop.index }}") {
+val codegen{{ custom_run['_object_index'] }} = task<Exec>("runProgram{{ custom_run['_object_index'] }}") {
group = "build"
description = "Code generation by run custom program"
@@ -50,6 +50,5 @@ val runProg{{ loop.index }} = task<Exec>("runProgram{{ loop.index }}") {
custom_run-env="list"
#}
}
-{{ Depends("runProg", loop.index) }}
{%- endfor -%}
{%- endif -%}