我正在使用Gradle的SourceSets概念作为声明JavaScript源的方法,但是,我无法找到一种方法来允许以给定的顺序声明源。我想要的是:
javascript.source {
custom {
js {
srcDir "src/js"
include "file2.js", "file1.js"
}
}
}
按照我声明的顺序提供文件集合。
我知道我可以使用FileTree执行此操作,但我觉得有一些我缺少的东西可以用来声明SourceSets。
如果无法做到这一点,我应该对订购的资源使用什么?
编辑:请注意,我需要依赖顺序,因为我正在使用JavaScript。
答案 0 :(得分:2)
我建议您尝试声明包含sourceSet
的第二个file1.js
并让原始sourceSet
依赖它。粗略地说:
javascript.source {
custom2 {
js {
srcDir "src/js2"
include "file2.js"
}
}
custom {
js {
srcDir "src/js"
include "file1.js"
}
compileClasspath += custom2.outputs
}
}
不确定您使用的插件是否可以实现这一点。但希望你明白这一点。
我想在像Gradle这样的声明系统中,指定顺序的唯一方法是声明不同部分之间的依赖关系,让Gradle为你完成订单。
答案 1 :(得分:0)
根据定义,gradle中的sourceSet
是源文件和资源文件的逻辑分组。 (没有暗示订购)
对于Java插件,例如,这意味着当gradle尝试编译您的应用程序时,它知道在哪里可以找到编译过程的源文件。
我不确定你到底想要完成什么。你在这里使用任何特殊的插件吗?为什么需要文件的特殊顺序?请解释一下你要做的事情的大局。我很确定sourceSet
在这里不会帮助你。