gpt4 book ai didi

gradle - 如何使用gradle将多个zip文件发布(部署)到工件上?

转载 作者:行者123 更新时间:2023-12-03 03:22:03 25 4
gpt4 key购买 nike

我想使用gradle脚本将多个zip文件(来自不同目录)上传到 Artifact 。我可以使用以下代码上传单个发行版。

    distributions {
main {
baseName = 'sample'
contents {
from{'src/main/dist/sample'}
}
}

}
publishing {
repositories {
maven {
url "${artifactoryURL}/myFiles"
credentials {
username artifactoryUser
password artifactoryPassword
}
}
}
publications {
distribution(MavenPublication) {
groupId 'com.test'
artifactId 'sample'
version version
artifact (distZip) {
}
}
}
}

请帮助上传来自不同来源(“src / main / dist / second”)的多个zip文件。

最佳答案

这是build.gradle的完整示例。要发布zip,您应该运行distZip artifactoryPublish

buildscript {
repositories {
jcenter()
}
dependencies {
classpath "org.jfrog.buildinfo:build-info-extractor-gradle:3.1.1"
}
}

apply plugin: 'com.jfrog.artifactory'
apply plugin: 'maven-publish'
apply plugin: 'distribution'

//Defining list of our distributions, every value is map which contains value and version of every distribution
def dists = [
[name:'sample', version: 1],
[name:'second', version: 1]
]

distributions {
//Creating distribution from each value of the distributions list defined above
dists.each { dist ->
"$dist.name" {
baseName = "$dist.name"
contents {
from{"src/main/dist/${dist.name}"}
}
}
}
}

//Every new distribution creates task "${distributionName}DistZip" so we make posible to run them with base task distZip
distZip.dependsOn {
tasks.findAll{ task -> task.name.endsWith('DistZip') }
}

publishing {
publications {
//Again iterating list to make publication for every distribution
dists.each { dist ->
//Every publication has name of the distibution
"$dist.name"(MavenPublication) {
groupId "test"
version = dist.version
artifactId = dist.name

artifact("$buildDir/distributions/${dist.name}.zip")
}
}
}
}

artifactory {
contextUrl = "$URL"
publish {
repository {
repoKey = 'REPO_KEY'

username = USER_NAME
password = PASSWORD
}
defaults {
//Publish every distribution to Artifactory
dists.each { dist ->
publications(dist.name)
}
}
}
}

关于gradle - 如何使用gradle将多个zip文件发布(部署)到工件上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33493813/

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