diff options
| author | dimdim11 <[email protected]> | 2026-06-18 17:49:56 +0300 |
|---|---|---|
| committer | dimdim11 <[email protected]> | 2026-06-18 18:27:00 +0300 |
| commit | 2fce6dc902dfbd6cdfd78da3b2c795f6bd6cc633 (patch) | |
| tree | 0aa0a8835b144ed915898ca826257292d0e84de9 | |
| parent | 7b20ca17553a88e6948dfe9de9b94839952497f5 (diff) | |
Fix patch codegen source sets, create duplicate sources and resources sets for auto resources
Fix patch codegen source sets, create duplicate sources and resources sets for auto resources
commit_hash:349b5e6be013ef5ee88470d17bcc98e7b3f1da15
| -rw-r--r-- | build/export_generators/ide-gradle/source_sets.jinja | 31 |
1 files changed, 20 insertions, 11 deletions
diff --git a/build/export_generators/ide-gradle/source_sets.jinja b/build/export_generators/ide-gradle/source_sets.jinja index 0f6c9f6a63d..7a39d57eb05 100644 --- a/build/export_generators/ide-gradle/source_sets.jinja +++ b/build/export_generators/ide-gradle/source_sets.jinja @@ -25,29 +25,38 @@ {#- Relative path in tests #} {%- set dir = reldir + dir -%} {%- endif -%} -{%- if auto_resource_sets and 'resources' in dir -%} -{%- set module = 'resources' -%} -{%- endif -%} {%- if use_full_source_sets_path and dir|replace(export_root, "") == dir -%} {%- set dir = arcadia_root + "/" + curdir + "/" + dir -%} {%- endif -%} {%- if dir|replace(export_root, "") != dir -%} {#- Generated (re)sources -#} -{%- set runs_out = current_target.runs|selectattr('out')|map(attribute='out')|sum|select('in', dir) -%} -{%- set runs_outdir = current_target.runs|selectattr('out_dir')|map(attribute='out_dir')|sum|select('in', dir) -%} -{%- set cruns_outputs = current_target.custom_runs|selectattr('outputs')|map(attribute='outputs')|sum|select('in', dir) -%} -{%- if runs_out|length %} - {{ module }}.srcDir({{ PatchRoots(dir, false, 'collect') }}){{ PrintGlobs(module, some_set, dir) }} -{%- elif runs_outdir|length %} - {{ module }}.srcDir({{ PatchRoots(dir, false, 'collect') }}){{ PrintGlobs(module, some_set, dir) }} -{%- elif cruns_outputs|length %} +{%- set runs_out = current_target.runs|selectattr('out')|map(attribute='out')|sum -%} +{%- set runs_out_has_dir = runs_out|select('in', dir)|length -%} +{%- set dir_has_runs_out = runs_out|join('|') != runs_out|join('|')|replace(dir + '/', '') -%} +{%- set runs_outdir = current_target.runs|selectattr('out_dir')|map(attribute='out_dir')|sum -%} +{%- set runs_outdir_has_dir = runs_outdir|select('in', dir)|length -%} +{%- set dir_has_runs_outdir = runs_outdir|join('|') != runs_out|join('|')|replace(dir + '/', '') -%} +{%- set cruns_outputs = current_target.custom_runs|selectattr('outputs')|map(attribute='outputs')|sum -%} +{%- set cruns_outputs_has_dir = cruns_outputs|select('in', dir)|length -%} +{%- set dir_has_cruns_outputs = cruns_outputs|join('|') != runs_out|join('|')|replace(dir + '/', '') -%} +{%- if (runs_out_has_dir) or (dir_has_runs_out) or (runs_outdir_has_dir) or (dir_has_runs_outdir) or (cruns_outputs_has_dir) or (dir_has_cruns_outputs) %} {{ module }}.srcDir({{ PatchRoots(dir, false, 'collect') }}){{ PrintGlobs(module, some_set, dir) }} {%- else %} {{ module }}.srcDir({{ PatchRoots(dir) }}){{ PrintGlobs(module, some_set, dir) }} {%- endif -%} +{%- elif (varprefix == MAIN_VARPREFIX) and (module == "java") and (some_set.dir == '.') and not(some_set.globs|length) -%} +{#- Empty JAVA_SRCS() create dir == '.' and globs == [], and without this fix all files in module included #} + // Preventing automatic search for main + java.setSrcDirs(emptyList<Any>()) +{%- if with_kotlin %} + kotlin.setSrcDirs(emptyList<Any>()) +{%- endif %} {%- else %} {{ module }}.srcDir({{ PatchRoots(dir) }}){{ PrintGlobs(module, some_set, dir) }} {%- endif -%} +{%- if auto_resource_sets and "resources" in dir and module != "resources" -%} +{{ SomeSet(some_set, "resources", reldir, current_target) }} +{%- endif -%} {%- endmacro -%} {%- macro SomeSets(some_sets, module, reldir, current_target) -%} |
