# CCompile

@Incubating
@CacheableTask
abstract class CCompile : AbstractNativeSourceCompileTask(source)

Compiles C source files into object files.

## Constructors

CCompile
Link copied to clipboard
constructor()

## Properties

description
Link copied to clipboard
@get:Nullable
open var description: @Nullable String
enabled
Link copied to clipboard
open var enabled: Boolean
extra
Link copied to clipboard
val ExtensionAware.extra: ExtraPropertiesExtension

The extra properties extension in this object's extension container.

group
Link copied to clipboard
@get:Nullable
open var group: @Nullable String
impliesSubProjects
Link copied to clipboard
open var impliesSubProjects: Boolean
macros
Link copied to clipboard
@get:Input
var macros: Map<String, String>
preCompiledHeader
Link copied to clipboard
@get:Nullable
@get:Optional
@get:Incubating
@set:Incubating
open var preCompiledHeader: PreCompiledHeader
source
Link copied to clipboard
@get:InputFiles
@get:SkipWhenEmpty
@get:IgnoreEmptyDirectories
@get:PathSensitive(value = PathSensitivity.RELATIVE)
val source: ConfigurableFileCollection
state
Link copied to clipboard
val state: TaskStateInternal
TASK_ACTION
Link copied to clipboard
val TASK_ACTION: String = "action"
TASK_CONSTRUCTOR_ARGS
Link copied to clipboard
val TASK_CONSTRUCTOR_ARGS: String = "constructorArgs"
Constructor arguments for the Task
TASK_DEPENDS_ON
Link copied to clipboard
val TASK_DEPENDS_ON: String = "dependsOn"
TASK_DESCRIPTION
Link copied to clipboard
val TASK_DESCRIPTION: String = "description"
TASK_GROUP
Link copied to clipboard
val TASK_GROUP: String = "group"
TASK_NAME
Link copied to clipboard
val TASK_NAME: String = "name"
TASK_OVERWRITE
Link copied to clipboard
val TASK_OVERWRITE: String = "overwrite"
TASK_TYPE
Link copied to clipboard
val TASK_TYPE: String = "type"
timeout
Link copied to clipboard
val timeout: Property<Duration>

## Functions

acceptServiceReferences
Link copied to clipboard
open fun acceptServiceReferences(serviceReferences: Set<ServiceReferenceSpec>)
appendParallelSafeAction
Link copied to clipboard
open fun appendParallelSafeAction(action: Action<in Task>)
compareTo
Link copied to clipboard
open fun compareTo(otherTask: Task): Int
open fun compareTo(otherTask: Task): Int
configure
Link copied to clipboard
open fun configure(closure: Closure): Task
abstract fun configure(configureClosure: Closure): Task
open fun configure(closure: Closure): Task
Applies the statements of the closure against this task object.
abstract fun configure(cl: Closure): T
configure
Link copied to clipboard
inline fun <T : Any> ExtensionAware.configure(noinline configuration: T.() -> Unit)

Executes the given configuration block against the extension of the specified type.

dependsOn
Link copied to clipboard
open fun dependsOn(paths: Array<Any>): Task
open fun dependsOn(paths: Array<Any>): Task
Adds the given dependencies to this task.
doFirst
Link copied to clipboard
open fun doFirst(action: Closure): Task
abstract fun doFirst(@DelegatesTo(value = Task::class) action: Closure): Task
Adds the given closure to the beginning of this task's action list.
open fun doFirst(action: Action<in Task>): Task
open fun doFirst(actionName: String, action: Action<in Task>): Task
open fun doFirst(action: Action<in Task>): Task
Adds the given Action to the beginning of this task's action list.
doLast
Link copied to clipboard
open fun doLast(action: Closure): Task
abstract fun doLast(@DelegatesTo(value = Task::class) action: Closure): Task
Adds the given closure to the end of this task's action list.
open fun doLast(action: Action<in Task>): Task
open fun doLast(actionName: String, action: Action<in Task>): Task
open fun doLast(action: Action<in Task>): Task
Adds the given Action to the end of this task's action list.
doNotTrackState
Link copied to clipboard
abstract fun doNotTrackState(reasonNotToTrackState: String)
open fun doNotTrackState(reasonNotToTrackState: String)
Do not track the state of the task.
doNotTrackStateIf
Link copied to clipboard
open fun doNotTrackStateIf(reason: String, spec: Spec<in TaskInternal>)
finalizedBy
Link copied to clipboard
open fun finalizedBy(paths: Array<Any>): Task
open fun finalizedBy(paths: Array<Any>): Task
Adds the given finalizer tasks for this task.
getActions
Link copied to clipboard
open fun getActions(): List<Action<in Task>>
open fun getActions(): List<Action<in Task>>
Returns the sequence of Action objects which will be executed by this task, in the order of execution.
getAnt
Link copied to clipboard
open fun getAnt(): AntBuilder
open fun getAnt(): AntBuilder
Returns the `AntBuilder` for this task.
getAsDynamicObject
Link copied to clipboard
open fun getAsDynamicObject(): DynamicObject
getCompilerArgs
Link copied to clipboard
@Input
abstract fun getCompilerArgs(): ListProperty<String>
Additional arguments to provide to the compiler.
getDependsOn
Link copied to clipboard
open fun getDependsOn(): Set<Any>
open fun getDependsOn(): Set<Any>
Returns the dependencies of this task.
getDestroyables
Link copied to clipboard
open fun getDestroyables(): TaskDestroyables
open fun getDestroyables(): TaskDestroyables
Returns the destroyables of this task.
getDidWork
Link copied to clipboard
open fun getDidWork(): Boolean
open fun getDidWork(): Boolean
Checks if the task actually did any work.
getExtensions
Link copied to clipboard
open fun getExtensions(): ExtensionContainer
open fun getExtensions(): ExtensionContainer
The container of extensions.
getFinalizedBy
Link copied to clipboard
open fun getFinalizedBy(): TaskDependency
open fun getFinalizedBy(): TaskDependency
Returns tasks that finalize this task.
getIdentityPath
Link copied to clipboard
open fun getIdentityPath(): Path
getIncludes
Link copied to clipboard
@Internal(value = "The paths for include directories are tracked via the includePaths property, the contents are tracked via discovered inputs")
abstract fun getIncludes(): ConfigurableFileCollection
Returns the header directories to be used for compilation.
getInputs
Link copied to clipboard
open fun getInputs(): TaskInputsInternal
@Internal
abstract fun getInputs(): TaskInputs
open fun getInputs(): TaskInputsInternal
Returns the inputs of this task.
getLifecycleDependencies
Link copied to clipboard
open fun getLifecycleDependencies(): TaskDependencyInternal
abstract fun getLifecycleDependencies(): TaskDependency
getLocalState
Link copied to clipboard
open fun getLocalState(): TaskLocalState
open fun getLocalState(): TaskLocalState
Returns the local state of this task.
getLogger
Link copied to clipboard
open fun getLogger(): Logger
open fun getLogger(): Logger
Returns the logger for this task.
getLogging
Link copied to clipboard
open fun getLogging(): LoggingManager
open fun getLogging(): LoggingManager
Returns the org.gradle.api.logging.LoggingManager which can be used to receive logging and to control the standard output/error capture for this task.
getMustRunAfter
Link copied to clipboard
open fun getMustRunAfter(): TaskDependency
open fun getMustRunAfter(): TaskDependency
Returns tasks that this task must run after.
getName
Link copied to clipboard
open fun getName(): String
open fun getName(): String
Returns the name of this task.
getObjectFileDir
Link copied to clipboard
@OutputDirectory
abstract fun getObjectFileDir(): DirectoryProperty
The directory where object files will be generated.
getOnlyIf
Link copied to clipboard
open fun getOnlyIf(): Spec<in TaskInternal>
getOutputs
Link copied to clipboard
open fun getOutputs(): TaskOutputsInternal
@Internal
abstract fun getOutputs(): TaskOutputs
open fun getOutputs(): TaskOutputsInternal
Returns the outputs of this task.
getPath
Link copied to clipboard
open fun getPath(): String
open fun getPath(): String
Returns the path of the task, which is a fully qualified name for the task.
getProject
Link copied to clipboard
open fun getProject(): Project
open fun getProject(): Project
Returns the Project which this task belongs to.
getReasonNotToTrackState
Link copied to clipboard
open fun getReasonNotToTrackState(): Optional<String>
getReasonsNotToTrackState
Link copied to clipboard
open fun getReasonsNotToTrackState(): Set<String>
getReasonTaskIsIncompatibleWithConfigurationCache
Link copied to clipboard
open fun getReasonTaskIsIncompatibleWithConfigurationCache(): Optional<String>
getRequiredServices
Link copied to clipboard
open fun getRequiredServices(): TaskRequiredServices
getSharedResources
Link copied to clipboard
open fun getSharedResources(): List<ResourceLock>
abstract fun getSharedResources(): List<out ResourceLock>
getShouldRunAfter
Link copied to clipboard
open fun getShouldRunAfter(): TaskDependency
open fun getShouldRunAfter(): TaskDependency
Returns tasks that this task should run after.
getStandardOutputCapture
Link copied to clipboard
open fun getStandardOutputCapture(): StandardOutputCapture
getState
Link copied to clipboard
@Internal
abstract fun getState(): TaskState
Returns the execution state of this task.
getSystemIncludes
Link copied to clipboard
@Internal(value = "The paths for include directories are tracked via the includePaths property, the contents are tracked via discovered inputs")
abstract fun getSystemIncludes(): ConfigurableFileCollection
Returns the system include directories to be used for compilation.
getTargetPlatform
Link copied to clipboard
abstract fun getTargetPlatform(): Property<NativePlatform>
The platform being compiled for.
getTaskActions
Link copied to clipboard
open fun getTaskActions(): List<InputChangesAwareTaskAction>
getTaskDependencies
Link copied to clipboard
open fun getTaskDependencies(): TaskDependencyInternal
@Internal
abstract fun getTaskDependencies(): TaskDependency
open fun getTaskDependencies(): TaskDependencyInternal
Returns a TaskDependency which contains all the tasks that this task depends on.
getTaskIdentity
Link copied to clipboard
open fun getTaskIdentity(): TaskIdentity<out Any>
getTemporaryDir
Link copied to clipboard
open fun getTemporaryDir(): File
open fun getTemporaryDir(): File
Returns a directory which this task can use to write temporary files to.
getTemporaryDirFactory
Link copied to clipboard
open fun getTemporaryDirFactory(): Factory<File>
getToolChain
Link copied to clipboard
@Internal
abstract fun getToolChain(): Property<NativeToolChain>
The tool chain used for compilation.
hasProperty
Link copied to clipboard
open fun hasProperty(propertyName: String): Boolean
open fun hasProperty(propertyName: String): Boolean
Determines if this task has the given property.
hasTaskActions
Link copied to clipboard
open fun hasTaskActions(): Boolean
includes
Link copied to clipboard
open fun includes(includeRoots: Any)
Add directories where the compiler should search for header files.
injectIntoNewInstance
Link copied to clipboard
open fun <T : Task?> injectIntoNewInstance(project: ProjectInternal, identity: TaskIdentity<T>, factory: Callable<T>): T
isCompatibleWithConfigurationCache
Link copied to clipboard
open fun isCompatibleWithConfigurationCache(): Boolean
isDebuggable
Link copied to clipboard
@Input
open fun isDebuggable(): Boolean
Should the compiler generate debuggable code?
isEnabled
Link copied to clipboard
open fun isEnabled(): Boolean
isHasCustomActions
Link copied to clipboard
open fun isHasCustomActions(): Boolean
isOptimized
Link copied to clipboard
@Input
open fun isOptimized(): Boolean
Should the compiler generate optimized code?
isPositionIndependentCode
Link copied to clipboard
@Input
open fun isPositionIndependentCode(): Boolean
Should the compiler generate position independent code?
mustRunAfter
Link copied to clipboard
open fun mustRunAfter(paths: Array<Any>): Task
open fun mustRunAfter(paths: Array<Any>): Task
Specifies that this task must run after all of the supplied tasks.
notCompatibleWithConfigurationCache
Link copied to clipboard
abstract fun notCompatibleWithConfigurationCache(reason: String)
open fun notCompatibleWithConfigurationCache(reason: String)
Specifies that this task is not compatible with the configuration cache.
onlyIf
Link copied to clipboard
open fun onlyIf(onlyIfClosure: Closure)
abstract fun onlyIf(onlyIfClosure: Closure<out Any>)
open fun onlyIf(onlyIfClosure: Closure)
Execute the task only if the given closure returns true.
open fun onlyIf(spec: Spec<in Task>)
open fun onlyIf(onlyIfReason: String, spec: Spec<in Task>)
abstract fun onlyIf(onlyIfSpec: Spec<in Task>)
@Incubating
abstract fun onlyIf(onlyIfReason: String, onlyIfSpec: Spec<in Task>)
Execute the task only if the given spec is satisfied.
prependParallelSafeAction
Link copied to clipboard
open fun prependParallelSafeAction(action: Action<in Task>)
property
Link copied to clipboard
open fun property(propertyName: String): Any
open fun property(propertyName: String): Any
Returns the value of the given property of this task.
restoreOnlyIf
Link copied to clipboard
open fun restoreOnlyIf(onlyIf: Spec<in TaskInternal>)
restoreTaskActions
Link copied to clipboard
open fun restoreTaskActions(taskActions: List<InputChangesAwareTaskAction>)
setActions
Link copied to clipboard
open fun setActions(replacements: List<Action<in Task>>)
abstract fun setActions(actions: List<Action<in Task>>)
open fun setActions(replacements: List<Action<in Task>>)
Sets the sequence of Action objects which will be executed by this task.
setDebuggable
Link copied to clipboard
open fun setDebuggable(debug: Boolean)
Should the compiler generate debuggable code?
setDependsOn
Link copied to clipboard
open fun setDependsOn(dependsOn: Iterable<out Any>)
abstract fun setDependsOn(dependsOnTasks: Iterable<out Any>)
open fun setDependsOn(dependsOn: Iterable<out Any>)
Sets the dependencies of this task.
setDidWork
Link copied to clipboard
open fun setDidWork(didWork: Boolean)
open fun setDidWork(didWork: Boolean)
Sets whether the task actually did any work.
setFinalizedBy
Link copied to clipboard
open fun setFinalizedBy(finalizedByTasks: Iterable<out Any>)
abstract fun setFinalizedBy(finalizedBy: Iterable<out Any>)
open fun setFinalizedBy(finalizedByTasks: Iterable<out Any>)
Specifies the set of finalizer tasks for this task.
setMustRunAfter
Link copied to clipboard
open fun setMustRunAfter(mustRunAfterTasks: Iterable<out Any>)
abstract fun setMustRunAfter(mustRunAfter: Iterable<out Any>)
open fun setMustRunAfter(mustRunAfterTasks: Iterable<out Any>)
Specifies the set of tasks that this task must run after.
setOnlyIf
Link copied to clipboard
open fun setOnlyIf(onlyIfClosure: Closure)
abstract fun setOnlyIf(onlyIfClosure: Closure<out Any>)
Execute the task only if the given closure returns true.
open fun setOnlyIf(spec: Spec<in Task>)
open fun setOnlyIf(onlyIfReason: String, spec: Spec<in Task>)
abstract fun setOnlyIf(onlyIfSpec: Spec<in Task>)
@Incubating
abstract fun setOnlyIf(onlyIfReason: String, onlyIfSpec: Spec<in Task>)
open fun setOnlyIf(spec: Spec<in Task>)
Execute the task only if the given spec is satisfied.
setOptimized
Link copied to clipboard
open fun setOptimized(optimize: Boolean)
Should the compiler generate optimized code?
setPositionIndependentCode
Link copied to clipboard
open fun setPositionIndependentCode(positionIndependentCode: Boolean)
setProperty
Link copied to clipboard
open fun setProperty(name: String, value: Any)
open fun setProperty(name: String, value: Any)
Sets a property of this task.
setShouldRunAfter
Link copied to clipboard
open fun setShouldRunAfter(shouldRunAfterTasks: Iterable<out Any>)
abstract fun setShouldRunAfter(shouldRunAfter: Iterable<out Any>)
open fun setShouldRunAfter(shouldRunAfterTasks: Iterable<out Any>)
Specifies the set of tasks that this task should run after.
shouldRunAfter
Link copied to clipboard
open fun shouldRunAfter(paths: Array<Any>): TaskDependency
open fun shouldRunAfter(paths: Array<Any>): TaskDependency
Specifies that this task should run after all of the supplied tasks.
source
Link copied to clipboard
open fun source(sourceFiles: Any)
Adds a set of source files to be compiled.
the
Link copied to clipboard
inline fun <T : Any> ExtensionAware.the(): T

Returns the extension of the specified type.

fun <T : Any> ExtensionAware.the(extensionType: KClass<T>): T

Returns the extension of the specified extensionType.

usesService
Link copied to clipboard
open fun usesService(service: Provider<out BuildService<out Any>>)
open fun usesService(service: Provider<out BuildService<out Any>>)
Registers a BuildService that is used by this task so its constraint on parallel execution can be honored.