gpt4 book ai didi

gradle - Gradle如何构建具有不同依赖关系的jar版本

转载 作者:行者123 更新时间:2023-12-03 06:08:27 28 4
gpt4 key购买 nike

如果以前有人尝试解决类似问题,请分享您的解决方案。在我的gradle文件中,我有不同的子项目。到目前为止,我已经可以使用core构建rest-client了,但是可能还有应该使用db-client子项目来构建rest-client的情况。基本上,我的想法是我需要能够构建具有不同依赖关系的rest-client。假设一个任务建立了依赖于一个项目的rest-client,另一任务建立了依赖于两个子项目的rest-client。

project(':core') {
apply plugin: "groovy"
repositories {
mavenCentral()
}
dependencies {
compile 'org.codehaus.groovy:groovy-all:2.4.5'
testCompile "org.testng:testng:6.8.21"
}
}

//rest-client Project specific stuff
project(':rest-client') {
apply plugin: "groovy"
repositories {
mavenCentral()
}

dependencies {
compile 'org.codehaus.groovy.modules.http-builder:http-builder:0.7.1'
compile project(':core')
compile 'org.codehaus.groovy:groovy-all:2.4.5'
testCompile "org.testng:testng:6.8.21"

}
jar {
from configurations.runtime
}
}

//db-client Project specific stuff
project(':db-client') {
apply plugin: "groovy"
repositories {
mavenCentral()
}
dependencies {
compile project(':core')
compile 'org.codehaus.groovy:groovy-all:2.4.5'
compile 'mysql:mysql-connector-java:5.1.37'
//compile 'org.elasticsearch:elasticsearch:2.3.1'
compile 'org.elasticsearch:elasticsearch-client-groovy:0.10.0'
}
}

最佳答案

抱歉,您的回复很晚,如果您仍然需要这样的示例,请参见此处。

apply plugin: "groovy"

repositories {
mavenCentral()
}

configurations {
projectDep
libraryDep
}

project('core') {
apply plugin: "java"

}

dependencies {
projectDep project(':core')
libraryDep 'my.project:project:0.1.0'

compile 'org.codehaus.groovy.modules.http-builder:http-builder:0.7.1'
compile 'org.codehaus.groovy:groovy-all:2.4.5'
testCompile "org.testng:testng:6.8.21"
}

jar {
from configurations.libraryDep
}

task projectJar(type: Jar) {
appendix = 'project'
from sourceSets.main.output, configurations.projectDep, configurations.runtime
}

然后,您有2个jar任务。该jar从compile,runtime和libraryDep获取所有声明的依赖项,而projectJar从compile,runtime和projectDep获取。

希望这可以帮助。

关于gradle - Gradle如何构建具有不同依赖关系的jar版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36711521/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com