2015-04-17 1 views
2

Я пытаюсь настроить Gradle строить, чтобы получить свойство пролетного пути от заводного файлапролетного путь 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 Неизвестная префикс для размещения (должно быть файловая система: или путь к классам :): **:

Может кто-то помочь мне, как обеспечить места. Как мне нужно предоставить в нескольких местах на основе среды

Благодаря

ответ

0

Пробовали ли вы просто:

locations = config.flywayProperties.locations 

?

+0

спасибо, он работает. –