Пример сборки отладки / выпуска Java с использованием Gradle? - PullRequest
0 голосов
/ 07 мая 2020

Я использую (или пытаюсь использовать) Gradle для создания простого Java (не Android) многомодульного проекта, который содержит интерфейс командной строки и несколько микросервисов. У меня работает простая сборка с единственной конфигурацией.

Я хотел бы иметь возможность построить ее двумя разными способами: сборка «для разработки» с одной группой настроек и зависимостей и сборка «развертывание» с разными настройками и зависимостями. Некоторые настройки и зависимости будут перекрываться между ними.

В других инструментах сборки это будет соответствовать конфигурациям сборки «Отладка» и «Выпуск». Но для Gradle я видел типы, варианты, разновидности и возможности сборки, а также их комбинации - некоторые из них кажутся Android специфичными c, некоторые зависят от плагинов, которые, похоже, вышли из строя. Дата. Но я не могу найти простой пример «традиционной» настройки сборки отладки / выпуска.

У меня есть простой подход, использующий созданные вручную buildDebug, buildRelease, assembleDebug, assembleRelease и др. c. задач, но мне кажется, что я работаю с Gradle, а не с ним.

Есть ли у кого-нибудь такой пример, который хотел бы поделиться своей работой? Большое спасибо!

1 Ответ

1 голос
/ 08 мая 2020

Похоже, мои ранние поиски (например, «отладочные и выпускающие сборки gradle») и мое ожидание чего-то встроенного в Gradle отправили меня не в ту кроличью нору. Я наконец наткнулся на этот вопрос только после того, как мне пришло в голову искать «эквивалент Gradle для профилей сборки maven».

Возможно, мне не хватает функции Gradle (т.е. вариантов). можно было бы воспользоваться, но, похоже, правильным решением может быть:

ext {
  env = findProperty('env') ?: 'debug'
}

dependencies {
  // shared dependencies
  if (env == 'debug') {
    // debug build dependencies
  }
  if (env == 'release') {
    // release build dependencies
  }
}

Сборка выбирается путем установки свойства env в командной строке:

# debug build; can use either
$ gradle build
$ gradle build -Penv=debug

# release build
$ gradle build -Penv=release

Hope который помогает товарищу Gradle newb ie.

...