Create an account and create an ISSUE about Repo. And waiting approved.
Installing GnuPG
gpg --version
Generating a Key Pair and Sharing Key
gpg --generate-key
gpg --list-keys --keyid-format short
gpg --list-secret-keys --keyid-format short
gpg --keyserver hkp://pool.sks-keyservers.net --send-keys <pubkeyid>
// gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys <pubkeyid>
Delete Key or Sub Key
gpg2 –edit-key A6BAB25
gpg> 1
gpg> save
gpg> key 2
gpg> delkey
Add ~/.gradle/gradle.properties
with following content:
signing.keyId=<pubkeyid>
signing.password=<passwordgpg>
// For new version GPG, secring.gpg does not be used.
// But you can still use `gpg --export-secret-keys > ~/.gnupg/secring.gpg` to generate
// On windows, you can use `C:/Users/<yourname>/.gnupg/secring.gpg` instead.
signing.secretKeyRingFile=/Users/<yourname>/.gnupg/secring.gpg
ossrhUsername=<name>
ossrhPassword=<password>
build.gradle example:
group ‘net.bndy’
version ‘1.0’
apply plugin: ‘java’
apply plugin: ‘maven’
apply plugin: ‘signing’
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
testCompile group: ‘junit’, name: ‘junit’, version: ‘4.12’
compile group: ‘com.fasterxml.jackson.core’, name: ‘jackson-core’, version: ‘2.9.3’
compile group: ‘com.fasterxml.jackson.core’, name: ‘jackson-databind’, version: ‘2.9.3’
compile group: ‘commons-codec’, name: ‘commons-codec’, version: ‘1.11’
compile group: ‘javax.mail’, name: ‘javax.mail-api’, version: ‘1.6.0’
compile group: ‘org.apache.directory.studio’, name: ‘org.apache.commons.io’, version: ‘2.4’
compile group: ‘javax.servlet’, name: ‘servlet-api’, version: ‘2.5’
}
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
}
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 ‘Jlib’
packaging ‘jar’
// optionally artifactId can be defined here
description ‘A Java Library’
url ‘<https://github.com/bndynet/Jlib’>
scm {
url ‘<https://github.com/bndynet/Jlib’>
connection ‘scm:git:git://github.com/bndynet/Jlib.git’
developerConnection ‘scm:git:[email protected]:bndynet/Jlib.git’
}
licenses {
license {
name ‘The Apache License, Version 2.0’
url ‘<http://www.apache.org/licenses/LICENSE-2.0.txt’>
}
}
developers {
developer {
id ‘bndynet’
name ‘Bendy Zhang’
email ‘[email protected]’
url ‘<http://bndy.net>’
}
}
}
}
}
gradle uploadArchives
https://oss.sonatype.org/#stagingRepositories
to close your repo. If closed successfully, you can release it. Otherwise, drop it and regradle it again.