Свойства всего проекта для Java - PullRequest
0 голосов
/ 03 июля 2018

Я пишу несколько многомодульных приложений для Android (на самом деле в Котлине), и мне хотелось бы иметь несколько флагов для всего проекта. Я думал об установке этих флагов в Gradle и доступе к ним из моего кода. Но я не мог найти, как это сделать. Возможно ли это?

1 Ответ

0 голосов
/ 03 июля 2018

Вы можете создать файл свойств в Gradle, который будет добавлен в ваш путь к классу во время выполнения. Пожалуйста, адаптируйте следующие groovy / java для kotlin / android

ext {
    someProperty = 'xxx' 
} 
dependencies {
    compile files("$buildDir/generated/resources")
}
task generateResources {
    // configure task inputs/outputs for up-to-date checking/caching 
    inputs.property("someProperty", someProperty) 
    outputs.dir "$buildDir/generated/resources"
    doLast {
         file("$buildDir/generated/resources/myprops.properties").text = "someProperty=$someProperty"
    }
 }
 // important: wire the task into the DAG 
 compileJava.dependsOn generateResources

Тогда в вашем коде Java

InputStream in = MyClass.getClassLoader().getResourceAsStream("myprops.properties");
Properties props = new Properties()
props.load(in) 
String someProperty = props getProperty("someProperty"); // xxx
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...