我的项目结构如下
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
时执行的任务。
如果您希望在一个项目用作另一个项目的依赖项时执行其他任务,则需要将这些任务注册为构建相应项目的任务的任务依赖项(例如jar
或assemble
(
我可以使用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与所有想要的任务