API文档: | CCompile |
---|
注意:此类正在孵化中,可能会在 Gradle 的未来版本中发生更改。
将 C 源文件编译为目标文件。
财产 | 描述 |
actions |
|
ant | 对于 |
compilerArgs | 提供给编译器的附加参数。 |
convention | 已弃用
|
debuggable | 编译器应该生成可调试的代码吗? |
dependsOn | 该任务的依赖关系。 |
description | 此任务的描述。 |
destroyables | 此任务的可破坏物。 |
didWork | 检查任务是否确实完成了任何工作。即使一个Task执行了,它也可能确定它没有任何事可做。例如,编译任务可以确定自上次运行该任务以来源文件没有更改。 |
enabled | 返回此任务是否启用。 |
extensions | 扩展的容器。 |
finalizedBy | 返回完成此任务的任务。 |
group | 该任务所属的任务组。任务组用于报告和用户界面中,以便在向用户呈现任务列表时将相关任务分组在一起。 |
includes | 用于编译的头目录。 |
inputs | 此任务的输入。 |
localState | 此任务的本地状态。 |
logger | 此任务的记录器。您可以在构建文件中使用它来写入日志消息。 |
logging | 可 |
macros | 应该为编译器定义的宏。 |
mustRunAfter | 返回此任务必须在其之后运行的任务。 |
name | 此任务的名称。该名称唯一标识其 中的任务 |
objectFileDir | 将生成目标文件的目录。 |
optimized | 编译器应该生成优化的代码吗? |
outputs | 该任务的输出。 |
path | 任务的路径,这是任务的完全限定名称。任务的路径是其路径 |
positionIndependentCode | 编译器应该生成与位置无关的代码吗? |
project |
|
shouldRunAfter | 返回此任务应在其后运行的任务。 |
source | 要编译的源文件。 |
state | 该任务的执行状态。这提供了有关此任务执行的信息,例如它是否已执行、已跳过、已失败等。 |
systemIncludes | 系统包含用于编译的目录。 |
targetPlatform | 正在编译的平台。 |
taskDependencies | 返回一个 |
temporaryDir | 返回此任务可用于写入临时文件的目录。每个任务实例都有一个单独的临时目录。不保证该目录的内容将在任务执行后保留。 |
timeout | 该任务的超时时间。 |
toolChain | 用于编译的工具链。 |
方法 | 描述 |
dependsOn(paths) | 将给定的依赖项添加到此任务。有关可用作任务依赖项的对象类型的描述,请参阅此处。 |
doFirst(action) | 将给定的闭包添加到该任务的操作列表的开头。执行时,闭包将作为参数传递给该任务。 |
doFirst(actionName, action) | 将给定添加 |
doFirst(action) | 将给定添加 |
doLast(action) | 将给定的闭包添加到该任务操作列表的末尾。执行时,闭包将作为参数传递给该任务。 |
doLast(actionName, action) | 将给定添加 |
doLast(action) | 将给定添加 |
doNotTrackState(reasonNotToTrackState) | 不跟踪任务的状态。 |
finalizedBy(paths) | 为此任务添加给定的终结器任务。 |
hasProperty(propertyName) | 确定此任务是否具有给定属性。有关任务可用属性的详细信息,请参阅此处。 |
includes(includeRoots) | 添加编译器应在其中搜索头文件的目录。 |
mustRunAfter(paths) | 指定此任务必须在所有提供的任务之后运行。 |
onlyIf(onlyIfClosure) | 仅当给定的闭包返回 true 时才执行任务。闭包将在任务执行时评估,而不是在配置期间评估。闭包将传递一个参数,即此任务。如果闭包返回 false,则任务将被跳过。 |
onlyIf(onlyIfReason, onlyIfSpec) | 孵化 仅当满足给定规范时才执行任务。该规范将在任务执行时而不是配置期间进行评估。如果不满足 Spec,则任务将被跳过。 |
onlyIf(onlyIfSpec) | 仅当满足给定规范时才执行任务。该规范将在任务执行时而不是配置期间进行评估。如果不满足 Spec,则任务将被跳过。 |
property(propertyName) | 返回此任务的给定属性的值。该方法按如下方式定位属性: |
setProperty(name, value) | 设置此任务的属性。此方法在以下位置搜索具有给定名称的属性,并在找到该属性的第一个位置设置该属性。 |
shouldRunAfter(paths) | 指定此任务应在所有提供的任务之后运行。 |
source(sourceFiles) | 添加一组要编译的源文件。提供的 sourceFiles 对象根据 进行评估 |
usesService(service) | 注册 |
AntBuilder
ant
(只读)
对于AntBuilder
这个任务。您可以在构建文件中使用它来执行 ant 任务。
ListProperty
<String
>
compilerArgs
ListProperty
<String
>提供给编译器的附加参数。
Convention
convention
(只读)
注意:此属性已弃用,并将在 Gradle 的下一个主要版本中删除。
Convention
此任务的对象。APlugin
可以使用约定对象来为此任务提供属性和方法。
String
description
此任务的描述。
TaskDestroyables
destroyables
(只读)
此任务的可破坏物。
ExtensionContainer
extensions
(只读)
扩展的容器。
TaskDependency
finalizedBy
返回完成此任务的任务。
String
group
该任务所属的任务组。任务组用于报告和用户界面中,以便在向用户呈现任务列表时将相关任务分组在一起。
ConfigurableFileCollection
includes
(只读)
用于编译的头目录。
TaskInputs
inputs
(只读)
此任务的输入。
TaskLocalState
localState
(只读)
此任务的本地状态。
Logger
logger
(只读)
此任务的记录器。您可以在构建文件中使用它来写入日志消息。
LoggingManager
logging
(只读)
可LoggingManager
用于接收日志记录并控制此任务的标准输出/错误捕获。默认情况下,System.out 以 QUIET 日志级别重定向到 Gradle 日志系统,System.err 以 ERROR 日志级别重定向。
TaskDependency
mustRunAfter
返回此任务必须在其之后运行的任务。
DirectoryProperty
objectFileDir
将生成目标文件的目录。
TaskOutputs
outputs
(只读)
该任务的输出。
TaskDependency
shouldRunAfter
返回此任务应在其后运行的任务。
ConfigurableFileCollection
source
(只读)
要编译的源文件。
TaskState
state
(只读)
该任务的执行状态。这提供了有关此任务执行的信息,例如它是否已执行、已跳过、已失败等。
ConfigurableFileCollection
systemIncludes
(只读)
系统包含用于编译的目录。
Property
<NativePlatform
>
targetPlatform
Property
<NativePlatform
>正在编译的平台。
File
temporaryDir
(只读)
返回此任务可用于写入临时文件的目录。每个任务实例都有一个单独的临时目录。不保证该目录的内容将在任务执行后保留。
该任务的超时时间。
task myTask {
timeout = Duration.ofMinutes(10)
}
如果任务运行时间超过指定时间,则执行此任务的线程将被中断。为了使任务能够正常使用此功能,它需要对中断做出反应,并且必须清理它打开的所有资源。
默认情况下,任务永远不会超时。
Property
<NativeToolChain
>
toolChain
Property
<NativeToolChain
>用于编译的工具链。
void
includes
(Object
包括根)
添加编译器应在其中搜索头文件的目录。
指定此任务必须在所有提供的任务之后运行。
task taskY {
mustRunAfter "taskX"
}
对于每个提供的任务,此操作添加任务“排序”,并且不指定任务之间的“依赖关系”。因此,仍然可以在不首先执行示例中的“taskX”的情况下执行“taskY”。
有关可用于指定排序关系的对象类型的描述,请参阅此处。
void
onlyIf
(Closure
仅If关闭)
仅当给定的闭包返回 true 时才执行任务。闭包将在任务执行时评估,而不是在配置期间评估。闭包将传递一个参数,即此任务。如果闭包返回 false,则任务将被跳过。
您可以添加多个此类谓词。如果任何谓词返回 false,则跳过该任务。
典型用法:myTask.onlyIf { isProductionEnvironment() }
注意:此方法正在孵化中,可能会在 Gradle 的未来版本中发生变化。
仅当满足给定规范时才执行任务。该规范将在任务执行时而不是配置期间进行评估。如果不满足 Spec,则任务将被跳过。
您可以添加多个此类谓词。如果任何谓词返回 false,则跳过该任务。
典型用法(来自 Java):
myTask.onlyIf("run only in production environment", new Spec<Task>() { boolean isSatisfiedBy(Task task) { return isProductionEnvironment(); } });
仅当满足给定规范时才执行任务。该规范将在任务执行时而不是配置期间进行评估。如果不满足 Spec,则任务将被跳过。
您可以添加多个此类谓词。如果任何谓词返回 false,则跳过该任务。
典型用法(来自 Java):
myTask.onlyIf(new Spec<Task>() { boolean isSatisfiedBy(Task task) { return isProductionEnvironment(); } });
返回此任务的给定属性的值。该方法按如下方式定位属性:
- 如果此任务对象具有给定名称的属性,则返回该属性的值。
- 如果此任务具有给定名称的扩展名,则返回该扩展名。
- 如果此任务的约定对象具有给定名称的属性,则返回该属性的值。
- 如果此任务具有给定名称的额外属性,则返回该属性的值。
- 如果没有找到,则抛出
MissingPropertyException
设置此任务的属性。此方法在以下位置搜索具有给定名称的属性,并在找到该属性的第一个位置设置该属性。
- 任务对象本身。例如,
enabled
项目属性。 - 任务的约定对象。
- 任务的额外属性。
如果未找到该属性,MissingPropertyException
则会抛出 a。
TaskDependency
shouldRunAfter
(Object
...
路径)
Object
...指定此任务应在所有提供的任务之后运行。
task taskY {
shouldRunAfter "taskX"
}
对于每个提供的任务,此操作添加任务“排序”,并且不指定任务之间的“依赖关系”。因此,仍然可以在不首先执行示例中的“taskX”的情况下执行“taskY”。
有关可用于指定排序关系的对象类型的描述,请参阅此处。
void
source
(Object
源文件)
添加一组要编译的源文件。提供的 sourceFiles 对象根据 进行评估Project.files(java.lang.Object[])
。
void
usesService
(服务)Provider
<? extends BuildService
<?>>
Provider
<? extends BuildService
<?>>注册BuildService
此任务使用的 a,以便
BuildServiceRegistration.getMaxParallelUsages()
可以兑现。