如何在Java项目(Intellij中)中使用gradle在类似于Android Studio的assembleRelease/assembleDebug的开发/发布版本之间切换?



是否有用于常规Java项目的gradle插件,该插件添加了类似于Android Studio的assembleRelease/assembleDebug的其他构建变体/任务,这些构建变体/任务使用额外的src/releasesrc/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

相关内容

最新更新