Gradle文档说默认的SourceSet,<div id="b-placeholder">
</div>
<script>
$(function(){
$("#b-placeholder").load("b.html");
});
</script>
,is compiled and assembled into a Jar。我有一组非Java模板文件,我想使用自定义插件进行编译。 SourceSet概念似乎是保持所有这些模板文件有条理的好方法,但我不希望Gradle尝试将它们编译为Java文件。有没有办法覆盖默认的SourceSet行为,以便我可以告诉Gradle我想要对SourceSet中的文件做什么?如果没有,是否有另一个Gradle构造我可以用来将非Java源文件组合成逻辑单元吗?
答案 0 :(得分:3)
以下是如何组织非Java文件以及如何处理它们的示例:
apply plugin: "java"
sourceSets {
template {
resources {
srcDir 'src/template'
include '**/*'
}
}
}
processTemplateResources {
doLast {
println sourceSets.template.output.classesDir
FileTree tree = fileTree(dir: sourceSets.template.output.resourcesDir)
tree.forEach {
println it
}
}
}
jar {
from sourceSets.main.output
from sourceSets.template.output
}
我已经定义了一个新的仅限资源的源集。这会自动添加将资源复制到输出目录的进程资源任务。然后你可以在那里处理它们。
最后,如果需要,只需将它们添加到你的罐子里。