Class ApplyBinPatches

java.lang.Object
org.gradle.api.internal.AbstractTask
org.gradle.api.DefaultTask
com.cleanroommc.gradle.api.task.patch.ApplyBinPatches
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>

@CacheableTask public abstract class ApplyBinPatches extends org.gradle.api.DefaultTask
Reconstructs a patched jar out of an original jar and a GenerateBinPatches archive.

Every changed class is checked against the SHA-256 recorded in its patch and a mismatch fails the build rather than producing a jar that is quietly wrong.

  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static final record 
     

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

    org.gradle.api.Named.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
    void
     
    apply(Path original, Path binpatches, String prefix, Path output)
     
    abstract org.gradle.api.file.RegularFileProperty
     
    abstract org.gradle.api.file.RegularFileProperty
     
    abstract org.gradle.api.file.RegularFileProperty
     
    abstract org.gradle.api.provider.Property<String>
    Prefix the patch entries sit behind inside the archive, e.g.

    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, doNotTrackStateIf, getAsDynamicObject, getIdentityPath, getImpliesSubProjects, getLifecycleDependencies, getOnlyIf, getReasonNotToTrackState, getReasonsNotToTrackState, getReasonTaskIsIncompatibleWithConfigurationCache, getRequiredServices, getServices, getSharedResources, getStandardOutputCapture, getTaskActions, getTaskIdentity, getTemporaryDirFactory, hasTaskActions, injectIntoNewInstance, isCompatibleWithConfigurationCache, isEnabled, isHasCustomActions, notCompatibleWithConfigurationCache, prependParallelSafeAction, restoreOnlyIf, restoreTaskActions, setImpliesSubProjects

    Methods inherited from class Object

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

    Methods inherited from interface org.gradle.api.Task

    doNotTrackState, notCompatibleWithConfigurationCache
  • Constructor Details

    • ApplyBinPatches

      public ApplyBinPatches()
  • Method Details

    • getOriginalJar

      @InputFile @PathSensitive(NONE) public abstract org.gradle.api.file.RegularFileProperty getOriginalJar()
    • getBinpatches

      @InputFile @PathSensitive(NONE) public abstract org.gradle.api.file.RegularFileProperty getBinpatches()
    • getPrefix

      @Input public abstract org.gradle.api.provider.Property<String> getPrefix()
      Prefix the patch entries sit behind inside the archive, e.g. binpatch/client/.
    • getPatchedJar

      @OutputFile public abstract org.gradle.api.file.RegularFileProperty getPatchedJar()
    • apply

      public void apply()
    • apply

      public static ApplyBinPatches.Result apply(Path original, Path binpatches, String prefix, Path output)