Android build.gradle 获取Git 仓库数据

读取 Git commit number

def gitGitVersionCode() {
    try {
        return 'git rev-list HEAD --first-parent --count'.execute().text.trim().toInteger()
    }
    catch (ignored) {
        return 1
    }
}
复制代码

可以作为 app 的Version Code

defaultConfig {
    versionCode rootProject.gitGitVersionCode()
}
复制代码

读取 Git Tag

def getGitVersionName() {
    try {
        def stdout = new ByteArrayOutputStream()
        exec {
            commandLine 'git', 'describe', '--tags'
            standardOutput = stdout
        }
        return stdout.toString().trim()
    }
    catch (ignored) {
        return "1.0.0"
    }
}
复制代码

可以作为 app 的 Version Name

defaultConfig {
    versionName rootProject.getGitVersionName()
}
复制代码

读取 Git 日志

def getGitVersionInfo() {
    return 'git rev-parse --short HEAD'.execute().text.trim()
}
复制代码

获取 Git 分支名

def getGitBranch() {
    return 'git symbolic-ref --short -q HEAD'.execute().text.trim()
}
复制代码

可以在BuildConfig生成自定义字段BRANCH,用于代码中区分不同分支。

buildTypes {
    debug {
        buildConfigField 'String', 'BRANCH', '"' + rootProject.getGitBranch() + '"'       
    }
}
复制代码

源码

开源模块化解耦框架RxFluxArchitecture,欢迎大家点赞Fork,更欢迎点评指导。

转载于:https://juejin.im/post/5cd8ca90518825506b6c592a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值