2015-10-15 4 views
0

Я использую Gradle 2.7 в Windows 7. У меня есть файл свойств «src/main/resources/liquidibase.properties», свойства которого я хотел бы ссылаться в моем скрипте build.gradle. Так, например, в моих свойствах файла У меня естьКак определить переменную среды сценария построения градиента из файла в моем каталоге src/main/resources?

url=jdbc:mysql://localhost:3306/my_db 
username=myuser 
password=mypass 

Я хотел бы ссылаться на них в моем сценарии, как так ...

liquibase { 
    activities { 
    main { 
     changeLogFile 'src/main/resources/db.changelog-1.0.xml' 
     url '${url}' 
     username '${username}' 
     password '${password}' 
    } 
    } 
} 

Кроме того, я хотел бы сделать это только подножка «Gradle сборки «без указания каких-либо дополнительных параметров в командной строке. Как я могу это сделать?

Спасибо, - Дэйв

+0

Вы должны достаточно положить файл liquibase.properties под корень проекта. Затем этот файл можно использовать непосредственно в build.gradle и использовать для фильтрации ('ReplaceTokens') файла свойств проекта в разделе' src/main/resources'. build.gradle не должен читать ресурсы проекта. – Opal

ответ

1

Вы можете загрузить файл свойств затем получить значения из этого ... Вот пример

liquibase { 
    activities { 
    main { 
     File propsFile = new File("${project.rootDir}/src/main/resources/liquibase.properties") 
     Properties properties = new Properties() 
     properties.load(new FileInputStream(propsFile)) 
     changeLogFile 'src/main/resources/db.changelog-1.0.xml' 
     url properties['url'] 
     username properties['username'] 
     password properties['password'] 
    } 
    } 
}