Gradle不调用其他模块的默认任务



我的项目结构如下

root/
project-1/
build.gradle
project-2/
build.gradle
build.gradle
settings.gradle

root/settings.gradle在下面看起来像

include 'project-1'
include 'project-2'

project-1/build.gradle类似于

....
defaultTasks 'task1','task2','task3'

这里task3将project-1的构建文件复制到project-2的一个目录中。项目2需要这些文件进行构建。

project-2/build.gradle类似于

...
dependencies {
compile 'xyx.jar'
compile 'pqr.jar'
implementation project(":project-1:defaultTasks")
}

当我构建project-2时,它不会构建project-1的defaultTasks。

defaultTasks只是在没有任何任务作为参数的情况下调用gradle时执行的任务。

如果您希望在一个项目用作另一个项目的依赖项时执行其他任务,则需要将这些任务注册为构建相应项目的任务的任务依赖项(例如jarassemble(

我可以使用gradle的compileJava任务进行求解

project-1/build.gradle看起来像

....
compileJava.dependsOn task3
task3.dependsOn task2
task2.dependsOn task1

现在项目-2/build.gradle将看起来像

...
dependencies {
compile 'xyx.jar'
compile 'pqr.jar'
compile 'project-1'
}

项目-2自动构建项目-1与所有想要的任务

最新更新