2013-06-28 3 views
2

Я хотел бы иметь файл свойств, который был развернут с моим приложением, чтобы я мог получить к нему доступ во время выполнения. Как я могу получить доступ к моему файлу build.gradle к моему файлу свойств, расположенному в src/main/resources?Использовать файл настраиваемых свойств

Я бы хотел использовать этот файл как обычно для использования gradle.properties.

ответ

10

Вы хотите прочитать этот файл свойств в файле build.gradle? Вы можете просто:

def props = new Properties() 
file("src/main/resources/my.properties").withInputStream { 
    stream -> props.load(stream) 
} 
+0

Я хотел бы использовать этот файл как Я бы обычно использовал gradle.properties. –

+1

Вы можете перебирать пары ключ/значение и добавлять их в качестве дополнительных свойств. –

+0

Есть ли способ передать другой файл в качестве параметра для градуировки? Как и gradle --properties-file = myfile.properties task – Gavriel

4

Вот метод, если вы хотите загрузить свойства из файла внешних .properties и объединить их с теми из gradle.properties:

def loadExtraProperties(String fileName) { 
    def props = new Properties() 
    props.load(new FileInputStream(fileName)) 

    props.each { key, val -> 
     project.set(key, val) 
    } 
} 
+0

Лучше использовать 'file() .InInputStream()', поэтому поток становится правильно закрытым, даже если демон Gradle все еще запущен. – sschuberth