Gradle-在任务中使用文件夹名称

Gradle-在任务中使用文件夹名称,gradle,Gradle,在我的JSF项目中,我使用较少的文件编译成CSS。CSS文件放在src/main/webapp/resources/default/1_0/CSS文件夹中。更新CSS文件后,需要增加版本号1\u 0。那么,是否可以让下面的脚本在src/main/webapp/resources/default中查找编号最高的文件夹,并在dest变量中使用它,而不是硬编码版本号 lesscss { source = fileTree("src/main/scripts/less") { i

在我的JSF项目中,我使用较少的文件编译成CSS。CSS文件放在
src/main/webapp/resources/default/1_0/CSS
文件夹中。更新CSS文件后,需要增加版本号
1\u 0
。那么,是否可以让下面的脚本在
src/main/webapp/resources/default
中查找编号最高的文件夹,并在
dest
变量中使用它,而不是硬编码版本号

lesscss {
    source = fileTree("src/main/scripts/less") {
        include "foo.less"
    }
    dest = "src/main/webapp/resources/default/1_0/css"
    compress = true
}

考虑到您只需要找到最大的数字,一些简单的groovy可以在这里提供帮助:只需对目录名进行排序,然后取最后一个

def resources = file("src/main/webapp/resources/default")

//choosing the latest happens here
def latest = resources.list().sort().last()

//take the 'css' dir relative to the project root
dest = file(new File(latest, 'css')).toString()

使用gradle的
file
方法,您可以确保文件路径与项目根相对。

如果您只需要找到最大的数字,一些普通的groovy可以在这里提供帮助:只需对目录名进行排序,然后取最后一个

def resources = file("src/main/webapp/resources/default")

//choosing the latest happens here
def latest = resources.list().sort().last()

//take the 'css' dir relative to the project root
dest = file(new File(latest, 'css')).toString()
使用gradle的
file
方法,可以确保文件路径相对于项目根