我有一个看起来像这样的任务(这不是这个模块踢出的主jar,还有一个我无法显示)
task interfaceJar(type: Jar) {
classifier = 'interface'
from "$buildDir/classes/main/"
include 'x/y/z/stuff.class'
}
还有一些像这样的依赖项
dependencies {
/* lots of dependencies */
compile 'com.esotericsoftware:kryo:3.0.3'
}
如何在我的接口 Jar 任务中包含该特定依赖项?
要包含依赖项 jar 而不先解压缩它:(注意:如果您使用它,您可能需要在清单中添加类路径条目)
task interfaceJar(type: Jar) {
classifier = 'interface'
from "$buildDir/classes/main/"
from configurations.compile.findAll{it.name.contains('kryo')}
include 'x/y/z/stuff.class'
include '*.jar'
}
编辑:解压缩依赖项jar并将内容包含在接口jar中:
task interfaceJar(type: Jar) {
classifier = 'interface'
from("$buildDir/classes/main/"){
include 'stuff.class'
}
configurations.compile.findAll{it.name.contains('kryo')}.each{
from(it.isDirectory() ? it : zipTree(it))
}
}