Class AbstractNativeCompileTask
- java.lang.Object
-
- org.gradle.api.internal.AbstractTask
-
- org.gradle.api.DefaultTask
-
- org.gradle.language.nativeplatform.tasks.AbstractNativeCompileTask
-
- All Implemented Interfaces:
Comparable<Task>,org.gradle.api.internal.DynamicObjectAware,org.gradle.api.internal.TaskInternal,ExtensionAware,Task,org.gradle.util.Configurable<Task>
- Direct Known Subclasses:
AbstractNativePCHCompileTask,AbstractNativeSourceCompileTask
@Incubating 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_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 voidcompile(IncrementalTaskInputs inputs)protected voidconfigureSpec(org.gradle.nativeplatform.toolchain.internal.NativeCompileSpec spec)protected abstract org.gradle.nativeplatform.toolchain.internal.NativeCompileSpeccreateCompileSpec()ListProperty<String>getCompilerArgs()Additional arguments to provide to the compiler.protected org.gradle.api.internal.file.FileCollectionFactorygetFileCollectionFactory()protected FileCollectiongetHeaderDependencies()The set of dependent headers, read fromgetHeaderDependenciesFile()}.RegularFilePropertygetHeaderDependenciesFile()The file containing the header dependency analysis.protected Collection<String>getIncludePaths()ConfigurableFileCollectiongetIncludes()Returns the header directories to be used for compilation.protected org.gradle.language.nativeplatform.internal.incremental.IncrementalCompilerBuildergetIncrementalCompilerBuilder()Map<String,String>getMacros()Macros that should be defined for the compiler.DirectoryPropertygetObjectFileDir()The directory where object files will be generated.protected org.gradle.internal.operations.logging.BuildOperationLoggerFactorygetOperationLoggerFactory()ConfigurableFileCollectiongetSource()Returns the source files to be compiled.NativePlatformgetTargetPlatform()The platform being targeted.NativeToolChaingetToolChain()The tool chain used for compilation.voidincludes(Object includeRoots)Add directories where the compiler should search for header files.booleanisDebuggable()Should the compiler generate debuggable code?booleanisOptimized()Should the compiler generate optimized code?booleanisPositionIndependentCode()Should the compiler generate position independent code?voidsetDebuggable(boolean debug)Should the compiler generate debuggable code?voidsetMacros(Map<String,String> macros)voidsetOptimized(boolean optimize)Should the compiler generate optimized code?voidsetPositionIndependentCode(boolean positionIndependentCode)voidsetTargetPlatform(NativePlatform targetPlatform)voidsetToolChain(NativeToolChain toolChain)voidsource(Object sourceFiles)Adds a set of source files to be compiled.-
Methods inherited from class org.gradle.api.DefaultTask
newInputDirectory, newInputFile, newOutputDirectory, newOutputFile
-
Methods inherited from class org.gradle.api.internal.AbstractTask
addValidator, appendParallelSafeAction, compareTo, configure, deleteAllActions, dependsOn, dependsOnTaskDidWork, doFirst, doFirst, doFirst, doLast, doLast, doLast, execute, finalizedBy, getActions, getAnt, getAsDynamicObject, getConvention, getDependsOn, getDescription, getDestroyables, getDidWork, getEnabled, getExecuter, getExtensions, getFinalizedBy, getGroup, getIdentityPath, getImpliesSubProjects, getInputs, getLocalState, getLogger, getLogging, getMustRunAfter, getName, getOnlyIf, getOutputs, getPath, getProject, getServices, getShouldRunAfter, getStandardOutputCapture, getState, getTaskActions, getTaskDependencies, getTemporaryDir, getTemporaryDirFactory, getValidators, hasProperty, injectIntoNewInstance, isEnabled, isHasCustomActions, leftShift, mustRunAfter, onlyIf, onlyIf, prependParallelSafeAction, property, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setExecuter, setFinalizedBy, setGroup, setImpliesSubProjects, setMustRunAfter, setOnlyIf, setOnlyIf, setProperty, setShouldRunAfter, shouldRunAfter, toString
-
-
-
-
Method Detail
-
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
public void compile(IncrementalTaskInputs 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 NativeToolChain getToolChain()
The tool chain used for compilation.
-
setToolChain
public void setToolChain(NativeToolChain toolChain)
-
getTargetPlatform
public NativePlatform getTargetPlatform()
The platform being targeted.
-
setTargetPlatform
public void setTargetPlatform(NativePlatform targetPlatform)
-
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.
-
getIncludePaths
@Input @Optional protected Collection<String> getIncludePaths()
-
includes
public void includes(Object includeRoots)
Add directories where the compiler should search for header files.
-
getSource
@InputFiles @PathSensitive(RELATIVE) public ConfigurableFileCollection getSource()
Returns the source files to be compiled.
-
source
public void source(Object sourceFiles)
Adds a set of source files to be compiled. The provided sourceFiles object is evaluated as perProject.files(Object...).
-
getMacros
@Input public Map<String,String> getMacros()
Macros that should be defined for the compiler.
-
getCompilerArgs
@Input public ListProperty<String> getCompilerArgs()
Additional arguments to provide to the compiler.- Since:
- 4.3
-
getHeaderDependenciesFile
@Internal public RegularFileProperty getHeaderDependenciesFile()
The file containing the header dependency analysis.- Since:
- 4.3
-
getHeaderDependencies
@Optional @InputFiles @PathSensitive(NAME_ONLY) protected FileCollection getHeaderDependencies()
The set of dependent headers, read fromgetHeaderDependenciesFile()}. This is used for up-to-date checks only.- Since:
- 4.3
-
-