close
android {
    defaultConfig {
        versionCode gitVersionCode()
        versionName gitVersionTag()
    }
}
def gitVersionTag() {
  //依照tag名稱排序 列出s.開頭的TAG "git tag --sort=v:refname s.* -l"
  //依照commit時間排序 列出s.開頭的TAG "git tag --sort=committerdate s.* -l"
  //依照tag時間排序 列出s.開頭的TAG "git tag --sort=taggerdate s.* -l"
  // 同條支線最新的 tag => git describe --match \"s.*\" --tags --abbrev=0
    def tag = "git tag".execute().text.trim().split("\n").grep(~/^s.*/).last()
    return tag
}
def gitVersionCode() {
    def code = 'git rev-list HEAD --first-parent --count'
    return code.execute().text.trim().toInteger()
}
task printVersion {
    doLast { // add a task action
        println generateDebugBuildConfig.versionName
    }
}

 

arrow
arrow
    全站熱搜

    JBLin 發表在 痞客邦 留言(0) 人氣()