Class GosuCompile
java.lang.Object
org.gradle.api.internal.AbstractTask
org.gradle.api.DefaultTask
org.gradle.api.internal.ConventionTask
org.gradle.api.tasks.SourceTask
org.gradle.api.tasks.compile.AbstractCompile
org.gosulang.gradle.tasks.compile.GosuCompile
- All Implemented Interfaces:
Comparable<org.gradle.api.Task>,InfersGosuRuntime,org.gradle.api.internal.DynamicObjectAware,org.gradle.api.internal.IConventionAware,org.gradle.api.internal.TaskInternal,org.gradle.api.plugins.ExtensionAware,org.gradle.api.Task,org.gradle.api.tasks.util.PatternFilterable,org.gradle.util.Configurable<org.gradle.api.Task>
@CacheableTask
public abstract class GosuCompile
extends org.gradle.api.tasks.compile.AbstractCompile
implements InfersGosuRuntime
-
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 -
Method Summary
Modifier and TypeMethodDescriptionprotected voidcompile()org.gradle.api.file.FileCollectionWe override in order to apply theCompileClasspath, in order to ignore changes in JAR'd resources.protected abstract org.gradle.process.ExecOperationsorg.gradle.api.file.ConfigurableFileCollectionprotected abstract org.gradle.api.file.ProjectLayoutprotected abstract org.gradle.api.model.ObjectFactoryorg.gradle.api.tasks.compile.CompileOptionsgroovy.lang.Closure<org.gradle.api.file.FileCollection> Annotating as @Input or @InputFiles causes errors in Guidewire applications, even when paired with @Optional.org.gradle.api.file.FileTreeorg.gradle.api.file.ConfigurableFileCollectionReturns the Gosu source roots (directories).org.gradle.api.file.FileCollectionvoidsetGosuClasspath(org.gradle.api.file.FileCollection gosuClasspath) voidsetOrderClasspath(groovy.lang.Closure<org.gradle.api.file.FileCollection> orderClasspath) Normally setting this value is not required.org.gradle.api.tasks.SourceTaskOverridesSourceTask.source(java.lang.Object...)to also register non-SourceDirectorySet, non-FileTreearguments ingetSourceRoots()so that directories added by external plugins (e.g.Methods inherited from class org.gradle.api.tasks.compile.AbstractCompile
getDestinationDir, getDestinationDirectory, getSourceCompatibility, getTargetCompatibility, setClasspath, setDestinationDir, setDestinationDir, setSourceCompatibility, setTargetCompatibilityMethods inherited from class org.gradle.api.tasks.SourceTask
exclude, exclude, exclude, exclude, getExcludes, getIncludes, getPatternSet, getPatternSetFactory, include, include, include, include, setExcludes, setIncludes, setSource, setSourceMethods 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, getAsDynamicObject, getConvention, getIdentityPath, getImpliesSubProjects, getLifecycleDependencies, getOnlyIf, getReasonNotToTrackState, getReasonTaskIsIncompatibleWithConfigurationCache, getRequiredServices, getServices, getSharedResources, getStandardOutputCapture, getTaskActions, getTaskIdentity, getTemporaryDirFactory, hasTaskActions, injectIntoNewInstance, isCompatibleWithConfigurationCache, isEnabled, isHasCustomActions, notCompatibleWithConfigurationCache, prependParallelSafeAction, 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, getConvention, notCompatibleWithConfigurationCache
-
Constructor Details
-
GosuCompile
public GosuCompile()
-
-
Method Details
-
getObjectFactory
@Inject protected abstract org.gradle.api.model.ObjectFactory getObjectFactory() -
getExecOperations
@Inject protected abstract org.gradle.process.ExecOperations getExecOperations() -
getLayout
@Inject protected abstract org.gradle.api.file.ProjectLayout getLayout() -
compile
protected void compile() -
getSource
@PathSensitive(NAME_ONLY) public org.gradle.api.file.FileTree getSource()- Overrides:
getSourcein classorg.gradle.api.tasks.SourceTask
-
source
OverridesSourceTask.source(java.lang.Object...)to also register non-SourceDirectorySet, non-FileTreearguments ingetSourceRoots()so that directories added by external plugins (e.g. via aProvider<Directory>orProvider<File>) are treated as Gosu type-system source roots.SourceDirectorySetis excluded becauseGosuBasePluginalready wires itsgetSourceDirectories()intosourceRoots.FileTreeis excluded because resolving one yields individual files rather than root directories.- Overrides:
sourcein classorg.gradle.api.tasks.SourceTask
-
getStableSources
@SkipWhenEmpty @PathSensitive(NAME_ONLY) @InputFiles public org.gradle.api.file.FileCollection getStableSources() -
getGosuOptions
- Returns:
- Gosu-specific compilation options.
-
getOptions
public org.gradle.api.tasks.compile.CompileOptions getOptions() -
getClasspath
@CompileClasspath public org.gradle.api.file.FileCollection getClasspath()We override in order to apply theCompileClasspath, in order to ignore changes in JAR'd resources.- Overrides:
getClasspathin classorg.gradle.api.tasks.compile.AbstractCompile
-
getGosuClasspath
@Classpath @InputFiles public org.gradle.api.file.ConfigurableFileCollection getGosuClasspath()- Specified by:
getGosuClasspathin interfaceInfersGosuRuntime- Returns:
- the classpath to use to load the Gosu compiler.
-
setGosuClasspath
public void setGosuClasspath(org.gradle.api.file.FileCollection gosuClasspath) - Specified by:
setGosuClasspathin interfaceInfersGosuRuntime
-
getOrderClasspath
@Internal public groovy.lang.Closure<org.gradle.api.file.FileCollection> getOrderClasspath()Annotating as @Input or @InputFiles causes errors in Guidewire applications, even when paired with @Optional. Marking as @Internal instead to skip warning thrown by :validateTaskProperties (org.gradle.plugin.devel.tasks.ValidateTaskProperties)- Returns:
- a Closure returning a classpath to be passed to the GosuCompile task
-
setOrderClasspath
public void setOrderClasspath(groovy.lang.Closure<org.gradle.api.file.FileCollection> orderClasspath) Normally setting this value is not required. Certain projects relying on depth-first resolution of module dependencies can use this Closure to reorder the classpath as needed.- Parameters:
orderClasspath- a Closure returning a classpath to be passed to the GosuCompile task
-
getSourceRoots
@Internal public org.gradle.api.file.ConfigurableFileCollection getSourceRoots()Returns the Gosu source roots (directories). Wired at configuration time byGosuBasePluginusing theSourceDirectorySet.getSourceDirectories()public API.
-