[英]How do I get a jar task to include a single dependency in gradle
我有一个看起来像这样的任务(这不是该模块启动的主要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'
}
如何在我的interfaceJar任务中包括一个特定的依赖项?
要在不先解压缩的情况下包含依赖项jar :(注意:如果您使用它,则可能要向清单中添加Class-Path条目)
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))
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.