有没有办法重用里面init.gradle?
摇篮启动脚本块属性
def REPO_URL = 'myRepoUrl'
initscript {
repositories {
maven {
url REPO_URL
}
}
dependencies {
classpath 'some dependency'
}
}
这给了我未知属性错误定制initscript
块外部属性。我也尝试过使用外部{}像这样
ext {
REPO_URL = 'myRepoUrl'
}
与相同的错误。然而,它在所有其他配置块中都可以工作,即使在init.gradle
之内也是如此。这迫使我复制initscript
块的属性和其余配置。
经过多一点检查后,它看起来完全失去了对周围范围的任何引用。我甚至不明白为什么从Groovy的角度来看它的行为方式。
那么这是否意味着Gradle以某种方式编译并执行initscript方法而不执行周边范围?我对Gradle和Groovy相当陌生,并不知道这是可能的。 –
您可以在Groovy编译过程中使用标准编译器进行编译,然后转换Groovy脚本。在这种情况下,其中一种转换应该是在脚本的其余部分之前提取并评估'initscript'块,因为脚本的其余部分需要在该块的类路径中声明的相关性以执行,否则您将获得编译错误,因为依赖关系不在类路径中。正如我所说,鸡蛋和鸡蛋。 :-) – Vampire
为了防止同事问我为什么要复制这段代码,请链接到评论中。 –