diff options
| author | dimdim11 <[email protected]> | 2025-04-10 13:18:22 +0300 |
|---|---|---|
| committer | dimdim11 <[email protected]> | 2025-04-10 13:34:31 +0300 |
| commit | 649e2ccd071e7d216ad38e2dec8f3bee0918a392 (patch) | |
| tree | 0eefd0f03796c52c568c5e04cf2ae716c9cc688d | |
| parent | de4540a188fb9731336b7d421cc8bce5a57e1398 (diff) | |
Generate codegen depends by indexes from graph
Generate codegen depends by indexes from graph
commit_hash:2b17f51527110c6be30cb06ba43f622d7e781ebc
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 -%} |
