HoneyMoose
  • 首页
  • Java
  • Jersey
  • Jira
  • Confluence
  • U.S.
    • USRealEstate
    • U.S. Travel
    • H1B
  • 项目和网站
    • CWIKI.US
    • OSSEZ 社区
    • WIKI.OSSEZ.COM
    • BUG.OSSEZ.COM
    • RSS.OSSEZ.COM
BLOG.OSSEZ.COM
A responsive blog theme focused om user reading experience
  1. Home
  2. Computer Science
  3. This article

Gradle 如何配置上传包到 OSSRH 仓库中

2020年12月28日 501Browse 0Like 0Comments

将包上传到 OSSRH 仓库中需要进行下面的一些配置就可以了。

当你知道配置参数的时候就会非常方便的上传了,配置的过程也不是很复杂。

导入插件

你需要导入 2 个插件到 Gradle 项目中。

	id 'maven'
	id 'signing'

gradle-ossrh-01

配置打包任务

如果你使用的是 Java 项目的话,你需要将源代码和文档都进行打包。

添加下面 2 个打包任务

task javadocJar(type: Jar) {
    classifier = 'javadoc'
    from javadoc
}

task sourcesJar(type: Jar) {
    classifier = 'sources'
    from sourceSets.main.allSource
}

然后将程序和代码进行压缩成一个归档文件。

使用下面的命令进行归档。

artifacts {
    archives javadocJar, sourcesJar
}

签名

要上传到中央仓库,签名是必须的。

添加下面的任务进行签名

signing {
    sign configurations.archives
}

同时,你还需要在 C:\Users\yhu.gradle 文件夹中创建一个 gradle.properties 文件。

根据你的操作系统不同和用户不同,上面的路径需要自行调整下。

内容如下。

signing.keyId=YourKeyId
signing.password=YourPublicKeyPassword
signing.secretKeyRingFile=PathToYourKeyRingFile

ossrhUsername=your-jira-id
ossrhPassword=your-jira-password

根据你参数的不同来进行调整。

有关需要调整的参数和生成的秘钥等,请参考:Gradle 签名的配置文件 gradle.properties 文章中的内容。

设置 Metadata 和上传

在你的 Gradle 的构建文件中,定义:

group = "com.example.applications"
archivesBaseName = "example-application"
version = "1.4.7"

上面的配置就等于是 Maven POM 文件的包定义了。

然后添加上传的 Task 到你的 gradle 文件中。

uploadArchives {
  repositories {
    mavenDeployer {
      beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }

      repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") {
        authentication(userName: ossrhUsername, password: ossrhPassword)
      }

      snapshotRepository(url: "https://oss.sonatype.org/content/repositories/snapshots/") {
        authentication(userName: ossrhUsername, password: ossrhPassword)
      }

      pom.project {
        name 'Example Application'
        packaging 'jar'
        // optionally artifactId can be defined here 
        description 'A application used as an example on how to set up 
          pushing  its components to the Central Repository.'
        url 'http://www.example.com/example-application'

        scm {
          connection 'scm:svn:http://foo.googlecode.com/svn/trunk/'
          developerConnection 'scm:svn:https://foo.googlecode.com/svn/trunk/'
          url 'http://foo.googlecode.com/svn/trunk/'
        }

        licenses {
          license {
            name 'The Apache License, Version 2.0'
            url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
          }
        }

        developers {
          developer {
            id 'manfred'
            name 'Manfred Moser'
            email '[email protected]'
          }
        }
      }
    }
  }
}

在完成上面所有的配置后,直接运行就可以上传了,但是需要注意的是,根据你项目的不同,上面的配置参数也是需要一定修改的。

 

https://www.ossez.com/t/gradle-ossrh/790

Tags: None
Last updated:2020年12月28日

Kratos

stay absorbed stay excellent

Like
< Previous
Next >

Comments

Cancel reply

Newest Hotspots Random
Newest Hotspots Random
网络编程常用的几种字符编码 Java 中的 String Pool 简介 有关 Java 9 的 String Java String 性能和优化 Java String 手工引用指针 Java String 文字(Literal)和 对象(Object)初始化
Jenkins 通过检查代码提交自动触发编译IntelliJ IDEA 2022 年版本中的作者提示Discourse 新用户可插入媒体的数量Discourse 的信任级别Java 使用 char[] Array 还是 String 存储字符串密码Java 字符串引用(String Interning)
美国科研优势还能维持多久 Confluence 6 workbox 配置查询间隔 Confluence 6 站点高级自定义 如何看待美国国务院呼吁海外美国公民立刻归国,否则做好无限期留在海外的准备 Hibernate H2 数据库连接配置 URL 解读 Spring Boot 文档
Categories
  • Akka
  • Algorithm(算法)
  • AMQP
  • Angular
  • CI
  • Compile And CI
  • Computer Science
  • Confluence
  • DataBase
  • Gradle
  • H1B
  • Hibernate
  • IDE
  • Java
  • Jersey
  • Jira
  • MariaDB
  • PrestaShop
  • Spring
  • Spring Batch
  • U.S.
  • U.S. Travel
  • USRealEstate
  • 我的小厨

COPYRIGHT © 2020 HoneyMoose. ALL RIGHTS RESERVED.

THEME CWIKIUS.CN MADE BY VTROIS