Gradle任务增加版本号

时间:2017-06-23 12:50:10

标签: gradle build.gradle

我需要帮助完成Gradle的这个任务,我每次编写时都会通过webapp增加版本号 -

task incrementVersion (dependsOn: build) {
    Properties props = new Properties() 
    File propsFile = new File('gradle.properties') 
    props.load(propsFile.newDataInputStream()) 
    Integer nextbuildnum = ( ((props.getProperty('artifactBuildNumber')) as BigDecimal) + 1 ) 
    props.setProperty('artifactBuildNumber', nextbuildnum.toString()) 
    props.store(propsFile.newWriter(), null) 
    props.load(propsFile.newDataInputStream())
    ant.replaceregexp(match:'String\\s+appVersion=\\s+".*";', replace:'String appVersion= "'+nextbuildnum+'";', byline:true) {
        file 'src/main/webapp/index.jsp'
    }
}

任务正常运行且没有任何错误,gradle.properties中的artifactBuildNumber也正确递增,但我的jsp页面中的版本号没有增加。

提前致谢

1 个答案:

答案 0 :(得分:0)

您的正则表达式似乎有误,您在appVersion之后错过了一个空格而且我不确定最后的额外;,请尝试以下操作:

ant.replaceregexp(match:'String\\s+appVersion\\s+=\\s+".*"', replace:'String appVersion= "'+nextbuildnum+'"', byline:true) {