Need way to specify classpath modifiers to programs doing basis construction

Description

It will be increasingly common to see tools that use tools.deps to construct classpath/basis (many examples already exist - mvn-pom, tree, datomic ion dev tools, depot, kondo, etc). clj has a set of options that can be used to indicate ways to modify the classpath:

  • deps.edn selection (-Srepro, -Sdeps, potentially others that don't exist right now - basically which files to use)

  • tool args (:replace-paths, :replace-deps), indicated via aliases

  • resolve-args (:extra-deps, :default-deps, :override-deps), indicated via aliases

  • cp-args (:extra-paths, :classpath-overrides), indicated via aliases

  • cp replacement (-Scp) - maybe not interesting, mentioned for completeness

It would be nice for there to be a standard set of options (and prebuilt code to use them in creating a basis) that covered the options above. Could be read as a clj option string and parsed, or standard set of -X style options, or ???

Environment

None

Assignee

Unassigned

Reporter

Alex Miller

Labels

None

Approval

None

Patch

None

Priority

Major