shipkit-auto-version icon indicating copy to clipboard operation
shipkit-auto-version copied to clipboard

Support always building `-SNAPSHOT` versions when not building with a special flag

Open magneticflux- opened this issue 2 years ago • 7 comments

My workflow is as follows:

  1. Start with branches release/xyz and develop.
  2. Branch off of develop to feature/xyz.
  3. Complete development of the feature, merge feature/xyz into develop.
  4. Possibly repeat 2-3 multiple times.
  5. When it's time for a release (large enough changes, finished with changes for now), merge develop into release/xyz.

I already publish builds from release/xyz branches to various maven repos and Github Releases using the Shipkit plugins.

I would like to expose snapshot builds from develop and feature/xyz branches somewhere (Maven, Github Actions build artifacts, etc.). Additionally, local builds (potentially having non-committed changes) should by default be marked as snapshots to distinguish them from reproducible builds on CI. I personally like having Git tree status included in the version like is done here: https://github.com/CaffeineMC/sodium-fabric/blob/68ca12bcbd57eddfaf47aa66492464540c2c7581/build.gradle#L75-L97

This would be extremely useful for simply linking development builds to users in order to get feedback on issue fixes quickly. Examples of this workflow can be found in one of my repos here: https://github.com/magneticflux-/fabric-tree-chopper

#37 and #77 are similar to this, but #37 requires an override for snapshot builds rather than the reverse and #77 requires -SNAPSHOT in the version property to be set (if I'm reading the PR's code correctly: https://github.com/shipkit/shipkit-auto-version/pull/78/files#diff-b565cb97994bdd103d4038e053277da3b27f44237fcc958388e286ec930caa1aR112-R114)

magneticflux- avatar Sep 10 '21 06:09 magneticflux-