拡張子が付いたファイルをGroovyファイルとしてコンパイルする必要があることをgradleに伝えようとしている*.dsl
ので、包含パターンを含むソースセットを追加し、コンパイルタスクのincludesプロパティを変更しました。
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()));
オーバーライドすることは可能ですか?