Reputation: 431
I have .yml file with the following properties:
spring:
application:
name: auth module
profiles:
active: prod
My gradle.build script has these settings for the jar
task:
jar {
baseName = 'auth-module-dev' // `dev` should come from `spring.profiles.active`
version = '0.1.2'
}
I want to build jar files with the naming convention auth-module-%profile_name%.jar
where %profile_name%
is the value of spring.profiles.active
. How can I do this?
Upvotes: 10
Views: 26154
Reputation: 28564
assume your yaml file has name cfg.yaml
don't forget to add ---
at the beginning of yaml
---
spring:
application:
name: auth module
profiles:
active: prod
build.gradle:
defaultTasks "testMe"
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath group: 'org.yaml', name: 'snakeyaml', version: '1.19'
}
}
def cfg = new org.yaml.snakeyaml.Yaml().load( new File("cfg.yaml").newInputStream() )
task testMe( ){
doLast {
println "make "
println "profile = ${cfg.spring.profiles.active}"
assert cfg.spring.profiles.active == "prod"
}
}
Upvotes: 19