Gradle是否可以在调用
gradle build
字符串类似precompile的东西。有人请帮帮忙。像这样的东西可能吗?
precompile
dzhpxtsq1#
你可以这样做:
task build << { println 'build' } task preBuild << { println 'do it before build' } build.dependsOn preBuild
字符串preBuild任务会在build任务之前被自动调用。如果你想在配置阶段运行preBuild(前面的例子在execution阶段运行preBuild),你可以这样做:
preBuild
build
execution
task build << { println 'build' } build.doFirst { println 'do it before build' }
型有关gradle构建生命周期的更多信息,请参阅http://www.gradle.org/docs/current/userguide/build_lifecycle.html。
lf5gs5x22#
对于那些想知道如何在Android项目中做到这一点的人来说,这对我很有效:
task myTask << { println "here's a task" } preBuild.dependsOn myTask
字符串
1rhkuytd3#
还有一种方法可以做到这一点
task myTask << { println "here's a task" } tasks.whenTaskAdded { task -> if (task.name == 'assembleDebug') { task.dependsOn myTask }
rqdpfwrv4#
这是针对Kotlin DSL(build.gradle.kts)的:
tasks.register/* OR .create */("MyTask") { doLast { println("I am the task MyTask") } } tasks.build { dependsOn("MyTask") } // OR another notation // tasks.named("build") { // dependsOn(tasks["MyTask"]) // }
字符串有关更多信息,请参阅Gradle文档:向任务添加依赖项。
pdsfdshx5#
在Gradle 5中删除了左移位运算符<<。在我的例子中,我有一个使用Java子项目的Android项目,这是有效的:
<<
task myTask { doLast { println 'do it before build' } } assemble.dependsOn myTask
字符串关于最初的问题,这应该是现在的语法:
task myTask { doLast { println 'do it before build' } } build.dependsOn myTask // or for Android preBuild.dependsOn myTask
型
55ooxyrt6#
在Gradle 5.4.x
// File: app/build.gradle // See: https://docs.gradle.org/current/dsl/org.gradle.api.tasks.Exec.html task ruby(type:Exec) { workingDir '../' executable = '/usr/bin/env' args = ["ruby", "--version"] } preBuild.dependsOn ruby
owfi6suc7#
如果已经定义了要运行的任务(例如publishToMavenLocal),则可以使用以下命令将其添加到gradle build任务中:
publishToMavenLocal
build.dependsOn publishToMavenLocal
7条答案
按热度按时间dzhpxtsq1#
你可以这样做:
字符串
preBuild
任务会在build
任务之前被自动调用。如果你想在配置阶段运行
preBuild
(前面的例子在execution
阶段运行preBuild
),你可以这样做:型
有关gradle构建生命周期的更多信息,请参阅http://www.gradle.org/docs/current/userguide/build_lifecycle.html。
lf5gs5x22#
对于那些想知道如何在Android项目中做到这一点的人来说,这对我很有效:
字符串
1rhkuytd3#
还有一种方法可以做到这一点
字符串
rqdpfwrv4#
这是针对Kotlin DSL(build.gradle.kts)的:
字符串
有关更多信息,请参阅Gradle文档:向任务添加依赖项。
pdsfdshx5#
在Gradle 5中删除了左移位运算符
<<
。在我的例子中,我有一个使用Java子项目的Android项目,这是有效的:
字符串
关于最初的问题,这应该是现在的语法:
型
55ooxyrt6#
在Gradle 5.4.x
字符串
owfi6suc7#
如果已经定义了要运行的任务(例如
publishToMavenLocal
),则可以使用以下命令将其添加到gradle build
任务中:字符串