Gradle多项目,顶部的ext{}失败?
我不明白为什么ext{}的顺序很重要,并导致下面这样的失败?如果没有一个可以复制的例子,你们是如何计算放置物品的顺序的?文档似乎只是单独讨论闭包,而不是它们之间的相互依赖关系Gradle多项目,顶部的ext{}失败?,gradle,Gradle,我不明白为什么ext{}的顺序很重要,并导致下面这样的失败?如果没有一个可以复制的例子,你们是如何计算放置物品的顺序的?文档似乎只是单独讨论闭包,而不是它们之间的相互依赖关系 project-base settings.gradle build.gradle (inside this one in examples below) subproject_folder build.gradle ext {} // this blows up here builds
project-base
settings.gradle
build.gradle (inside this one in examples below)
subproject_folder
build.gradle
ext {} // this blows up here
buildscript {}
plugins {}
sonarqube {}
allprojects {}
subprojects {}
但如果我有同样的东西,除了
buildscript {}
plugins {}
sonarqube {}
allprojects {}
subprojects {}
ext {} // bingo all of a sudden this is legal ?
问题不是
ext{}
块的位置,而是buildscript{}
和plugins{}
块的位置
如中所示,plugins{}
块必须是生成文件中的第一个块。
而且因为
buildscript{}
块也是关于确定在构建文件中可以访问什么,它的类路径有效,所以它有类似的限制。在这种情况下,我们不是有来自Gradle的明确错误消息吗?我想是的。@M.Ricciuti:是的,我们这样做:build文件'/tmp/build.gradle':5:在plugins{}块之前只允许buildscript{}和其他plugins{}脚本块,不允许其他语句
什么版本?5.14没有给出。