Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Gradle的产品风味;纯粹的;gradle(不是android gradle)_Java_Gradle - Fatal编程技术网

Java Gradle的产品风味;纯粹的;gradle(不是android gradle)

Java Gradle的产品风味;纯粹的;gradle(不是android gradle),java,gradle,Java,Gradle,我想用gradle为不同的客户构建一个java库。 在“纯”gradle中是否有类似android的产品口味 谢谢。答案是肯定的,但您必须使用新的Gradle软件模型,该模型正在酝酿中。这将是一条充满痛苦的道路,正如我在C/Cpp项目中学习到的那样,你将是一名开拓者。以下是您的构建的大致外观 plugins { id 'jvm-component' id 'java-lang' } model { buildTypes { debug release }

我想用gradle为不同的客户构建一个java库。 在“纯”gradle中是否有类似android的产品口味


谢谢。

答案是肯定的,但您必须使用新的Gradle软件模型,该模型正在酝酿中。这将是一条充满痛苦的道路,正如我在C/Cpp项目中学习到的那样,你将是一名开拓者。以下是您的构建的大致外观

plugins {
    id 'jvm-component'
    id 'java-lang'
}

model {
  buildTypes {
    debug
    release
  }
  flavors {
    free
    paid
  }
    components {
        server(JvmLibrarySpec) {
            sources {
                java {
                  if (flavor == flavors.paid) {
                    // do something to your sources
                  }
                  if (builtType == buildTypes.debug) {
                    // do something for debuging
                  }
                    dependencies {
                        library 'core'
                    }
                }
            }
        }

        core(JvmLibrarySpec) {
            dependencies {
                library 'commons'
            }
        }

        commons(JvmLibrarySpec) {
            api {
                dependencies {
                    library 'collections'
                }
            }
        }

        collections(JvmLibrarySpec)
    }
}
参考资料: 1) Java软件模型 2) 风味 注意:我不确定Java软件模型对flavors的支持程度,我将做一些测试并报告


更新:这是可行的,但JVM库规范目前不支持。我将尝试发布一个更完整的答案,并举例说明如何进行自定义规范。

@RaGe I更新了参考资料。我需要做一些双重检查,以确保它的工作说明。我只在c/cpp中使用软件模型,而不在我们的Android/Java项目中使用。让我做一些测试,我会向您报告,这是可行的,但目前JVM库规范不支持。要做到这一点,你必须创建自己的规范。明天我将尝试发布一个示例。@MichaelHobbs:你有完整的最小示例吗?