我有一个 Android 项目,在 git 下管理。
Git 有 2 个分支(还有更多……但重要的是那两个),branch-a 和branch-b。
是否可以设置 gradle 来确定项目是从哪个分支构建的并设置public static String
在项目的一类中根据分支来评估?
Thanks.
是的,您可能有一个gradle.properties
文件在你的两个分支中(你可以阅读有关属性here https://docs.gradle.org/current/userguide/build_environment.html),包含一些属性,例如buildBranchName
。但分配给该属性的值在每个分支中都会有所不同。例如,在 brach1 中,您在 build.gradle 脚本所在的目录中有一个 gradle.properties 文件,并且它有一个
buildBranchName=branch1
里面的财产。同时,branch2中的gradle.properties文件包含:
buildBranchName=branch2
然后,由于您有一个 android 项目,您可以使用BuildConfig
类生成选项可将此变量传递到您的应用程序源中。你可以阅读相关内容here http://toastdroid.com/2014/03/28/customizing-your-build-with-gradle/,在“增强您的 BuildConfig”部分。您所需要的只是为您的构建类型向此自动生成的类添加一些属性,就像:
android {
...
buildTypes {
debug {
buildConfigField "String", "BUILD_BRANCH", buildBranchName
}
...
}
}
然后,在构建过程中,最后一堂课BuildConfig
将被生成并且它将有一个BUILD_BRANCH
字段,您可以将其用作此类的简单静态字段。
此外,如果有些项目有非 android 项目,则有一个plugin https://github.com/mfuerstenau/gradle-buildconfig-plugin,它允许对所有 java 项目执行相同的操作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)