gradle java 打包_如何在Gradle中打包zip依赖项中的文件

在Maven中,我们可以使用分类器生成工件 . 为了让Gradle下载一个带分类器的特定文件,我定义了一个名为zipConfig的新配置,并按如下方式声明了依赖关系:

configurations {

zipConfig

}

dependencies {

...

zipConfig group:'', name:, version:, ext:'zip', classifier:'config'

}

要解压缩文件's files and copy them into my package I defined a task that unzip'文件并将其中的文件复制到build / resources文件夹中 .

task unzipConfig(type: Copy) {

def sdkServerPattern = ".*" + sdkServer + ".*config.*"

def pattern = ~/$sdkServerPattern/

def configZipTree = zipTree(configurations.zipConfig.filter{it.name.matches(pattern)}.singleFile)

from configZipTree

include '**/*filename1'

include '**/*filename2'

into(project.buildDir.path + '/resources')

}

在项目的"pack"任务中(所有内容都打包到.tar.gz文件中),参考资源文件夹中的文件将被打包在一起 .

task pack(type: Tar, dependsOn: unzipConfig) {

dependsOn build

compression = Compression.GZIP

extension = 'tar.gz'

from(configurations.runtime.allArtifacts.files) {

into('/lib')

}

from(configurations.runtime) {

into('/lib')

}

def sdkConfigFolderName = 'build/resources/' + sdkServer + '-' + sdkServerVersion + '/config/'

from sdkConfigFolderName + 'filename1'

from sdkConfigFolderName + 'filename2'

baseName = project.name + '-distribution'

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值