[英]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.