auto icon indicating copy to clipboard operation
auto copied to clipboard

[Gradle] Support independent versioning and conditional publishing

Open sugarmanz opened this issue 3 years ago • 3 comments

Is your feature request related to a problem? Please describe.

  1. In a monorepo, some modules may require a different versioning strategy if tightly coupled to different dependencies (i.e. compiler plugins are tied to compiler versions while runtime modules are independent)
  2. In a sufficiently large monorepo, publishing each module each time, even when not changed can introduce a lot of noise (especially when considering irrelevant renovate PRs)

Describe the solution you'd like

As an opt-in feature, Gradle modules can be versioned independently and conditionally released only when the code changes. This would have to model a bit of how NPM-lerna repos work with module specific changelogs and independent versioning.

Describe alternatives you've considered

Could be easily supported by breaking out into separate repos, but that isn't always ideal.

sugarmanz avatar May 18 '22 18:05 sugarmanz

Part of what is interesting here is the fact that the NPM plugin already supports this with lerna. It'd be interesting to try to build this out in such a way that this is supported out-of-the-box with Auto and hooked into each plugin natively.

sugarmanz avatar May 18 '22 18:05 sugarmanz

If you implemented this @sugarmanz you would be the 🐐

hipstersmoothie avatar May 27 '22 00:05 hipstersmoothie

Related https://github.com/intuit/auto/issues/917#issuecomment-579079679

This would probably require a breaking change though since we'd have to rely on the git graph for more things

hipstersmoothie avatar May 27 '22 00:05 hipstersmoothie