# Class WindowsResourceCompile

java.lang.Object
org.gradle.api.internal.AbstractTask
org.gradle.api.DefaultTask
org.gradle.language.rc.tasks.WindowsResourceCompile

All Implemented Interfaces:
  `Comparable<Task>, org.gradle.api.internal.DynamicObjectAware, org.gradle.api.internal.TaskInternal, Named, ExtensionAware, Task, Configurable<Task>`

@Incubating @DisableCachingByDefault(because="Not made cacheable, yet") public abstract class WindowsResourceCompile extends DefaultTask
Compiles Windows Resource scripts into .res files.

Since:
  2.2

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from interface Named

  `Named.Namer`

- ## Field Summary

  ### Fields inherited from interface Task

  `TASK_ACTION, TASK_CONSTRUCTOR_ARGS, TASK_DEPENDS_ON, TASK_DESCRIPTION, TASK_GROUP, TASK_NAME, TASK_OVERWRITE, TASK_TYPE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `WindowsResourceCompile()`
  Creates a new `WindowsResourceCompile`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `compile(InputChanges inputs)`
  Compile.
  `abstract ListProperty<String>`
  `getCompilerArgs()`
  Additional arguments to provide to the compiler.
  `protected FileCollection`
  `getHeaderDependencies()`
  The set of dependent headers.
  `abstract ConfigurableFileCollection`
  `getIncludes()`
  Returns the header directories to be used for compilation.
  `abstract org.gradle.language.nativeplatform.internal.incremental.IncrementalCompilerBuilder`
  `getIncrementalCompilerBuilder()`
  `Map<String,String>`
  `getMacros()`
  Macros that should be defined for the compiler.
  `abstract org.gradle.internal.operations.logging.BuildOperationLoggerFactory`
  `getOperationLoggerFactory()`
  `File`
  `getOutputDir()`
  The directory where object files will be generated.
  `abstract ConfigurableFileCollection`
  `getSource()`
  Returns the source files to be compiled.
  `abstract Property<NativePlatform>`
  `getTargetPlatform()`
  The platform being compiled for.
  `abstract Property<NativeToolChain>`
  `getToolChain()`
  The tool chain used for compilation.
  `void`
  `includes(Object includeRoots)`
  Add directories where the compiler should search for header files.
  `void`
  `setMacros(Map<String,String> macros)`
  Sets the macros.
  `void`
  `setOutputDir(File outputDir)`
  Sets the output dir.
  `void`
  `source(Object sourceFiles)`
  Adds a set of source files to be compiled.

  ### Methods inherited from class 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, getLoggingManager, getOnlyIf, getReasonNotToTrackState, getReasonsNotToTrackState, getReasonTaskIsIncompatibleWithConfigurationCache, getRequiredServices, getServices, getSharedResources, getStandardOutputCapture, getTaskActions, getTaskIdentity, getTemporaryDirFactory, hasTaskActions, injectIntoNewInstance, isCompatibleWithConfigurationCache, isEnabled, isHasCustomActions, notCompatibleWithConfigurationCache, prependParallelSafeAction, restoreOnlyIf, restoreTaskActions, service, setImpliesSubProjects`

  ### Methods inherited from class Object

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

  ### Methods inherited from interface Task

  `doNotTrackState, notCompatibleWithConfigurationCache, service`

- ## Constructor Details

  - ### WindowsResourceCompile

    public WindowsResourceCompile()
    Creates a new `WindowsResourceCompile`.
    Since:
      2.2

- ## Method Details

  - ### getIncrementalCompilerBuilder

    @Inject public abstract org.gradle.language.nativeplatform.internal.incremental.IncrementalCompilerBuilder getIncrementalCompilerBuilder()

  - ### getOperationLoggerFactory

    @Inject public abstract org.gradle.internal.operations.logging.BuildOperationLoggerFactory getOperationLoggerFactory()

  - ### compile

    public void compile(InputChanges inputs)
    Compile.
    Since:
      5.4

  - ### getToolChain

    @Internal public abstract Property<NativeToolChain> getToolChain()
    The tool chain used for compilation.
    Since:
      4.7

  - ### getTargetPlatform

    public abstract Property<NativePlatform> getTargetPlatform()
    The platform being compiled for.
    Since:
      4.7

  - ### getOutputDir

    @OutputDirectory public File getOutputDir()
    The directory where object files will be generated.
    Since:
      2.2

  - ### setOutputDir

    public void setOutputDir(File outputDir)
    Sets the output dir.
    Since:
      2.2

  - ### getIncludes

    @Incremental @PathSensitive(RELATIVE) @InputFiles public abstract ConfigurableFileCollection getIncludes()
    Returns the header directories to be used for compilation.
    Since:
      2.2

  - ### includes

    public void includes(Object includeRoots)
    Add directories where the compiler should search for header files.
    Since:
      2.2

  - ### getSource

    @InputFiles @SkipWhenEmpty @IgnoreEmptyDirectories @PathSensitive(RELATIVE) public abstract ConfigurableFileCollection getSource()
    Returns the source files to be compiled.
    Since:
      2.2

  - ### source

    public void source(Object sourceFiles)
    Adds a set of source files to be compiled. The provided sourceFiles object is evaluated as per `Project.files(Object...)`.
    Since:
      2.2

  - ### getMacros

    @Input public Map<String,String> getMacros()
    Macros that should be defined for the compiler.
    Since:
      2.2

  - ### setMacros

    public void setMacros(Map<String,String> macros)
    Sets the macros.
    Since:
      2.2

  - ### getCompilerArgs

    @Input public abstract ListProperty<String> getCompilerArgs()
    Additional arguments to provide to the compiler.
    Since:
      5.1

  - ### getHeaderDependencies

    @Incremental @InputFiles @PathSensitive(NAME_ONLY) protected FileCollection getHeaderDependencies()
    The set of dependent headers. This is used for up-to-date checks only.
    Since:
      4.5