AbstractNativeCompileTask (Gradle API 2.14.1)

Package: org.gradle.language.nativeplatform.tasks

## [Java] Class AbstractNativeCompileTask

- org.gradle.language.nativeplatform.tasks.AbstractNativeCompileTask

- Compiles native source files into object files.

- - Inherited fields
    Fields inherited from class | Fields
    --- | ---
    `class org.gradle.api.internal.AbstractTask` | `TASK_NAME, TASK_DESCRIPTION, TASK_GROUP, TASK_TYPE, TASK_DEPENDS_ON, TASK_OVERWRITE, TASK_ACTION`

  - ### Constructor Summary

    Constructors
    Constructor and description
    `AbstractNativeCompileTask ()`

  - ### Methods Summary

    Methods
    Type | Name and description
    --- | ---
    `void` | `compile(IncrementalTaskInputs inputs)`
    `protected void` | `configureSpec(org.gradle.nativeplatform.toolchain.internal.NativeCompileSpec spec)`
    `protected org.gradle.nativeplatform.toolchain.internal.NativeCompileSpec` | `createCompileSpec()`
    `List<String>` | `getCompilerArgs()` Additional arguments to provide to the compiler.
    `FileCollection` | `getIncludes()` Returns the header directories to be used for compilation.
    `org.gradle.language.nativeplatform.internal.incremental.IncrementalCompilerBuilder` | `getIncrementalCompilerBuilder()`
    `Map<String, String>` | `getMacros()` Macros that should be defined for the compiler.
    `File` | `getObjectFileDir()` The directory where object files will be generated.
    `org.gradle.internal.operations.logging.BuildOperationLoggerFactory` | `getOperationLoggerFactory()`
    `FileCollection` | `getSource()` Returns the source files to be compiled.
    `NativePlatform` | `getTargetPlatform()` The platform being targeted.
    `NativeToolChain` | `getToolChain()` The tool chain used for compilation.
    `void` | `includes(Object includeRoots)` Add directories where the compiler should search for header files.
    `boolean` | `isPositionIndependentCode()` Should the compiler generate position independent code?
    `void` | `setCompilerArgs(List<String> compilerArgs)`
    `void` | `setMacros(Map<String, String> macros)`
    `void` | `setObjectFileDir(File objectFileDir)`
    `void` | `setPositionIndependentCode(boolean positionIndependentCode)`
    `void` | `setTargetPlatform(NativePlatform targetPlatform)`
    `void` | `setToolChain(NativeToolChain toolChain)`
    `void` | `source(Object sourceFiles)` Adds a set of source files to be compiled.

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class org.gradle.api.internal.AbstractTask` | `org.gradle.api.internal.AbstractTask#setProperty(java.lang.String, java.lang.Object), org.gradle.api.internal.AbstractTask#toString(), org.gradle.api.internal.AbstractTask#compareTo(org.gradle.api.Task), org.gradle.api.internal.AbstractTask#compareTo(java.lang.Object), org.gradle.api.internal.AbstractTask#getName(), org.gradle.api.internal.AbstractTask#getActions(), org.gradle.api.internal.AbstractTask#setName(java.lang.String), org.gradle.api.internal.AbstractTask#getState(), org.gradle.api.internal.AbstractTask#getState(), org.gradle.api.internal.AbstractTask#getPath(), org.gradle.api.internal.AbstractTask#getExtensions(), org.gradle.api.internal.AbstractTask#getLogger(), org.gradle.api.internal.AbstractTask#execute(), org.gradle.api.internal.AbstractTask#configure(groovy.lang.Closure), org.gradle.api.internal.AbstractTask#configure(groovy.lang.Closure), org.gradle.api.internal.AbstractTask#getDescription(), org.gradle.api.internal.AbstractTask#leftShift(groovy.lang.Closure), org.gradle.api.internal.AbstractTask#property(java.lang.String), org.gradle.api.internal.AbstractTask#isEnabled(), org.gradle.api.internal.AbstractTask#setEnabled(boolean), org.gradle.api.internal.AbstractTask#getOutputs(), org.gradle.api.internal.AbstractTask#getOutputs(), org.gradle.api.internal.AbstractTask#onlyIf(org.gradle.api.specs.Spec), org.gradle.api.internal.AbstractTask#onlyIf(groovy.lang.Closure), org.gradle.api.internal.AbstractTask#setOnlyIf(org.gradle.api.specs.Spec), org.gradle.api.internal.AbstractTask#setOnlyIf(groovy.lang.Closure), org.gradle.api.internal.AbstractTask#setDidWork(boolean), org.gradle.api.internal.AbstractTask#getDidWork(), org.gradle.api.internal.AbstractTask#doFirst(org.gradle.api.Action), org.gradle.api.internal.AbstractTask#doFirst(groovy.lang.Closure), org.gradle.api.internal.AbstractTask#doLast(org.gradle.api.Action), org.gradle.api.internal.AbstractTask#doLast(groovy.lang.Closure), org.gradle.api.internal.AbstractTask#deleteAllActions(), org.gradle.api.internal.AbstractTask#getEnabled(), org.gradle.api.internal.AbstractTask#getAnt(), org.gradle.api.internal.AbstractTask#getLogging(), org.gradle.api.internal.AbstractTask#getLogging(), org.gradle.api.internal.AbstractTask#hasProperty(java.lang.String), org.gradle.api.internal.AbstractTask#getConvention(), org.gradle.api.internal.AbstractTask#setDescription(java.lang.String), org.gradle.api.internal.AbstractTask#getGroup(), org.gradle.api.internal.AbstractTask#setGroup(java.lang.String), org.gradle.api.internal.AbstractTask#getTaskDependencies(), org.gradle.api.internal.AbstractTask#getTaskDependencies(), org.gradle.api.internal.AbstractTask#setDependsOn(java.lang.Iterable), org.gradle.api.internal.AbstractTask#dependsOn([Ljava.lang.Object;), org.gradle.api.internal.AbstractTask#getProject(), org.gradle.api.internal.AbstractTask#setActions(java.util.List), org.gradle.api.internal.AbstractTask#getDependsOn(), org.gradle.api.internal.AbstractTask#dependsOnTaskDidWork(), org.gradle.api.internal.AbstractTask#getInputs(), org.gradle.api.internal.AbstractTask#getTemporaryDir(), org.gradle.api.internal.AbstractTask#mustRunAfter([Ljava.lang.Object;), org.gradle.api.internal.AbstractTask#setMustRunAfter(java.lang.Iterable), org.gradle.api.internal.AbstractTask#getMustRunAfter(), org.gradle.api.internal.AbstractTask#finalizedBy([Ljava.lang.Object;), org.gradle.api.internal.AbstractTask#setFinalizedBy(java.lang.Iterable), org.gradle.api.internal.AbstractTask#getFinalizedBy(), org.gradle.api.internal.AbstractTask#shouldRunAfter([Ljava.lang.Object;), org.gradle.api.internal.AbstractTask#setShouldRunAfter(java.lang.Iterable), org.gradle.api.internal.AbstractTask#getShouldRunAfter(), org.gradle.api.internal.AbstractTask#getStandardOutputCapture(), org.gradle.api.internal.AbstractTask#getAsDynamicObject(), org.gradle.api.internal.AbstractTask#setProject(org.gradle.api.Project), org.gradle.api.internal.AbstractTask#injectIntoNewInstance(org.gradle.api.internal.project.ProjectInternal, java.lang.String, java.lang.Class, java.util.concurrent.Callable), org.gradle.api.internal.AbstractTask#prependParallelSafeAction(org.gradle.api.Action), org.gradle.api.internal.AbstractTask#getOnlyIf(), org.gradle.api.internal.AbstractTask#getImpliesSubProjects(), org.gradle.api.internal.AbstractTask#setImpliesSubProjects(boolean), org.gradle.api.internal.AbstractTask#getExecuter(), org.gradle.api.internal.AbstractTask#setExecuter(org.gradle.api.internal.tasks.TaskExecuter), org.gradle.api.internal.AbstractTask#getTemporaryDirFactory(), org.gradle.api.internal.AbstractTask#addValidator(org.gradle.api.internal.tasks.execution.TaskValidator), org.gradle.api.internal.AbstractTask#getValidators(), org.gradle.api.internal.AbstractTask#appendParallelSafeAction(org.gradle.api.Action), org.gradle.api.internal.AbstractTask#isHasCustomActions(), org.gradle.api.internal.AbstractTask#getTaskActions(), org.gradle.api.internal.AbstractTask#wait(long, int), org.gradle.api.internal.AbstractTask#wait(long), org.gradle.api.internal.AbstractTask#wait(), org.gradle.api.internal.AbstractTask#equals(java.lang.Object), org.gradle.api.internal.AbstractTask#hashCode(), org.gradle.api.internal.AbstractTask#getClass(), org.gradle.api.internal.AbstractTask#notify(), org.gradle.api.internal.AbstractTask#notifyAll()`

- - ### Constructor Detail

    - #### public AbstractNativeCompileTask()

  - ### Method Detail

    - #### @TaskAction public void compile(IncrementalTaskInputs inputs)

    - #### protected void configureSpec(org.gradle.nativeplatform.toolchain.internal.NativeCompileSpec spec)

    - #### protected org.gradle.nativeplatform.toolchain.internal.NativeCompileSpec createCompileSpec()

    - #### @Input public List<String> getCompilerArgs()

      Additional arguments to provide to the compiler.

    - #### @Input public FileCollection getIncludes()

      Returns the header directories to be used for compilation.

    - #### @javax.inject.Inject public org.gradle.language.nativeplatform.internal.incremental.IncrementalCompilerBuilder getIncrementalCompilerBuilder()

    - #### @Input public Map<String, String> getMacros()

      Macros that should be defined for the compiler.

    - #### @OutputDirectory public File getObjectFileDir()

      The directory where object files will be generated.

    - #### @javax.inject.Inject public org.gradle.internal.operations.logging.BuildOperationLoggerFactory getOperationLoggerFactory()

    - #### @InputFiles public FileCollection getSource()

      Returns the source files to be compiled.

    - #### public NativePlatform getTargetPlatform()

      The platform being targeted.

    - #### public NativeToolChain getToolChain()

      The tool chain used for compilation.

    - #### public void includes(Object includeRoots)

      Add directories where the compiler should search for header files.

    - #### @Input public boolean isPositionIndependentCode()

      Should the compiler generate position independent code?

    - #### public void setCompilerArgs(List<String> compilerArgs)

    - #### public void setMacros(Map<String, String> macros)

    - #### public void setObjectFileDir(File objectFileDir)

    - #### public void setPositionIndependentCode(boolean positionIndependentCode)

    - #### public void setTargetPlatform(NativePlatform targetPlatform)

    - #### public void setToolChain(NativeToolChain toolChain)

    - #### public void source(Object sourceFiles)

      Adds a set of source files to be compiled. The provided sourceFiles object is evaluated as per Project.files.