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
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
     
    org.gradle.api.file.FileCollection
    We override in order to apply the CompileClasspath, in order to ignore changes in JAR'd resources.
    protected abstract org.gradle.process.ExecOperations
     
    org.gradle.api.file.ConfigurableFileCollection
     
     
    protected abstract org.gradle.api.file.ProjectLayout
     
    protected abstract org.gradle.api.model.ObjectFactory
     
    org.gradle.api.tasks.compile.CompileOptions
     
    groovy.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.FileTree
    org.gradle.api.file.ConfigurableFileCollection
    Returns the Gosu source roots (directories).
    org.gradle.api.file.FileCollection
     
    void
    setGosuClasspath(org.gradle.api.file.FileCollection gosuClasspath)
     
    void
    setOrderClasspath(groovy.lang.Closure<org.gradle.api.file.FileCollection> orderClasspath)
    Normally setting this value is not required.
    org.gradle.api.tasks.SourceTask
    source(Object... sources)
    Overrides SourceTask.source(java.lang.Object...) to also register non-SourceDirectorySet, non-FileTree arguments in getSourceRoots() 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, setTargetCompatibility

    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

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

    conventionMapping, conventionMapping, getConventionMapping

    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

    • 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:
      getSource in class org.gradle.api.tasks.SourceTask
    • source

      public org.gradle.api.tasks.SourceTask source(Object... sources)
      Overrides SourceTask.source(java.lang.Object...) to also register non-SourceDirectorySet, non-FileTree arguments in getSourceRoots() so that directories added by external plugins (e.g. via a Provider<Directory> or Provider<File>) are treated as Gosu type-system source roots. SourceDirectorySet is excluded because GosuBasePlugin already wires its getSourceDirectories() into sourceRoots. FileTree is excluded because resolving one yields individual files rather than root directories.
      Overrides:
      source in class org.gradle.api.tasks.SourceTask
    • getStableSources

      @SkipWhenEmpty @PathSensitive(NAME_ONLY) @InputFiles public org.gradle.api.file.FileCollection getStableSources()
    • getGosuOptions

      public GosuCompileOptions 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 the CompileClasspath, in order to ignore changes in JAR'd resources.
      Overrides:
      getClasspath in class org.gradle.api.tasks.compile.AbstractCompile
    • getGosuClasspath

      @Classpath @InputFiles public org.gradle.api.file.ConfigurableFileCollection getGosuClasspath()
      Specified by:
      getGosuClasspath in interface InfersGosuRuntime
      Returns:
      the classpath to use to load the Gosu compiler.
    • setGosuClasspath

      public void setGosuClasspath(org.gradle.api.file.FileCollection gosuClasspath)
      Specified by:
      setGosuClasspath in interface InfersGosuRuntime
    • 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 by GosuBasePlugin using the SourceDirectorySet.getSourceDirectories() public API.