从项目中读取gradle路径

时间:2012-05-01 22:06:13

标签: groovy gradle

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

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

2 个答案:

答案 0 :(得分:1)

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

apply plugin:'groovy'

task printGroovySourceDirs << {
    sourceSets.main.groovy.srcDirs.each{
        println it.absolutePath
    }
}

答案 1 :(得分:1)

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

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

现在您可以通过

从测试中引用.groovy dsl测试文件
URL url = this.getClass().getResource("/testDsl.groovy");
File testDslFile = new File(url.getFile());