java - gradle:封装自定义dsl的最佳方法

原文 标签 java groovy gradle encapsulation

my screencast,我希望我的aExtFunc可以在任何项目中的build.gradle中使用,但是intellij的想法可以提高

Cannot resolve symbol 'gradleExt'

我的问题是:如何修复它。

最佳答案

定义对项目的依赖

dependencies{
  compile project(':gradleExt')
}

并不意味着您可以在构建脚本中使用项目的内容:
task ATask() {
  new gradleExt.Ext().aExtFunc()
}

您可能需要直接在build.gradle文件中创建新的groovy类,以实现所需的行为。或者,如果您真的想在其他地方实现,则需要将类路径依赖项添加到buildScript{}块中。请参阅有关实现自定义任务的文档:

http://www.gradle.org/docs/current/userguide/custom_tasks.html



如果您想要自定义dsl,那么自定义gradle插件可能就是您想要的

http://www.gradle.org/docs/current/userguide/custom_plugins.html



另外,如果可能对您有用,请再次检查有关多项目构建的文档,“我的截屏视频”尚不清楚您的总体设置是什么。我会发布链接,但是我没有足够的声誉。

关于java - gradle:封装自定义dsl的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26942842/

相关文章:

android - Gradle 显示支持库 : "Module version com.android.support:support-v13:19.0.1 depends on libraries but is not a library itself" 的错误

java - Netbeans不断重启

java - 鼠标在整个窗口上的坐标

csv - Groovy 拆分 CSV

java - 在Android Studio中使用Gradle支持Libgdx

gradle - 在 Gradle 插件中为项目添加属性

java - 从 JAR 文件加载属性 (java 1.6)

java - 使用正则表达式从子字符串替换Java中的行

java - IntelliJ 似乎使用 javac 而不是 groovyc 来处理 groovy 文件?

与 sumproduct 等效的 Groovy 或 Java?