Class AgenticRelease

java.lang.Object
org.gradle.api.internal.AbstractTask
org.gradle.api.DefaultTask
com.egoge.ai.atlas.plugin.AgenticRelease
All Implemented Interfaces:
Comparable<org.gradle.api.Task>, org.gradle.api.internal.DynamicObjectAware, org.gradle.api.internal.TaskInternal, org.gradle.api.Named, org.gradle.api.plugins.ExtensionAware, org.gradle.api.Task, org.gradle.util.Configurable<org.gradle.api.Task>

@DisableCachingByDefault(because="Writes an immutable release snapshot, a source file") public abstract class AgenticRelease extends org.gradle.api.DefaultTask
agenticRelease: snapshots the accepted contract of the main compilation as the immutable release <release.directory>/<releaseVersion>/, compares it with the previous release, checks the deprecation policy, and regenerates the aggregate changelog. It runs after classes, so the compatibility gate and atlasContractCheck have passed, and it releases only a contract the build emitted byte for byte as the baseline: atlasAccept first, then release. It never writes the baseline.

It declares no outputs, so it always runs, and releasing a version a second time fails.

  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.gradle.api.Task

    org.gradle.api.Task.Namer
  • Field Summary

    Fields inherited from interface org.gradle.api.Task

    TASK_ACTION, TASK_CONSTRUCTOR_ARGS, TASK_DEPENDS_ON, TASK_DESCRIPTION, TASK_GROUP, TASK_NAME, TASK_OVERWRITE, TASK_TYPE
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    abstract org.gradle.api.file.RegularFileProperty
    The accepted baseline; the release refuses a contract that differs from it.
    abstract org.gradle.api.file.RegularFileProperty
    The aggregate changelog to regenerate.
    abstract org.gradle.api.file.ConfigurableFileCollection
    The main compilation's class output, validated as found.
    abstract org.gradle.api.provider.Property<Boolean>
    Whether other breaking differences fail a release within the same apiMajor.
    abstract org.gradle.api.provider.Property<Integer>
    Majors between an element's deprecation major and the major of the release removing it.
    abstract org.gradle.api.provider.Property<Integer>
    Releases an element must have been published in while deprecated before removal.
    abstract org.gradle.api.file.ConfigurableFileCollection
    The annotationProcessor classpath the release step is loaded from.
    abstract org.gradle.api.provider.Property<String>
    The processor on the annotationProcessor classpath, named when this plugin cannot run it.
    abstract org.gradle.api.file.DirectoryProperty
    The directory holding one subdirectory per released version.
    abstract org.gradle.api.provider.Property<String>
    The version to release, MAJOR.MINOR.PATCH.
    abstract org.gradle.api.provider.Property<String>
    The agentic { release { tagName } } template this release's tag is rendered from.
    abstract org.gradle.api.provider.Property<Boolean>
    Whether the version's major must equal the contract's apiMajor.
    protected abstract org.gradle.workers.WorkerExecutor
     

    Methods inherited from class org.gradle.api.DefaultTask

    compareTo, configure, dependsOn, doFirst, doFirst, doFirst, doLast, doLast, doLast, finalizedBy, getActions, getAnt, getDependsOn, getDescription, getDestroyables, getDidWork, getEnabled, getExtensions, getFinalizedBy, getGroup, getInputs, getLocalState, getLogger, getLogging, getMustRunAfter, getName, getOutputs, getPath, getProject, getShouldRunAfter, getState, getTaskDependencies, getTemporaryDir, getTimeout, hasProperty, mustRunAfter, onlyIf, onlyIf, onlyIf, property, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setFinalizedBy, setGroup, setMustRunAfter, setOnlyIf, setOnlyIf, setOnlyIf, setProperty, setShouldRunAfter, shouldRunAfter, usesService

    Methods inherited from class org.gradle.api.internal.AbstractTask

    acceptServiceReferences, appendParallelSafeAction, doNotTrackState, getAsDynamicObject, getConvention, getIdentityPath, getImpliesSubProjects, getLifecycleDependencies, getOnlyIf, getReasonNotToTrackState, getReasonTaskIsIncompatibleWithConfigurationCache, getRequiredServices, getServices, getSharedResources, getStandardOutputCapture, getTaskActions, getTaskIdentity, getTemporaryDirFactory, hasTaskActions, injectIntoNewInstance, isCompatibleWithConfigurationCache, isEnabled, isHasCustomActions, notCompatibleWithConfigurationCache, prependParallelSafeAction, setImpliesSubProjects

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.gradle.api.Task

    doNotTrackState, getConvention, notCompatibleWithConfigurationCache
  • Constructor Details

    • AgenticRelease

      public AgenticRelease()
  • Method Details

    • getClassesDirs

      @Internal public abstract org.gradle.api.file.ConfigurableFileCollection getClassesDirs()
      The main compilation's class output, validated as found. Untracked on purpose: as an input it would make this task depend on the compilation, which could regenerate the very resources the release validates. The task has no outputs, so it always runs.
    • getProcessorClasspath

      @Classpath public abstract org.gradle.api.file.ConfigurableFileCollection getProcessorClasspath()
      The annotationProcessor classpath the release step is loaded from.
    • getBaseline

      @Internal public abstract org.gradle.api.file.RegularFileProperty getBaseline()
      The accepted baseline; the release refuses a contract that differs from it.
    • getReleasesDir

      @Internal public abstract org.gradle.api.file.DirectoryProperty getReleasesDir()
      The directory holding one subdirectory per released version.
    • getChangelog

      @Internal public abstract org.gradle.api.file.RegularFileProperty getChangelog()
      The aggregate changelog to regenerate.
    • getReleaseVersion

      @Input public abstract org.gradle.api.provider.Property<String> getReleaseVersion()
      The version to release, MAJOR.MINOR.PATCH.
    • getVersionTracksApiMajor

      @Input public abstract org.gradle.api.provider.Property<Boolean> getVersionTracksApiMajor()
      Whether the version's major must equal the contract's apiMajor.
    • getMinDeprecatedReleases

      @Input public abstract org.gradle.api.provider.Property<Integer> getMinDeprecatedReleases()
      Releases an element must have been published in while deprecated before removal.
    • getMinApiMajorAdvance

      @Input public abstract org.gradle.api.provider.Property<Integer> getMinApiMajorAdvance()
      Majors between an element's deprecation major and the major of the release removing it.
    • getFailOnBreaking

      @Input public abstract org.gradle.api.provider.Property<Boolean> getFailOnBreaking()
      Whether other breaking differences fail a release within the same apiMajor.
    • getTagNameTemplate

      @Input public abstract org.gradle.api.provider.Property<String> getTagNameTemplate()
      The agentic { release { tagName } } template this release's tag is rendered from.
    • getProcessorVersion

      @Internal public abstract org.gradle.api.provider.Property<String> getProcessorVersion()
      The processor on the annotationProcessor classpath, named when this plugin cannot run it.
    • getWorkerExecutor

      @Inject protected abstract org.gradle.workers.WorkerExecutor getWorkerExecutor()