是否有任何gradle这个功能/插件读取/结合来自特殊配置/性能文件的一些秘密性质(API密钥,密码)?
For instance, in android plugin可以设置在〜/ .gradle / gradle.properties文件属性:
apiKey=SUPER_SECRET_VALUE
比项目的build.gradle:
android {
buildTypes {
debug {
buildConfigField "String", "API_KEY", apiKey
}
}
}
而在项目本身使用BuildConfig.API_KEY
字符串常量。
是否有任何的gradle类似的解决方案为其他(Java)的项目?
或者可能是这种做法是错误的,应该使用一些其他的解决方法吗?
您可以随时filter files。您可以通过复制命令传递资源或源文件并替换像@API_KEY@
令牌(与filter
和ReplaceTokens
)或${API_KEY}
(使用expand
)与摇篮变量。
例如:
processResources {
filter(ReplaceTokens, tokens: [API_KEY: apiKey])
}
将与您的任何资源文件的实际API密钥更换子@API_KEY@
。