Gradle: загрузить файл свойств в зависимости от профиля
Я хочу написать скрипт сборки gradle, который работает в разных средах (разработка, live). В каждой среде мне приходится загружать разные наборы свойств (целевые каталоги, базы данных и т. Д.).
Существует ли способ чтения файла свойств в зависимости от среды или профиля?
3 ответа
Вы можете проверить плагин Gradle Properties.
Включить плагин:
plugins {
id 'net.saliman.properties' version '1.4.2'
}
Создайте файлы свойств:
gradle-dev.properties
или же
gradle-prod.properties
Позвоните в Gradle:
gradle myTask -PenvironmentName=dev
gradle myTask -PenvironmentName=prod
У меня была такая же проблема, но я использую Spring и настроил его для чтения свойств из classpath: application.properties
В этом случае вы можете добавить это в gradle.build с помощью плагина Java.
if (project.hasProperty('env')) {
println "Target environment: $env"
sourceSets.main.resources.srcDir "src/main/environment/$env"
}
это для разных папок в зависимости от среды
Поэтому для добавления ресурсов на основе среды 'dev' у вас должна быть папка 'src/main/environment/dev' (с файлом свойств) и вызовите gradle: gradle myTask -Penv=dev