1

有什么方法可以从我的 Gradle 构建的 Groovy 项目中访问 Gradle groovy 插件 sourceSets 目录?我正在寻找默认的 gradle src 和资源目录。

我需要它来避免在我的项目中硬编码资源目录,但使用默认的 Groovy 插件资源目录(resources/main)。

4

2 回答 2

1

你能解释一下这个用例吗?在您的 gradle 构建中,您可以访问 Gradles groovy 插件引入的 groovy sourceSets 目录,如下所示:

apply plugin:'groovy'

task printGroovySourceDirs << {
    sourceSets.main.groovy.srcDirs.each{
        println it.absolutePath
    }
}
于 2012-05-01T22:41:44.040 回答
1

您不应将生产代码与测试源和测试资源混为一谈。我建议您项目中 src 目录的以下布局(groovy 插件的默认布局):

  • “src/main/groovy”中的 groovy 生产代码
  • 在“src/test/groovy”*.groovy 资源中用 java 或 groovy 编写的单元测试,用于在“src/test/resources”中测试你的 DSL

现在您可以通过以下方式从您的测试中引用 .groovy dsl 测试文件

URL url = this.getClass().getResource("/testDsl.groovy");
File testDslFile = new File(url.getFile()); 
于 2012-05-02T02:20:51.057 回答