如何使用maven-publish和artifactory-gradle-plugin生成maven-metata.xml?

Stuporman

我已经用Groovy编写了Gradle插件,并使用Gradle来构建它。我有一个本地网络Artifactory服务器,我将结果发布到使用Gradle中的Gradle Artifactory插件和maven-publish插件。我有另一个Gradle构建脚本,它依赖于此插件作为依赖项。如果我列出了特定版本的依存关系,我就能使所有这些工作正常。我尝试使用Maven版本范围(例如'[1.0,2.0)'),但这无法说明无法找到maven-metadata.xml。我检查了Artifactory,果然不存在。我需要做什么来产生它,最好是在构建插件的过程中?

这是我的自定义gradle插件的build.gradle文件:

buildscript {
    repositories {
        maven {
            url "${artifactory_contextUrl}/plugins-release"
            credentials {
                username = "${artifactory_user}"
                password = "${artifactory_password}"
            }
        }
    }
    dependencies {
        classpath group: 'org.apache.directory.studio', name: 'org.apache.commons.io', version: '2.4'
        classpath group: 'org.jfrog.buildinfo', name: 'build-info-extractor-gradle', version: '2.0.9'
    }
}

plugins {
    id 'com.jfrog.artifactory' version '3.0.1'
}

apply plugin: 'groovy'
apply plugin: 'maven-publish'

artifactory {
    contextUrl = "${artifactory_contextUrl}"
    publish {
        repository {
            repoKey = 'plugins-snapshot-local'
            username = "${artifactory_user}"
            password = "${artifactory_password}"
            maven = true
        }
        defaults {
            publications ('mavenJava')
        }
    }
    resolve {
        repository {
            repoKey = 'libs-release'
            username = "${artifactory_user}"
            password = "${artifactory_password}"
            maven = true
        }
    }
}

dependencies {
    compile gradleApi()
    compile localGroovy()
}

publishing {
    publications {
        mavenJava(MavenPublication) {
            from components.java
        }
    }
}

我搜索了Gradle,Artifactory和Maven文档,以了解maven-metadata.xml以及如何生成和部署。这是有道理的,我可能可以手动构建,但是找不到任何可以解释如何使用maven-publish插件或artifactory-gradle-plugin在Gradle中自动生成它的东西。我不想手动更新文件,因为那样做会使自动化工作失败,并且我也不想切换到mvn,因为我已经在Gradle中投入了很多。

Stuporman

groupId必须将A添加到该publications部分。一旦实现,maven-metadata.xml文件就会发布到工件存储库。

publishing {
    publications {
        mavenJava(MavenPublication) {
            groupId = 'com.group'
        }
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用Gradle从WSDL和XSD生成类,等效于maven-jaxb2-plugin

如何使用 gradle maven-publish 插件和 Kotlin DSL 发布带有空 pom 的 shadow jar?

使用Gradle在setting.xml中使用Maven凭据

在Maven(pom.xml)和Gradle(build.gradle)之间共享依赖项版本

maven-jaxb2-plugin(Maven)生成的日期和时间

如何使用Gradle Publish插件将Proguard JAR作为Maven Artifact发布

如何使gradle在项目的根目录为Maven用户生成有效的pom.xml文件?

使用jrebel-maven-plugin在jar模块的根目录中生成rebel.xml

如何使用Gradle拉Maven测试罐?

如何使用Maven构建Gradle插件

Netbeans 使用 pom.xml (Maven) 而不是 build.gradle (Gradle)

使用jooq和gradle-jooq-plugin(kotlin)生成代码

关于Maven Publish Gradle插件吗?

如何在Artifactory中重建maven-metadata.xml?

Gradle compileOnly和Maven提供

使用简单XML生成gradle错误

使用xmlbeans,inst2xsd和Maven从XML生成XSD

Gradle等效于Maven-versions-plugin

使用带有ZScaler证书的Git,Gradle和Maven?

Gradle使用SCP和私钥发布到Maven存储库

使用JaCoCo和spring-boot-maven-plugin生成代码覆盖率

使用HTTP身份验证和maven-jaxb2-plugin为WSDL生成模式

Gradle setupBuild不转换Maven pom.xml文件

Gradle在Central Maven中格式错误的pom.xml失败

如何将Maven pom.xml转换为build.gradle文件?

为什么Gradle不使用插件的pom.xml中声明的Maven存储库?

如何使用Maven和wsimport从wsdl生成类?

如何使用 SparkSql 和 Hive 为 maven 创建 pom.xml?

如何使用maven和jboss-as-maven-plugin运行JBoss 6.2 EAP服务器?