Gradle订购的源集

时间:2012-06-27 20:47:35

标签: javascript gradle

我正在使用Gradle的SourceSets概念作为声明JavaScript源的方法,但是,我无法找到一种方法来允许以给定的顺序声明源。我想要的是:

javascript.source {
    custom {
        js {
            srcDir "src/js"
            include "file2.js", "file1.js"
        }
    }
}

按照我声明的顺序提供文件集合。

我知道我可以使用FileTree执行此操作,但我觉得有一些我缺少的东西可以用来声明SourceSets。

如果无法做到这一点,我应该对订购的资源使用什么?

编辑:请注意,我需要依赖顺序,因为我正在使用JavaScript。

2 个答案:

答案 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在这里不会帮助你。