Convert as much scripts as possible to xtask #208
Labels
crate:xtask
Modifies the maintainers CLI
for:maintainability
Improves maintainers life
for:usability
Improves users (and maintainers) life
good first issue
Good for newcomers
needs:implementation
Needs implementation to complete
The shell scripts start to get more/too complex. We should migrate them to xtask as modules (or even libraries). Ideally, the only remaining script would be
setup.sh
to install enough things for xtask to run (probably rustup and build-essential).Can use cargo_toml to parse
Cargo.toml
files. Description of configurations forcargo check
andcargo test
(from whichcargo clippy
are derived) can be inpackage.metadata
like forpackage.metadata.docs.rs
from whichcargo doc
is derived. Note thatcargo fmt
is always the same.Other useful crates: git2, semver.
Related tasks:
We might want to also make use of cargo-script to keep the script feeling.
In addition to the logic in
ci-changelog.sh
regardingCargo.toml
files, an additional rule should be thatpublish = false
crate should not useversion
in local dependencies (i.e. withpath
).Another rule could be that optional dependencies should not define any features. The features should be added by the features that enable the dependency.
The text was updated successfully, but these errors were encountered: