2017-02-03 12 views
1

Есть ли плагин с градиентом для обычных Java-проектов, который добавляет дополнительные варианты/задачи сборки, похожие на сборку Android StudioRelease/assembleDebug, которые используют дополнительные src/release, src/debug dirs, которые содержат ресурсы для переопределения значения по умолчанию при построении соответствующего варианта?Как использовать gradle в проекте java (в Intellij) для переключения между сборками dev/release, аналогичными сборке Android StudioRelease/assembleDebug?

Что мне нужно - это способ использования разных конфигурационных файлов для версий dev и release (иногда даже такие активы, как некоторые из изображений, отличаются). Есть ли готовое к использованию решение или мне нужно будет определить мою собственную задачу и добавить копирование всех необходимых файлов вручную?

ответ

1

вы можете реализовать похожие на Maven поведение профилей, в зависимости от свойства окр можно запустить конкретную 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'] 
} 

development.gradle

task hello { 
    doLast { 
     println "hello from the other build." 
    } 
} 

ссылка: https://docs.gradle.org/current/userguide/organizing_build_logic.html#sec:external_build