在我的项目中,我在build.gradle中有几个任务.我希望这些任务在运行时是独立的.即我需要从命令行运行单个任务.但命令"gradle taskA"将运行我不想要的taskA和taskB.如何防止任务正在运行?
这是我正在做的事情的样本.
task runsSQL{
description 'run sql queries'
apply plugin: 'java'
apply plugin: 'groovy'
print 'Run SQL' }
task runSchema{
apply plugin: 'java'
apply plugin: 'groovy'
print 'Run Schema' }
Run Code Online (Sandbox Code Playgroud)
这是我得到的输出.

Tob*_*iSH 17
我想你错过的一点是你不在这里定义任务,但是你配置了任务.请查看gradle文档:http://www.gradle.org/docs/current/userguide/more_about_tasks.html.
你想要的是这样的:
task runsSQL (dependsOn: 'runSchema'){
description 'run sql queries'
println 'Configuring SQL-Task'
doLast() {
println "Executing SQL"
}
}
task runSchema << {
println 'Creating schema'
}
Run Code Online (Sandbox Code Playgroud)
请注意"doLast"的快捷方式"<<".doLast步骤仅在执行任务时执行,而在解析gradle文件时将执行任务配置.
你打电话的时候
gradle runSchema
Run Code Online (Sandbox Code Playgroud)
您将看到"配置SQL任务",然后是"创建模式"输出.这意味着将运行runSQLTask但不会执行.
如果你打电话
gradle runSQL
Run Code Online (Sandbox Code Playgroud)
比你看,你会看到:
配置SQL-Task:runSchema创建模式:runsSQL执行SQL
执行runSchema是因为runSQL依赖于它.
| 归档时间: |
|
| 查看次数: |
28076 次 |
| 最近记录: |