java - 基于 gradle.settings 的 Gradle sourceSets

标签 java gradle source-sets

我希望根据项目的 settings.gradle 中定义的自定义设置有条件地构建 Java 库的某些功能。

示例:

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.

设置.gradle

extraFeatures = true

最佳答案

首先,将参数移至 gradle.properties

其次,使用简单的if来控制源集:

sourceSets (
   if ("true" == "$extraFeatures") {

   }
)

示例(我没有测试):

sourceSets {
    main {
        java {
            srcDir 'src/java'
            if ("true" == "$extraFeatures") {
                srcDir 'src/java/mysecretcode'
            }
        }
    }
}

关于java - 基于 gradle.settings 的 Gradle sourceSets,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32433142/

相关文章:

android - Bitrise 错误找不到 com.google.gms :google-services:3. 2.1

java - 如何从 Gradle 中的 jacoco 插件中排除生成的 sourceSet

java - 我怎样才能从不同的类(class)到达进度条?

android - Firebase - 应用分发未能获取应用信息 : [403] The caller does not have permission

android - Azure DevOps gradle 构建失败

android - 带有自定义源集的 android 的 Gradle 风格 - gradle 文件应该是什么样的?

android - Java类的Gradle设置outputDir

java - 如何在 JDeveloper 的调试中评估自定义表达式

java - C语言中的#include和java语言中的import语句有什么区别?

java - Android中如何获取文件的实际路径?