1

我有一个来自 gradle-js-plugin 的 combineJs 任务:

combineJs {

    def jsFiles = fileTree(dir: "/lib/", include: "jquery.js")
    jsFiles += fileTree(dir: "/lib/plugins", include: "*.js") //.sort()
    jsFiles += fileTree(dir: "/lib/", include: "underscore.js")

    source = jsFiles
    dest = file("/js/all.js")
}

我想按自然顺序对插件进行排序,因为当它在 unix 上组合时,它的顺序与在 windows 上的顺序不同。

我该怎么做?我尝试了许多不同的方法。

例如:

combineJs {

    def jsFiles = fileTree(dir: "/lib/", include: "jquery.js")
    jsFiles += fileTree(dir: "/lib/plugins", include: "*.js") //.sort()
    jsFiles += fileTree(dir: "/lib/", include: "underscore.js")

    source = jsFiles.collect { File file -> relativePath(file) }.sort().each { fileTree(it) }
    dest = file("/js/all.js")
}
4

1 回答 1

1

这个怎么样:

List<File> ll = new ArrayList<>(jsFiles.getFiles())
Collections.sort(ll)    
于 2013-10-03T16:23:24.707 回答