在gradle中添加源文件扩展名

时间:2012-07-05 15:16:10

标签: gradle

我试图告诉gradle具有*.dsl扩展名的文件应该被编译为groovy文件,所以我添加了一个带有包含模式的源集并更改了编译任务包含属性:

sourceSets {
   ...
   dsl_scripts {
      groovy {
         include '**/*.dsl'
      }
   }
}

compileDsl_scriptsGroovy.includes = ['**/*.dsl']

但是当我在调试模式下运行构建时,它会使用以下消息跳过所有*.dsl个文件:

Skipping task ':compileDsl_scriptsGroovy' as it has no source files

以下行成功输出我尝试编译的所有文件:

println sourceSets.dsl_scripts.allSource.matching({include '**/*.dsl'}).getFiles()

我做错了什么?

修改: 我在gradle源代码中找到了以下代码段:

FileCollection groovyJavaOnly = spec.getSource().filter(new Spec<File>() {
    public boolean isSatisfiedBy(File element) {
       return element.getName().endsWith(".groovy") || element.getName().endsWith(".java");
    }
});

spec.setSource(new SimpleFileCollection(groovyJavaOnly.getFiles()));

是否可以覆盖?

1 个答案:

答案 0 :(得分:0)

这似乎是一个贪婪的错误http://issues.gradle.org/browse/GRADLE-2372