diff options
author | dimdim11 <[email protected]> | 2025-04-10 18:20:12 +0300 |
---|---|---|
committer | dimdim11 <[email protected]> | 2025-04-10 18:37:20 +0300 |
commit | 566aa5b461d798813dfbf882c226ad0c9c5be071 (patch) | |
tree | 8499512abd0595c28df2a0083a276396c88ded46 | |
parent | e43e3425034d03daaec5282fe1d8ec72fbe0b6dc (diff) |
Fix codegen depends
Fix codegen depends
commit_hash:923366206b7f7d49bf768a073a20224e396848f8
8 files changed, 42 insertions, 25 deletions
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 8e78dd15234..ee26a62fa7a 100644 --- a/build/export_generators/ide-gradle/build.gradle.kts.common.jinja +++ b/build/export_generators/ide-gradle/build.gradle.kts.common.jinja @@ -8,8 +8,9 @@ {#- Codegen -#} {%- include "[generator]/run_program.jinja" -%} {%- include "[generator]/run_java_program.jinja" -%} -{%- include "[generator]/run_common.jinja" -%} {%- include "[generator]/copy_file.jinja" -%} +{%- include "[generator]/move_file.jinja" -%} +{%- include "[generator]/run_common.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 474b742009a..7a4a9a88431 100644 --- a/build/export_generators/ide-gradle/copy_file.jinja +++ b/build/export_generators/ide-gradle/copy_file.jinja @@ -10,7 +10,7 @@ {%- set dst_path = dst_split[0] -%} {%- set dst_name = dst_split[1] %} -val codegen{{ copy['_object_index'] }} = tasks.register<Copy>("copy{{ copy['_object_index'] }}") { +val codegen{{ copy['_object_index'] }} = tasks.register<Copy>("codegen{{ copy['_object_index'] }}") { from({{ PatchRoots(src_path) }}) { include("{{ src_name }}") } diff --git a/build/export_generators/ide-gradle/move_file.jinja b/build/export_generators/ide-gradle/move_file.jinja new file mode 100644 index 00000000000..cb2fc261ee8 --- /dev/null +++ b/build/export_generators/ide-gradle/move_file.jinja @@ -0,0 +1,13 @@ +{%- set moves = target.target_commands|selectattr("macro", "eq", "move_file") -%} +{%- if moves|length -%} +{%- for move in moves -%} +{%- set src = move.args[0] -%} +{%- set dst = move.args[1] %} + +val codegen{{ move['_object_index'] }} = tasks.register("codegen{{ move['_object_index'] }}") { + doLast { + file("{{ PatchRoots(src) }}").renameTo(file("{{ PatchRoots(dst) }}")) + } +} +{% endfor -%} +{%- endif -%} diff --git a/build/export_generators/ide-gradle/repositories.jinja b/build/export_generators/ide-gradle/repositories.jinja index b55fc07ae5c..60d36c5f3cd 100644 --- a/build/export_generators/ide-gradle/repositories.jinja +++ b/build/export_generators/ide-gradle/repositories.jinja @@ -1,3 +1,4 @@ +{#- empty string #} val bucketUsername: String by project val bucketPassword: String by project repositories { diff --git a/build/export_generators/ide-gradle/run_common.jinja b/build/export_generators/ide-gradle/run_common.jinja index 4f8a207bb4a..2492926c761 100644 --- a/build/export_generators/ide-gradle/run_common.jinja +++ b/build/export_generators/ide-gradle/run_common.jinja @@ -1,4 +1,4 @@ -{%- if not proto_template and (target.runs|length or target.custom_runs|length) %} +{%- if not proto_template and (target.runs|length or target.custom_runs|length or copies|length or moves|length) %} tasks.getByName("sourcesJar").dependsOn(tasks.compileJava) {%- if with_kotlin %} diff --git a/build/export_generators/ide-gradle/run_depends.jinja b/build/export_generators/ide-gradle/run_depends.jinja index 65e9265fd9d..c58caad33b6 100644 --- a/build/export_generators/ide-gradle/run_depends.jinja +++ b/build/export_generators/ide-gradle/run_depends.jinja @@ -20,35 +20,37 @@ tasks.compileTestKotlin.configure { {% endif -%} {%- endmacro -%} -{%- if target.custom_runs|length -%} -{%- for obj in target.custom_runs -%} -{%- if obj['_parent_object_index'] %} +{%- macro ObjDepends(obj) -%} +{%- set taskvar = "codegen" + obj['_object_index'] -%} +{%- if obj['_parent_object_index'] -%} +{%- set parent_taskvar = "codegen" + obj['_parent_object_index'] %} + +tasks.getByName("{{ parent_taskvar }}").dependsOn({{ taskvar }}) +{%- else -%} +{{ TopDepends(taskvar) }} +{%- endif -%} +{%- endmacro -%} -codegen{{ obj['_parent_object_index'] }}.dependsOn(codegen{{ obj['_object_index'] }}) -{%- else -%} -{{ TopDepends("codegen" + obj['_object_index'])}} -{%- endif -%} +{%- if target.custom_runs|length -%} +{%- for custom_run in target.custom_runs -%} +{{ ObjDepends(custom_run) }} {%- 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 -%} +{%- for run in target.runs -%} +{{ ObjDepends(run) }} {%- endfor -%} {%- endif -%} {%- if copies|length -%} -{%- for obj in copies -%} -{%- if obj['_parent_object_index'] %} +{%- for copy in copies -%} +{{ ObjDepends(copy) }} +{%- endfor -%} +{%- endif -%} -codegen{{ obj['_parent_object_index'] }}.dependsOn(codegen{{ obj['_object_index'] }}) -{%- else -%} -{{ TopDepends("codegen" + obj['_object_index'])}} -{%- endif -%} +{%- if moves|length -%} +{%- for move in moves -%} +{{ ObjDepends(move) }} {%- 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 88a67f8f5cc..5e82fb3bc11 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 codegen{{ run['_object_index'] }} = task<JavaExec>("runJavaProgram{{ run['_object_index'] }}") { +val codegen{{ run['_object_index'] }} = task<JavaExec>("codegen{{ run['_object_index'] }}") { group = "build" description = "Code generation by run java program" diff --git a/build/export_generators/ide-gradle/run_program.jinja b/build/export_generators/ide-gradle/run_program.jinja index f7eeb9cd2d8..8c5f8db5110 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 codegen{{ custom_run['_object_index'] }} = task<Exec>("runProgram{{ custom_run['_object_index'] }}") { +val codegen{{ custom_run['_object_index'] }} = task<Exec>("codegen{{ custom_run['_object_index'] }}") { group = "build" description = "Code generation by run custom program" |