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/

相关文章:

java - 声明多个有效最终资源时,try-with-resource 不安全吗?

groovy - Groovy 中的 __LINE__ 功能

java - 亚马逊 AWS KMS + Gradle : NoClassDefFoundError

java - JSF 中的 boolean 值到自定义字符串转换器

javascript - 两张图片之间的文字 - 文字在前面,图片紧挨着

java - Spring 初学者 没有可用的上下文

java - 如何在 Android Studio 1.0.0 中设置 Facebook SDK?获取 SDK 位置未找到错误

syntax - 列表上的 Groovy 点符号

grails - 在 Grails 域类中编写类方法有哪些优点和缺点?

java - Gradle 测试执行器因非零退出值 1 而失败(IntelliJ Idea 默认 Gradle[7.4.1]/JavaFX[17.0.1] 版本)