gpt4 book ai didi

Gradle:如何发布自定义文件 Artifact ?

转载 作者:行者123 更新时间:2023-12-02 01:08:13 24 4
gpt4 key购买 nike

Gradle 版本:3.5

我正在尝试发布我的自定义 RPM Artifact ,但文档确实不清楚应该如何完成。

这是我们发布 gradle 脚本的摘录:

project(':path:to:rpm:project') {

apply plugin: "java"
apply plugin: "maven-publish"

publishing {
repositories {
maven {
credentials {
username 'aaa'
password 'sss'
}
url "https://url/to/repository"
}
}

publications {
pub(MavenPublication) {
artifact 'our-software-rpm' {

}
}
}
}

task rpmArtifact(dependsOn: 'installerMakeRpm') {
ext.rpmfile = file("$project.buildDir/tmp/rpmbuild/RPMS/x86_64/our-software.x86_64.rpm")
}

artifacts {
archives(rpmArtifact.rpmfile) {
name 'our-software-rpm'
type 'rpm'
builtBy rpmArtifact
}
}

assemble.dependsOn rpmArtifact
}

我不确定我应该如何在发布关闭中引用自定义 RPM Artifact 。使用 Artifact 名称 ('our-software-rpm') 不起作用,使用任务名称 (rpmArtifact) 也不起作用。所以我该怎么做?

此外,该项目应用了 java 插件来获取一个实际上可以接受文件 Artifact 的 ArtifactHandler - DefaultArtifactHandler 不适用于此。有没有更好的选择,因为这个项目真的不是一个java项目,我不想应用我真的不需要的插件。

最佳答案

我在 gradle 问题列表中收到了一个模糊的提示,以下解决方案最终对我有用:

请注意,我仍然有不需要的 java 插件声明,我没有找到解决方案。

project(':Release:Installers:OurProject:Linux:our-project') {

apply plugin: 'java'

def myRpm = artifacts.add('archives', file("$project.buildDir/rpm/our-project-${productInfo.ai_version}.x86_64.rpm")) {
builtBy('installerMakeRpm')
}

publishing {
publications {
pub(MavenPublication) {
artifact myRpm
artifactId "our-project-installer-linux"
groupId 'com.company.ourproject'
version productInfo.release_tag
}
}
}
}

关于Gradle:如何发布自定义文件 Artifact ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46523707/

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