Как создать аналогичный gradle дважды, не дублируя код? - PullRequest
0 голосов
/ 24 октября 2019

Как вы можете построить сборку gradle дважды, слегка изменяя исходный код, не создавая дублирования кода?

Итак, у меня есть две сборки, первая для облачной службы, вторая для помещения. Основное различие между ними - exclude **cloud** или exclude **onprem** внутри build.gradle. Облачный сервис, очевидно, будет exclude **onprem** файлов. Кроме того, результат файла Docker будет иметь другое имя.

Проблема в том, что я не уверен, как реорганизовать этот проект без копирования / дублирования src

$ tree credit-service/webapp -L 2
credit-service/webapp
├── build.gradle
├── docker
│   ├── Dockerfile
│   ├── config.yaml
│   └── terms-of-use
└── src
    ├── main
    └── test

$ tree credit-service/webapp-onprem -L 2
credit-service/webapp-onprem
├── build.gradle
└── docker
    ├── Dockerfile
    ├── config.yaml
    └── terms-of-use

Также внутри сборки.gradle У меня есть эта строка ниже, и есть ограничение, запрещающее более одного объявления задачи докера.

apply plugin: 'com.palantir.docker'
docker {
   name SomeGradleVariable + project.version
}

Итак, как перепаковать код дважды, используя gradle, не дублируя источник.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...