Gradle sourceSets на основе gradle.settings
Я хотел бы, чтобы некоторые функции моей библиотеки Java были условно построены на основе пользовательских настроек, определенных в файле settings.gradle проекта.
Пример:
build.gradle
apply plugin: 'java'
sourceCompatibility = 1.7
repositories {
mavenCentral()
}
sourceSets {
extra_feature
}
dependencies {
compile 'net.java.dev.jna:jna:4.1.0'
}
// I need a way to link the "extra_feature" sourceSets to the default "build" action based on some settings in settings.gradle.
settings.gradle
extraFeatures = true
1 ответ
Решение
Сначала переместите ваш параметр в gradle.properties
Во-вторых, используйте простой if
управлять исходными наборами:
sourceSets (
if ("true" == "$extraFeatures") {
}
)
Пример (я не проверял это):
sourceSets {
main {
java {
srcDir 'src/java'
if ("true" == "$extraFeatures") {
srcDir 'src/java/mysecretcode'
}
}
}
}