Class ReleaseCandidatesExtension

java.lang.Object
io.github.duckasteroid.gradle.versioning.releaseflow.ReleaseCandidatesExtension

public abstract class ReleaseCandidatesExtension extends Object
Gradle-facing configuration for how the tagReleaseCandidates/tagReleaseCandidate tasks treat previous release candidates once a new one is minted, registered by ReleaseFlowPlugin as the releaseCandidates { } extension. Release candidates aren't permanent artifacts - only the one that eventually gets promoted matters, and any earlier one is either absorbed into a later RC or simply abandoned - so by default every RC's GitHub Release is deleted (not the underlying git tag or published package - see VersionResolver#currentCycleReleaseCandidateTags) as soon as a newer one exists.

Plain scalar Property<T>s, like ChangelogExtension - no SetProperty append-vs-replace gotcha here, .convention(...) works exactly as expected.

 releaseCandidates {
     pruneSuperseded = false   // default: true - keep every RC's GitHub Release forever instead
     retain = 2                // default: 0 - also keep the 2 most recent RCs besides the new one
 }
 
  • Constructor Details

    • ReleaseCandidatesExtension

      public ReleaseCandidatesExtension()
  • Method Details

    • getPruneSuperseded

      public abstract org.gradle.api.provider.Property<Boolean> getPruneSuperseded()
    • getRetain

      public abstract org.gradle.api.provider.Property<Integer> getRetain()