我知道在IntelliJ IDEA中有非常好的Groovy/Gradle支持,但是我正在试图找出Eclipse目前可以走多远。这是我目前的设置:
现在缺少的是最后两点的结合。每个插件的编辑器可以理解Gradle或Groovy,但不能同时理解两者。我已经在Groovy插件中看到了对DSL描述符的一些支持,但我在互联网上找不到Gradle的DSL描述符。我发现在STS (Spring by Pivotal)中现在已经不再推荐的Gradle集成插件中有一些对这样的DSL描述符的支持,该插件后来又被删除了(关键字: org.springsource.ide.eclipse.gradle.dsld)。
因此,总的问题大概是: Groovy开发工具插件是否有一个分级DSLD?
发布于 2018-11-09 17:06:44
可以将添加到Eclipse中。在撰写这篇文章时,Eclipse的Groovy开发工具没有内置的任何内容。
您需要在Groovy编辑器中打开Gradle构建脚本,而不是默认的Gradle编辑器。
第一个障碍是将分级类型提供给DSLD。这可以通过在Gradle依赖项块中添加"gradleApi()“依赖来实现。然后,您可以将其作为Groovy文件在您的项目中试用(此时它有点简陋):
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')
}https://stackoverflow.com/questions/52626774
复制相似问题