我有一个Gradle构建,使用apply from
调用各种其他gradle脚本。主build.gradle
和每个子脚本都使用相同的构建脚本插件(具体为gradle-cargo-plugin)。
我设法让这个工作的唯一方法是在每个脚本中重复插件的声明:
build.gradle
:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'org.gradle.api.plugins:gradle-cargo-plugin:1.5.1'
}
}
apply from: 'other.gradle'
// do something with the cargo plugin
other.gradle
:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'org.gradle.api.plugins:gradle-cargo-plugin:1.5.1'
}
}
// do something else with the cargo plugin
如您所见,每个脚本中都会重复buildscript
部分。更改该依赖项变得乏味且容易出错,但子脚本不会从主build.gradle
继承依赖项。
有没有办法通过允许被调用的脚本继承buildscript
依赖项,或者以不同的方式委托子脚本而不是apply from
来清理它?
答案 0 :(得分:0)
使用Gradle 2.1可以正常使用。在脚本插件中可以看到在build.gradle
的{{1}}块中声明的构建脚本。
新插件门户网站(http://plugins.gradle.org/)中的插件可以在一行中应用,并且不需要buildscript
块(使用Gradle 2.1及更高版本)。