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

时间:2013-08-09 20:42:26

标签: gradle

在我的JSF项目中,我使用https://github.com/obecker/gradle-lesscss-plugin将LESS文件编译为CSS。 CSS文件放在src/main/webapp/resources/default/1_0/css文件夹中。更新CSS文件后,需要增加版本号1_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
}

1 个答案:

答案 0 :(得分:1)

鉴于,您只需要找到最大的数字,一些普通的老式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方法,确保文件路径相对于项目根目录。