有没有一种方法可以重用initscript
中的自定义init.gradle?
块中的外部属性
def REPO_URL = 'myRepoUrl'
initscript {
repositories {
maven {
url REPO_URL
}
}
dependencies {
classpath 'some dependency'
}
}
这给了我未知的属性错误。我也曾尝试像这样使用ext {}
ext {
REPO_URL = 'myRepoUrl'
}
同样的错误。但是它仍然可以在我到目前为止尝试过的所有其他配置块中使用,即使在
init.gradle
内部也是如此。这迫使我重复initscript
块和其余配置的属性。经过更多的检查,它似乎完全失去了对周围范围的任何引用。从Groovy的 Angular 来看,我什至不明白为什么它会这样表现。
最佳答案
我认为问题出在母鸡身上。
要执行初始化脚本,您需要在initscript
块中声明的依赖项。但是您尝试使用仅在执行初始化脚本期间存在的内容。
所以我想说您想要的是不可能的。您必须在initscript
块内和外部至少声明两次。因此,您可能获得的最佳效果是:
def REPO_URL = 'myRepoUrl'
initscript {
def REPO_URL = 'myRepoUrl'
repositories {
maven {
url REPO_URL
}
}
dependencies {
classpath 'some dependency'
}
}