Groovyファイルからフライウェイプロパティを取得するためにビルドするようにgradleをカスタマイズしようとしています
私の environment.groovy ファイル
environments {
dev {
flywayProperties {
driver="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521/XE"
user="test"
password="test"
locations= "classpath:db/migration,db/insert"
}
}
qa {
flywayProperties {
driver = "oracle.jdbc.driver.OracleDriver"
url = "jdbc:oracle:thin:@localhost:1521/XE"
user = "test"
password = "test"
locations = "classpath:db/migration"
}
}
}
そして私のbuild.gradle
loadConfiguration()
task printProps << {
println "Driver: $config.flywayProperties.driver"
println "URL: $config.flywayProperties.url"
println "User: $config.flywayProperties.user"
println "Password: $config.flywayProperties.password"
println "Locations: $config.flywayProperties.locations"
}
def loadConfiguration() {
def environment = hasProperty('env') ? env : 'dev'
project.ext.envrionment = environment
println "Environment is set to $environment"
def configFile = file('environment.groovy')
println configFile.toURL()
def config = new ConfigSlurper("$environment").parse(configFile.toURL())
project.ext.config = config
}
flyway {
driver = "$config.flywayProperties.driver"
url = "${config.flywayProperties.url}"
user = "${config.flywayProperties.user}"
password = "${config.flywayProperties.password}"
//locations = ['classpath:db/migration' , 'db/insert'] -- Works fine
locations = "${config.flywayProperties.locations}" -- Throws below error
}
「gradle flywayInfo」を実行しようとすると、以下のエラーが発生します
**FAILURE: ビルドが例外で失敗しました。* 問題: タスク ':flywayInfo' の実行に失敗しました。
flywayInfo の実行中にエラーが発生しました場所の不明なプレフィックス (filesystem: または classpath: のいずれかである必要があります): :**
誰かが場所を提供する方法を手伝ってくれますか? 環境に基づいて複数の場所を提供する必要があるため
ありがとう