-------Using the plugins DSL:--------------------
plugins {
id "com.github.edeandrea.xjc-generation" version "1.4"
}
-------Using legacy plugin application:--------
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "gradle.plugin.com.github.edeandrea:xjc-generation-gradle-plugin:1.4"
}
}
apply plugin: "com.github.edeandrea.xjc-generation"
还有settings.gradle
中的pluginmangement
块控制新的插件方法,我尝试定义repositories{}
块并添加mavencentral()
,但它不起作用。
简而言之,使用DSL添加的插件是如何工作的,哪个块告诉从哪里找到插件,然后哪一行告诉在类路径中添加它。
更新:对于ex,repositories中的maven块-buildscript部分告诉您在URL“https://plugins.gradle.org/m2/
位置和依赖项中的classpath标签下查看插件-buildscript告诉您将此依赖项添加到应用程序类路径中
更正:MavenCentral()
插件DSL可以被认为是应用插件的声明性方式,而遗留插件应用程序可以被认为是必需的。
但是对于新的方法(即使用DSL),它没有说明什么,我所理解的是插件必须在官方的Gradle repo中发布才能访问它,但是build.Gradle文件如何知道在哪里可以找到它,这意味着我们需要添加repositories{}块并在其中指定mavencentral()来使其工作,还是需要添加其他东西?
这在文档:插件标记工件中有详细的解释。
它是mavencentral()
,而不是mavencentral()
pluginManagement {
repositories {
mavenCentral()
}
}
rootProject.name = "example"
简而言之,使用DSL添加的插件是如何工作的,哪个块告诉从哪里找到插件,然后哪一行告诉在类路径中添加插件。
这在文档中都有解释:用插件DSL应用插件
插件DSL正在孵化(incubating)中,请注意,在以后的Gradle版本中,DSL和其它配置可能会改变. 新的插件DSL提供了更为简洁,方便的方式来声明插件的依赖关系。它的适用于与新的Gradle Plugin Portal,同时提供了方便的核心和社区插件.该插件脚本块配置PluginDependenciesSpec的实例. 要应用的核心插件,可以使用短名称: Example 21.5. A
E:/home/example/documents/gradle-com.example.hello-plugin/src/main/kotlin/com/example/helloplugin.kt:(11,27):以下任何函数都不能用提供的参数调用: public抽象fun register(P0:String,p1:Class,vararg p2:any!):在org.gradle.api.
如https://cloud . Google . com/app engine/docs/standard/Java/tools/Gradle-reference上所述,AppEngine Gradle插件提供如下配置: 使用 时,这样的配置应该是什么样子? 我正在查看AppEngine任务,但不明白如何将其连接到适当的Kotlin DSL设置。 编辑 当简单地将上述块添加到<code>buil
想项目中添加插件的新方法不仅仅是一种更为方便的语法.新的DSL语法处理与老方法有很大的不同.新的机制允许Gradle更早更快的确定插件.这允许做更智能的事,如: 优化插件类的加载和重用. 允许不同的插件使用不同版本的依赖关系. 为编辑构建脚本提供关于隐含属性和值的详细信息 这要求插件被指定使Gradle在执行之前剩下的构建脚本前可以很容易并且很快的提取它.还要求插件使用一些静态的定义。 新的插件机
我试图弄清楚如何将此配置转换为静态编程语言DSL,但在示例中找不到太多: 如果使用Kotlin,这个声明会是什么样子?