Это моя конфигурация

Application.yml

spring:
    profiles.active: ${env}

Build.gradle

processResources {
    expand(project.properties)
}

Если я запустил это все работает нормально

gradle clean build -Penv=a
gradle clean build -Penv=b

Но если я запустил это, свойство "env" останется в первой конфигурации

gradle build -Penv=a
gradle build -Penv=b

Странно, если я поставлю clean { println "CLEAN" }, я вижу, что clean вызывается каждый раз со всеми 4 командами

1
Xan 21 Июн 2018 в 09:26

1 ответ

Лучший ответ

Gradle использует входные и выходные данные каждой задачи для выполнения актуальной проверки. Если входы и выходы не изменились с момента последнего запуска, его можно пропустить. Вам нужно будет добавить env в качестве входных данных для задачи, чтобы он учитывался при проверке актуальности.

Например:

processResources {
    inputs.properties(project.properties)
    expand(project.properties)
}

См. последние проверки

1
Xan 21 Июн 2018 в 11:40