我知道IntelliJ IDEA中对Groovy / Gradle的支持非常好,但是我试图找出Eclipse目前能走多远。这是我当前的设置:
现在缺少的是最后两点的结合。每个插件的编辑者都可以理解Gradle或Groovy,但不能同时理解两者。我已经看到Groovy插件中对DSL描述符有一些支持,但是我在互联网上找不到Gradle的DSL描述符。我发现,现在不推荐使用的STS Gradle集成插件(Pivotal的Spring Tool Suite)中对这样的DSL描述符提供了一些支持,该插件后来又删除了(关键字:org.springsource.ide.eclipse.gradle.dsld )。
因此,总体问题大致是:Groovy开发工具插件是否有Gradle DSLD?
答案 0 :(得分:1)
可以将Gradle的DLSD添加到Eclipse。在撰写本文时,没有内置内容。
您需要在Groovy编辑器(而不是默认的Gradle编辑器)中打开Gradle构建脚本。
第一个障碍是使Gradle类型可用于DSLD。这可以通过将“ gradleApi()”依赖项添加到您的Gradle依赖项块中来完成。然后,您可以在您的项目中将其作为Groovy DSLD文件进行尝试(目前有点空白):
def isBuildScript = fileExtension('gradle') & (~fileName('settings.gradle'))
contribute(isBuildScript & isThisType()) {
delegatesTo 'org.gradle.api.Project'
method name: 'apply', type: void, namedParams: [plugin: String]
}
contribute(isBuildScript & enclosingCallName('configurations') & inClosure() & currentType('org.gradle.api.Project')) {
setDelegateType('org.gradle.api.artifacts.ConfigurationContainer')
}
contribute(isBuildScript & enclosingCallName('dependencies') & inClosure() & currentType('org.gradle.api.Project')) {
setDelegateType('org.gradle.api.artifacts.dsl.DependencyHandler')
}
contribute(isBuildScript & enclosingCallName('repositories') & inClosure() & currentType('org.gradle.api.Project')) {
setDelegateType('org.gradle.api.artifacts.dsl.RepositoryHandler')
}
contribute(fileName('settings.gradle') & isThisType()) {
setDelegateType('org.gradle.api.initialization.Settings')
}