compile_data = {% if crate.common_attrs | get(key="compile_data_glob") %}glob({{ crate.common_attrs.compile_data_glob | json_encode | safe }}) + {% endif %}{% set selectable = crate.common_attrs | get(key="compile_data", default=default_select_list) %}{% include "partials/starlark/selectable_list.j2" -%}, | |
crate_root = "{{ target.crate_root }}", | |
crate_features = [ | |
{%- for feature in crate.common_attrs | get(key="crate_features", default=[]) %} | |
"{{ feature }}", | |
{%- endfor %} | |
], | |
data = {% if crate.common_attrs | get(key="data_glob") %}glob({{ crate.common_attrs.data_glob | json_encode | safe }}) + {% endif %}{% set selectable = crate.common_attrs | get(key="data", default=default_select_list) %}{% include "partials/starlark/selectable_list.j2" -%}, | |
edition = "{{ crate.common_attrs.edition }}", | |
{%- if crate.common_attrs | get(key="linker_script", default=Null) %} | |
linker_script = "{{ crate.common_attrs.linker_script }}", | |
{%- endif %} | |
rustc_env = {% set selectable = crate.common_attrs | get(key="rustc_env", default=Null) %}{% include "partials/starlark/selectable_dict.j2" -%}, | |
rustc_env_files = {% set selectable = crate.common_attrs | get(key="rustc_env_files", default=Null) %}{% include "partials/starlark/selectable_list.j2" -%}, | |
rustc_flags = [ | |
# In most cases, warnings in 3rd party crates are not interesting as | |
# they're out of the control of consumers. The flag here silences | |
# warnings. For more details see: | |
# https://doc.rust-lang.org/rustc/lints/levels.html | |
"--cap-lints=allow", | |
{%- if crate.common_attrs | get(key="rustc_flags", default=Null) %} | |
# User provided rustc_flags | |
{%- for rustc_flag in crate.common_attrs.rustc_flags %} | |
"{{ rustc_flag }}", | |
{%- endfor %} | |
{%- endif %} | |
], | |
srcs = {% set glob = target.srcs %}{% include "partials/starlark/glob.j2" -%}, | |
version = "{{ crate.common_attrs.version }}", | |
tags = [ | |
{%- if crate.common_attrs | get(key="tags", default=Null) %} | |
{%- for tag in crate.common_attrs.tags %} | |
"{{ tag }}", | |
{%- endfor %} | |
{%- endif %} | |
"cargo-bazel", | |
"manual", | |
"noclippy", | |
"norustfmt", | |
], |