是否有用于常规Java项目的gradle插件,该插件添加了类似于Android Studio的assembleRelease/assembleDebug的其他构建变体/任务,这些构建变体/任务使用额外的src/release
,src/debug
包含资源以在构建相应变体时覆盖默认值?
我需要的是一种为开发和发布版本使用不同配置文件的方法(有时甚至像某些图像这样的资产也是不同的)。是否有一些现成的解决方案,或者我将不得不定义我的自定义任务并手动添加所有所需文件的复制?
实现类似于 Maven 配置文件的行为,根据 env 属性,您可以运行特定的 gradle 配置(发布或调试),例如:
if (project.hasProperty('env') && project.getProperty('env') == 'prod') {
apply from: 'gradle/production.gradle'
} else {
apply from: 'gradle/development.gradle'
}
链接: https://blog.gradle.org/maven-pom-profiles
或以类似的方式覆盖特定任务:
build.gradle
task build(type: GradleBuild) {
if (project.hasProperty('env') && project.getProperty('env') == 'prod') {
buildFile = 'gradle/production.gradle'
} else {
buildFile = 'gradle/development.gradle'
}
tasks = ['hello']
}
发展.gradle
task hello {
doLast {
println "hello from the other build."
}
}
链接: https://docs.gradle.org/current/userguide/organizing_build_logic.html#sec:external_build