zoukankan      html  css  js  c++  java
  • Gradle 如何配置上传包到 OSSRH 仓库中

    将包上传到 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:Usersyhu.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 'manfred@sonatype.com'
              }
            }
          }
        }
      }
    }
    

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

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

  • 相关阅读:
    Xcode升级7.3 自动补全不提示导入的自定义类解决方案
    workspace & subProject & target
    iOS开发笔记:编译时出现的错误和解决办法
    Apple iOS推送证书配置和生成教程
    UITextField总结--博主总结的真好
    maven库
    数据库事务四种属性
    redis 相关知识
    MySQL索引
    Mybatis 常用标签
  • 原文地址:https://www.cnblogs.com/huyuchengus/p/14199774.html
Copyright © 2011-2022 走看看