0
我想告訴gradle產出,與*.dsl
擴展名的文件被編譯爲常規文件,所以我添加了一個包含模式設置一個信號源,並改變了編譯任務包括屬性:添加源文件擴展名gradle這個
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()));
是否有可能重寫?