Tag: gradle这个 科特林 DSL

不能在插件块中使用项目额外的属性

我有一个多项目的构建,而且更多的时候我发现自己锁定了整个项目的工件版本。 所以在我的根项目中,我定义了如下的东西: project.extra.set(“pkgVersions”, mapOf( “kotlin” to “1.2.0”, “jooq” to “3.10.2” )) val pkgVersions : Map by project.extra plugins { base kotlin(“jvm”) version “1.2.0” apply false } 虽然我可以在任何地方使用pkgVersions ,包括其他子项目: val pkgVersions by rootProject.extra jooq { version = pkgVersions[“jooq”] } 我无法在插件块中这样做: plugins { kotlin(“jvm”) version pkgVersions[“kotlin”] } 给我错误“pkgVersions不能在这个上下文中被隐式接收器调用,如果需要的话使用显式的”。 我假设这是因为隐式接收器应该可能是文件的JVM印象? 但相反,它使用PluginDependencySpec 。 试用this@自动完成只显示this@plugin 。 这只是我的一个猜测。 但是,我应该做什么的指针呢? 另外,虽然我们在这里,有没有办法在gradle-kotlin-dsl创建一个全局types ,例如: […]