Я хотел бы создать класс, который поможет мне загружать различные типы свойств (local.properties
, gradle.properties
, $GRADLE_HOME/gradle.properties
, переменные среды, системные свойства и файлы пользовательских свойств (возможно, в других форматах, таких как * 1004). *, xml
, et c.).
Кроме того, я хотел бы использовать это в моих buildSrc/build.gradle.kts
, settings.gradle.kts
и build.gradle.kts
.
Пожалуйста Учтите, что мы используем Gradle 6.+
.
. Простая реализация этого класса (полная реализация будет намного более мощной):
plugins / properties / build .gradle.kts:
package com.example
object Properties {
val environmentVariables = System.getenv()
}
Как мы можем успешно импортировать этот класс Properties
во все эти файлы (buildSrc/build.gradle.kts
, settings.gradle.kts
, build.gradle.kts
) и использовать его оттуда Что-то вроде:
println (com.example.Properties.environmentVariables ["my.property"])
Можем ли мы сделать это, создав этот класс внутри плагина и применить его оттуда? Без предварительной компиляции и выпуска плагина? Может быть что-то вроде:
apply ("plugins / properties / b" uild.gradle.kts ")
Как бы это было минимальной реализацией для этого?
Я пробовал разные подходы, но не смог найти способ, который бы работал с эти 3 файла в целом.