| { |
| {%- for id, path in context.workspace_members %} |
| {%- set workspace_member = context.crates | get(key=id) %} |
| "{{ path }}": { |
| {%- if deps_type in ["normal"] %} |
| {%- set_global deps_set = workspace_member.common_attrs | get(key="deps", default=default_select_list) %} |
| {%- elif deps_type in ["normal-dev"] %} |
| {%- set_global deps_set = workspace_member.common_attrs | get(key="deps_dev", default=default_select_list) %} |
| {%- elif deps_type in ["proc-macro"] %} |
| {%- set_global deps_set = workspace_member.common_attrs | get(key="proc_macro_deps", default=default_select_list) %} |
| {%- elif deps_type in ["proc-macro-dev"] %} |
| {%- set_global deps_set = workspace_member.common_attrs | get(key="proc_macro_deps_dev", default=default_select_list) %} |
| {%- elif deps_type in ["build"] %} |
| {%- if workspace_member | get(key="build_script_attrs", default=Null) %} |
| {%- set_global deps_set = workspace_member.build_script_attrs | get(key="deps", default=default_select_list) %} |
| {%- else %} |
| {%- set_global deps_set = default_select_list %} |
| {%- endif %} |
| {%- elif deps_type in ["build-proc-macro"] %} |
| {%- if workspace_member | get(key="build_script_attrs", default=Null) %} |
| {%- set_global deps_set = workspace_member.build_script_attrs | get(key="proc_macro_deps", default=default_select_list) %} |
| {%- else %} |
| {%- set_global deps_set = default_select_list %} |
| {%- endif %} |
| {%- else %} |
| {{ throw(message= "Unexpected dependency type '" ~ deps_type ~ "' for '" ~ id ~ "'") }} |
| {%- endif %} |
| {%- if deps_set.common | length %} |
| _COMMON_CONDITION: { |
| {%- for dep in deps_set.common %} |
| {%- if dep.id in context.workspace_members %}{% continue %}}{% endif %}{# Workspace member repositories are not defined, skip adding their labels here #} |
| {%- set crate = context.crates | get(key=dep.id) %} |
| "{{ dep | get(key="alias", default=crate.name) }}": "{{ crate_label(name = crate.name, version = crate.version, target = dep.target) }}", |
| {%- endfor %} |
| }, |
| {%- endif %} |
| {%- if deps_set.selects | length %} |
| {%- for condition, deps in deps_set.selects %} |
| "{{ condition | addslashes }}": { |
| {%- for dep in deps %} |
| {%- if dep.id in context.workspace_members %}{% continue %}}{% endif %}{# Workspace member repositories are not defined, skip adding their labels here #} |
| {%- set crate = context.crates | get(key=dep.id) %} |
| "{{ dep | get(key="alias", default=crate.name) }}": "{{ crate_label(name = crate.name, version = crate.version, target = dep.target) }}", |
| {%- endfor %} |
| }, |
| {%- endfor %} |
| {%- endif %} |
| }, |
| {%- endfor %} |
| } |