Package name.jurgenei.gradle.antlr
Class SasMacroGradleTask
java.lang.Object
org.gradle.api.internal.AbstractTask
org.gradle.api.DefaultTask
name.jurgenei.gradle.antlr.SasMacroGradleTask
- 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="Macro expansion is file-system driven and this proof-of-concept does not yet declare full incremental cache semantics")
public abstract class SasMacroGradleTask
extends org.gradle.api.DefaultTask
Expands SAS macros from source files into normalized intermediate SAS files.
This task is first stage in chained workflow:
SasProgramFile -> SasMacroGradleTask -> XmlAstSasGradleTask -> XML AST
-
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
ConstructorsConstructorDescriptionSasMacroGradleTask(org.gradle.api.model.ObjectFactory objects) Creates macro task with SAS defaults. -
Method Summary
Modifier and TypeMethodDescriptionvoidexpand()Expands all selected SAS files into destination directory preserving relative paths.org.gradle.api.file.DirectoryPropertyDestination folder containing expanded SAS files.org.gradle.api.provider.ListProperty<String> Ant-style exclude patterns relative togetSourceDirectory().org.gradle.api.provider.Property<Boolean> Fails task when unresolved¯oreferences remain after expansion.org.gradle.api.provider.ListProperty<String> Ant-style include patterns relative togetSourceDirectory().Macro values provided by build logic before file-local declarations.org.gradle.api.file.DirectoryPropertySource folder scanned for SAS files.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, 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
-
SasMacroGradleTask
@Inject public SasMacroGradleTask(org.gradle.api.model.ObjectFactory objects) Creates macro task with SAS defaults.- Parameters:
objects- Gradle object factory.
-
-
Method Details
-
getSourceDirectory
@InputDirectory @PathSensitive(RELATIVE) public org.gradle.api.file.DirectoryProperty getSourceDirectory()Source folder scanned for SAS files.- Returns:
- source directory.
-
getDestinationDirectory
@OutputDirectory public org.gradle.api.file.DirectoryProperty getDestinationDirectory()Destination folder containing expanded SAS files.- Returns:
- destination directory.
-
getIncludes
Ant-style include patterns relative togetSourceDirectory().- Returns:
- include patterns.
-
getExcludes
Ant-style exclude patterns relative togetSourceDirectory().- Returns:
- exclude patterns.
-
getPredefinedMacros
Macro values provided by build logic before file-local declarations.- Returns:
- macro map.
-
getFailOnUndefinedMacro
Fails task when unresolved¯oreferences remain after expansion.- Returns:
- fail-on-undefined flag.
-
expand
public void expand()Expands all selected SAS files into destination directory preserving relative paths.
-