gpt4 book ai didi

java - Gradle 覆盖 zip 存档的默认 'artifactId'

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

我正在上传一些 my-libs.zip到 S3 并且无法获得覆盖默认值的语法 artifactId .目前artifactId ,捡到的是project.name来自 settings.gradle 注:我不想改变我的project.namesettings.gradle

apply plugin: 'maven-publish'

artifacts {
someArtifact file: file('image/my-libs.zip'), name: 'my-libs', type: 'zip'
}

uploadSomeArtifact {
description 'Uploads some artifact.'
group = "com.mypackage"
version = "dummy-SNAPSHOT"
repositories {
maven {
url "s3://my-mvn-repo/snapshot/com/mypackage"
authentication {
awsIm(AwsImAuthentication)
}
}
}
}

最佳答案

首先,由于某种原因,您同时应用了 maven plugin maven-publish plugin .两个插件的功能基本相同,但第一个插件很久以前就被弃用了。您应该决定使用哪个插件,我建议使用 maven-publish插入。

不过,让我们看一下旧的 maven 的文档。插入。它说:

Maven Element: artifactId
Default value: uploadTask.repositories.mavenDeployer.pom.artifactId (if set) or archiveTask.archiveBaseName


然后:

When you set the archiveTask.archiveBaseName property to a value other than the default, you’ll also have to set uploadTask.repositories.mavenDeployer.pom.artifactId to the same value. Otherwise, the project at hand may be referenced with the wrong artifact ID from generated POMs for other projects in the same build.


在这里, mavenDeployer 指的是添加到 RepositoryHandler 的已弃用方法后面 repositories .似乎需要使用这种已弃用的方式来指定目标存储库,而不是使用 maven你使用的方法。遗憾的是,可能无法使用 AWS 身份验证和 s3使用这个旧接口(interface)的协议(protocol)。

现在让我们看看新的 maven-publish插入。使用此插件,您不再需要定义工件和配置 Upload任务。相反,您定义发布和存储库,插件将为发布和存储库的每个组合生成一个任务:
publishing {
publications {
myLibs(MavenPublication) {
groupId = 'com.mypackage'
artifactId = 'my-libs'
version = 'dummy-SNAPSHOT'
artifact (file('image/my-libs.zip')) {
classifier 'src'
extension 'zip'
}
}
}
repositories {
maven {
url 's3://my-mvn-repo/snapshot/com/mypackage'
authentication {
awsIm(AwsImAuthentication)
}
}
}
}
如您所见, repositories部分保持不变, publications部分允许您定义 artifactIdgroupId 一样和 version .

关于java - Gradle 覆盖 zip 存档的默认 'artifactId',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64059445/

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