aboutsummaryrefslogtreecommitdiff
path: root/crate_universe/src/rendering/templates/partials/module/deps_map.j2
blob: c9f169df3e31686ecbe7c70c43029f073c5e4ad4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
{
    {%- 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 %}
}