类似Android的BuildConfig.java,在Java项目中获取Gradle编译参数
最近找到一个插件,可以在非Android项目中创建一个类似的BuildConfig模块,gradle中向程序中写入一些业务参数,比如版本号之类的。此插件很久没维护了,只支持到gradle6,如果要用gradle7+,可以用pr里其他人修改的版本
plugins {
// 通过BuildConfig代码块,生成BuildConfig.java
id 'de.fuerstenau.buildconfig' version '1.1.8'
}
kotlin {
sourceSets {
main {
kotlin.srcDir("$buildDir/gen/buildconfig/src/main")
}
}
}
//kotlin或者java是用的编译插件的,都一样,选一个就行。
//将自动写入的BuildConfig.java加入main代码集
java {
sourceSets {
main {
kotlin.srcDir("$buildDir/gen/buildconfig/src/main")
}
}
}
buildConfig {
appName = 'APPNAME' // sets value of NAME field
version = '1.0.2' // sets value of VERSION field,
// 'unspecified' if project.version is not set
clsName = 'BuildConfig' // sets the name of the BuildConfig class
packageName = "${project.group}.${project.name}" // sets the package of the BuildConfig class,
// 'de.fuerstenau.buildconfig' if project.group is not set
charset = 'UTF-8' // sets charset of the generated class,
buildConfigField 'int', 'versionCode', "2"
}
生成的文件如下
public final class BuildConfig
{
private BuildConfig () { /*. no instance */ }
public static final String VERSION = "1.0.2";
public static final String NAME = "APPNAME";
public static final int versionCode = 2;
}