Как определить переменную среды скрипта сборки Gradle из файла в моем каталоге src/main/resources?

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

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" без указания каких-либо дополнительных параметров в командной строке. Как я могу это сделать?

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

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']
    }
  }
}
Другие вопросы по тегам