我用 Java 编写了一个 gradle 插件,我想在多项目 gradle 设置中使用它。插件附带的任务只执行一次,我不明白为什么。
项目的结构如下所示:
Root project
|- settings.gradle
|- build.gradle
|- project1
| |- build.gradle
|- project2
| |- build.gradle
|- project3
| |- build.gradle
...
根 build.gradle 看起来像这样
buildscript {
repositories {
jcenter()
maven { url "https://repo.spring.io/plugins-snapshot" }
maven { url "https://repo.spring.io/plugins-release" }
maven{
url = "https://my-personal-nexus.de/content/repositories/release/"
}
....
dependencies {
....
classpath "de.mystuff:myCustomPlugin:1.0.0"
}
}
}
subprojects {
apply plugin: "myCustomPlugin"
....
}
插件“myCustomPlugin”提供了一个名为 myTask 的任务。由于插件应用于 build.gradle 的子项目部分,我假设当我调用时:
./gradlew myTask
该任务将为 project1、project2、project3 执行。
实际上,该任务仅在 project1 中执行,而不在 project2 或 project3 中执行。如果我打电话
./gradlew -p "project2" myTask
该任务在项目2中执行得很好。关于为什么没有为每个子项目执行任务的任何提示?
当我打电话
./gradlew tasks --all
结果显示每个子项目的任务。
慕标5832272
相关分类