paritytech/cargo-unleash

Replace package selection option

gnunicorn opened this issue · 1 comments

we currently support --package, --ignore-pre-version and --skip, which are explicit but also confusing.

I'd like to trim this down to --include= and --exclude and make them more flexible and explicit by defining what they should match on (like name,versions or version.pre) and how they should match (= – matches/contains; == – exact match; =^ – starts with; =$ – ends with and if beginning with ! negates the matching). It would also be awesome to allow them to be grouped, where within each group at least one must match and it must match each group. Example

--include name!=^node|name!=test|name!==chain-spec|name!=-wasm --include version.pre!=^dev would match any that isn't named any as the first (see negations) AND is NOT having a pre-version starting with dev

Acceptance criteria:

  • rough spec of matching system
  • tests for all cases, 100% coverage for the function/library
  • documentation with examples, available via cli-help
  • fallback support for -p/--package

different UX idea now ... let's just support -p/--package as common place and other than that, as we have version-check and publish = false in each Cargo.toml-support now, I don't think we really need anything really...