Gradle: несколько application.properties для многопроектной сборки с поддержкой профилей - PullRequest
0 голосов
/ 05 ноября 2018

В принципе, я хочу иметь что-то вроде следующей структуры:

├── ...
├── core-module
│   ├── build.gradle
│   └── src
│       ├── main
│       |   └── java
│       |   └── resources
│       |       └── application.properties
│       |       ├── application-dev.properties
│       |       ├── application-test.properties 
│       |       └── application-prod.properties
│       └── test
│           └── java
├── dogs-module
│   ├── build.gradle
│   └── src
│       ├── main
│       |   └── java
│       |   └── resources
│       |       └── application.properties
│       |       ├── application-dev.properties
│       |       ├── application-test.properties 
│       |       └── application-prod.properties
│       └── test
│           └── java
├── cats-module
│   ├── build.gradle
│   └── src
│       ├── main
│       |   └── java
│       |   └── resources
│       |       └── application.properties
│       |       ├── application-dev.properties
│       |       ├── application-test.properties 
│       |       └── application-prod.properties
│       └── test
│           └── java
├── birds-module
│   ├── build.gradle
│   └── src
│       ├── main
│       |   └── java
│       |   └── resources
│       |       └── application.properties
│       |       ├── application-dev.properties
│       |       ├── application-test.properties 
│       |       └── application-prod.properties
│       └── test
│           └── java
├── src?
└── ...
  • dogs, cats и birds имеют модуль core ( или base / common) в качестве зависимости. Для Gradle это compile project(':core').
  • dogs, cats и birds никак не связаны. Единственная общая черта - это проект core.

Я планирую, чтобы корневой каталог src по умолчанию был пустым, но я мог бы использовать application.properties, application-{profile}.properties здесь для некоторой инициализации, если это возможно.

├── ...
└── src
    └── main
        ├── java
        └── resources
            └── application.properties
            ├── application-dev.properties
            ├── application-test.properties 
            └── application-prod.properties

Как я могу таким образом загрузить свойства для профиля среды, чтобы свойства в следующем файле могли переопределять свойства из предыдущего?

Например, coredogs:

  • root-application.properties
  • root-application-prod.properties
  • core-application.properties
  • core-application-prod.properties
  • dogs-application.properties
  • dogs-application-prod.properties
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...