Package name.jurgenei.gradle.xml
Class AbstractXmlTransformTask
java.lang.Object
org.gradle.api.internal.AbstractTask
org.gradle.api.DefaultTask
org.gradle.api.internal.ConventionTask
org.gradle.api.tasks.SourceTask
name.jurgenei.gradle.xml.AbstractXmlTransformTask
- All Implemented Interfaces:
Comparable<org.gradle.api.Task>,org.gradle.api.internal.DynamicObjectAware,org.gradle.api.internal.IConventionAware,org.gradle.api.internal.TaskInternal,org.gradle.api.Named,org.gradle.api.plugins.ExtensionAware,org.gradle.api.Task,org.gradle.api.tasks.util.PatternFilterable,org.gradle.util.Configurable<org.gradle.api.Task>
- Direct Known Subclasses:
XQueryTask,XsltTask
@DisableCachingByDefault(because="Uses external transform engines and file trees")
public abstract class AbstractXmlTransformTask
extends org.gradle.api.tasks.SourceTask
Shared base task for Saxon-backed file-to-file XML transformations.
This task provides Gradle-style input selection via SourceTask.source(Object...) or
fileset(Object, Action), output mapping, parameter passing, and optional
parallel processing with virtual-thread workers.
-
Nested Class Summary
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 -
Method Summary
Modifier and TypeMethodDescriptionvoidfileset(Object baseDir, org.gradle.api.Action<? super org.gradle.api.file.ConfigurableFileTree> configureAction) Adds an Ant-like fileset rooted atbaseDir.abstract org.gradle.api.provider.Property<Boolean> Controls whether a task failure should fail the build when a single file transform fails.abstract org.gradle.api.file.DirectoryPropertyDestination root directory for transformed files.abstract org.gradle.api.provider.Property<String> Output file extension used when mapping each input file to an output file.Transform parameters exposed to the execution engine.org.gradle.api.file.FileTreeabstract org.gradle.api.provider.Property<Integer> Number of worker threads used when processing multiple files.protected longlatestDependencyTimestamp(File inputFile) Returns the newest timestamp of any file dependency that influences a transformation.voidAdds or overrides a transformation parameter.protected abstract voidExecutes one transformation from input file to output file.voidExecutes transformations for all resolved source files.Methods inherited from class org.gradle.api.tasks.SourceTask
exclude, exclude, exclude, exclude, getExcludes, getIncludes, getPatternSet, getPatternSetFactory, include, include, include, include, setExcludes, setIncludes, setSource, setSource, sourceMethods inherited from class org.gradle.api.internal.ConventionTask
conventionMapping, conventionMapping, getConventionMappingMethods 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, usesServiceMethods 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, setImpliesSubProjectsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.gradle.api.Task
doNotTrackState, notCompatibleWithConfigurationCache
-
Constructor Details
-
AbstractXmlTransformTask
public AbstractXmlTransformTask()Creates a task with default conventions.
-
-
Method Details
-
getOutputDir
@OutputDirectory public abstract org.gradle.api.file.DirectoryProperty getOutputDir()Destination root directory for transformed files.- Returns:
- output directory property
-
getOutputExtension
Output file extension used when mapping each input file to an output file.- Returns:
- extension property, defaults to
.xml
-
getParams
Transform parameters exposed to the execution engine.- Returns:
- map of parameter names to values
-
getWorkers
Number of worker threads used when processing multiple files.- Returns:
- worker-count property, defaults to
1
-
getFailOnError
Controls whether a task failure should fail the build when a single file transform fails.- Returns:
- fail-on-error property
-
param
Adds or overrides a transformation parameter.- Parameters:
name- parameter name, must not benullvalue- parameter value, converted to string
-
fileset
public void fileset(Object baseDir, org.gradle.api.Action<? super org.gradle.api.file.ConfigurableFileTree> configureAction) Adds an Ant-like fileset rooted atbaseDir.- Parameters:
baseDir- base directory object accepted byProject.fileTreeconfigureAction- include/exclude configuration action
-
getSource
@PathSensitive(RELATIVE) public org.gradle.api.file.FileTree getSource()- Overrides:
getSourcein classorg.gradle.api.tasks.SourceTask
-
transformAll
public void transformAll()Executes transformations for all resolved source files.Files are processed deterministically and may run in parallel when
workers > 1. -
latestDependencyTimestamp
Returns the newest timestamp of any file dependency that influences a transformation.By default this is the source file timestamp. Subclasses should override to include additional inputs such as stylesheets or query files.
- Parameters:
inputFile- source XML document- Returns:
- newest dependency timestamp in epoch milliseconds
-
transform
protected abstract void transform(File inputFile, File outputFile, Map<String, String> params) throws ExceptionExecutes one transformation from input file to output file.- Parameters:
inputFile- source XML documentoutputFile- destination fileparams- immutable task parameter view- Throws:
Exception- any transform exception raised by the engine implementation
-