Class AbstractNativeCompileTask
- java.lang.Object
-
- org.gradle.api.internal.AbstractTask
-
- org.gradle.api.DefaultTask
-
- org.gradle.language.nativeplatform.tasks.AbstractNativeCompileTask
-
- All Implemented Interfaces:
java.lang.Comparable<Task>
,org.gradle.api.internal.DynamicObjectAware
,org.gradle.api.internal.TaskInternal
,Named
,ExtensionAware
,Task
,Configurable<Task>
- Direct Known Subclasses:
AbstractNativePCHCompileTask
,AbstractNativeSourceCompileTask
@DisableCachingByDefault(because="Abstract super-class, not to be instantiated directly") public abstract class AbstractNativeCompileTask extends DefaultTask
Compiles native source files into object files.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.gradle.api.Task
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 AbstractNativeCompileTask()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
compile(InputChanges inputs)
protected void
configureSpec(org.gradle.nativeplatform.toolchain.internal.NativeCompileSpec spec)
protected abstract org.gradle.nativeplatform.toolchain.internal.NativeCompileSpec
createCompileSpec()
ListProperty<java.lang.String>
getCompilerArgs()
Additional arguments to provide to the compiler.protected org.gradle.api.internal.file.FileCollectionFactory
getFileCollectionFactory()
protected FileCollection
getHeaderDependencies()
The set of dependent headers.ConfigurableFileCollection
getIncludes()
Returns the header directories to be used for compilation.protected org.gradle.language.nativeplatform.internal.incremental.IncrementalCompilerBuilder
getIncrementalCompilerBuilder()
java.util.Map<java.lang.String,java.lang.String>
getMacros()
Macros that should be defined for the compiler.DirectoryProperty
getObjectFileDir()
The directory where object files will be generated.protected org.gradle.internal.operations.logging.BuildOperationLoggerFactory
getOperationLoggerFactory()
ConfigurableFileCollection
getSource()
Returns the source files to be compiled.ConfigurableFileCollection
getSystemIncludes()
Returns the system include directories to be used for compilation.Property<NativePlatform>
getTargetPlatform()
The platform being compiled for.protected org.gradle.api.internal.file.TaskFileVarFactory
getTaskFileVarFactory()
Property<NativeToolChain>
getToolChain()
The tool chain used for compilation.void
includes(java.lang.Object includeRoots)
Add directories where the compiler should search for header files.boolean
isDebuggable()
Should the compiler generate debuggable code?boolean
isOptimized()
Should the compiler generate optimized code?boolean
isPositionIndependentCode()
Should the compiler generate position independent code?void
setDebuggable(boolean debug)
Should the compiler generate debuggable code?void
setMacros(java.util.Map<java.lang.String,java.lang.String> macros)
void
setOptimized(boolean optimize)
Should the compiler generate optimized code?void
setPositionIndependentCode(boolean positionIndependentCode)
void
source(java.lang.Object sourceFiles)
Adds a set of source files to be compiled.-
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
-
-
-
-
Method Detail
-
getTaskFileVarFactory
@Inject protected org.gradle.api.internal.file.TaskFileVarFactory getTaskFileVarFactory()
-
getIncrementalCompilerBuilder
@Inject protected org.gradle.language.nativeplatform.internal.incremental.IncrementalCompilerBuilder getIncrementalCompilerBuilder()
-
getOperationLoggerFactory
@Inject protected org.gradle.internal.operations.logging.BuildOperationLoggerFactory getOperationLoggerFactory()
-
getFileCollectionFactory
@Inject protected org.gradle.api.internal.file.FileCollectionFactory getFileCollectionFactory()
-
compile
protected void compile(InputChanges inputs)
-
configureSpec
protected void configureSpec(org.gradle.nativeplatform.toolchain.internal.NativeCompileSpec spec)
-
createCompileSpec
protected abstract org.gradle.nativeplatform.toolchain.internal.NativeCompileSpec createCompileSpec()
-
getToolChain
@Internal public Property<NativeToolChain> getToolChain()
The tool chain used for compilation.- Since:
- 4.7
-
getTargetPlatform
public Property<NativePlatform> getTargetPlatform()
The platform being compiled for.- Since:
- 4.7
-
isPositionIndependentCode
@Input public boolean isPositionIndependentCode()
Should the compiler generate position independent code?
-
setPositionIndependentCode
public void setPositionIndependentCode(boolean positionIndependentCode)
-
isDebuggable
@Input public boolean isDebuggable()
Should the compiler generate debuggable code?- Since:
- 4.3
-
setDebuggable
public void setDebuggable(boolean debug)
Should the compiler generate debuggable code?- Since:
- 4.3
-
isOptimized
@Input public boolean isOptimized()
Should the compiler generate optimized code?- Since:
- 4.3
-
setOptimized
public void setOptimized(boolean optimize)
Should the compiler generate optimized code?- Since:
- 4.3
-
getObjectFileDir
@OutputDirectory public DirectoryProperty getObjectFileDir()
The directory where object files will be generated.- Since:
- 4.3
-
getIncludes
@Internal("The paths for include directories are tracked via the includePaths property, the contents are tracked via discovered inputs") public ConfigurableFileCollection getIncludes()
Returns the header directories to be used for compilation.
-
includes
public void includes(java.lang.Object includeRoots)
Add directories where the compiler should search for header files.
-
getSystemIncludes
@Internal("The paths for include directories are tracked via the includePaths property, the contents are tracked via discovered inputs") public ConfigurableFileCollection getSystemIncludes()
Returns the system include directories to be used for compilation.- Since:
- 4.8
-
getSource
@InputFiles @SkipWhenEmpty @IgnoreEmptyDirectories @PathSensitive(RELATIVE) public ConfigurableFileCollection getSource()
Returns the source files to be compiled.
-
source
public void source(java.lang.Object sourceFiles)
Adds a set of source files to be compiled. The provided sourceFiles object is evaluated as perProject.files(Object...)
.
-
getMacros
@Input public java.util.Map<java.lang.String,java.lang.String> getMacros()
Macros that should be defined for the compiler.
-
setMacros
public void setMacros(java.util.Map<java.lang.String,java.lang.String> macros)
-
getCompilerArgs
@Input public ListProperty<java.lang.String> getCompilerArgs()
Additional arguments to provide to the compiler.- Since:
- 4.3
-
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.3
-
-