Skip to content

Commit

Permalink
add: Upload Sonatype
Browse files Browse the repository at this point in the history
  • Loading branch information
Jongye0l committed Jan 17, 2024
1 parent 1a65e18 commit ee018e9
Show file tree
Hide file tree
Showing 4 changed files with 171 additions and 1 deletion.
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,9 @@ build/
token

#IntelliJ IDEA
.idea/
.idea/

#Account Information
gradle.properties
*.gpg
*.asc
27 changes: 27 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,18 @@
buildscript {
dependencies {
classpath "io.github.gradle-nexus:publish-plugin:1.3.0"
}
}

plugins {
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'java'
}

apply plugin: 'io.github.gradle-nexus.publish-plugin'
apply from: "publish-maven.gradle"
apply from: 'publish.gradle'

group = 'xyz.krmentos.adofaigg'
version = '1.0.0'

Expand All @@ -14,3 +25,19 @@ dependencies {
compileOnly 'org.projectlombok:lombok:1.18.26'
annotationProcessor 'org.projectlombok:lombok:1.18.26'
}

tasks.withType(JavaCompile).configureEach {
options.encoding = "UTF-8"
}

processResources {
def props = [version: version]
inputs.properties props
filteringCharset 'UTF-8'
}

javadoc {
options {
encoding = 'UTF-8'
}
}
123 changes: 123 additions & 0 deletions publish-maven.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
apply plugin: 'maven-publish'
apply plugin: 'signing'
apply from: 'publish.gradle'

task javadocJar(type: Jar) {
archiveClassifier.set("javadoc")
from javadoc
}

task sourcesJar(type: Jar) {
archiveClassifier.set("sources")
from sourceSets.main.allSource
}

artifacts {
archives sourcesJar
archives javadocJar
}


group = PUBLISH_GROUP_ID
version = PUBLISH_VERSION

ext["signing.keyId"] = ''
ext["signing.password"] = ''
ext["signing.secretKeyRingFile"] = ''
ext["ossrhUsername"] = ''
ext["ossrhPassword"] = ''
ext["sonatypeStagingProfileId"] = ''

File secretPropsFile = project.rootProject.file('gradle.properties')
if (secretPropsFile.exists()) {
Properties p = new Properties()
p.load(new FileInputStream(secretPropsFile))
p.each { name, value ->
ext[name] = value
}
} else {
ext["signing.keyId"] = System.getenv('SIGNING_KEY_ID')
ext["signing.password"] = System.getenv('SIGNING_PASSWORD')
ext["signing.secretKeyRingFile"] = System.getenv('SIGNING_SECRET_KEY_RING_FILE')
ext["ossrhUsername"] = System.getenv('OSSRH_USERNAME')
ext["ossrhPassword"] = System.getenv('OSSRH_PASSWORD')
ext["sonatypeStagingProfileId"] = System.getenv('SONATYPE_STAGING_PROFILE_ID')
}

publishing {
publications {
release(MavenPublication) {
groupId PUBLISH_GROUP_ID
artifactId PUBLISH_ARTIFACT_ID
version PUBLISH_VERSION

artifact "$buildDir/libs/${project.getName()}-${version}.jar"
artifact sourcesJar
artifact javadocJar

pom {
name = PUBLISH_ARTIFACT_ID
description = PUBLISH_DESCRIPTION
url = PUBLISH_URL
licenses {
license {
name = PUBLISH_LICENSE_NAME
url = PUBLISH_LICENSE_URL
}
}
developers {
developer {
id = PUBLISH_DEVELOPER_ID
name = PUBLISH_DEVELOPER_NAME
email = PUBLISH_DEVELOPER_EMAIL
}
}
scm {
connection = PUBLISH_SCM_CONNECTION
developerConnection = PUBLISH_SCM_DEVELOPER_CONNECTION
url = PUBLISH_SCM_URL
}
withXml {
def dependenciesNode = asNode().appendNode('dependencies')

project.configurations.implementation.allDependencies.each {
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', it.group)
dependencyNode.appendNode('artifactId', it.name)
dependencyNode.appendNode('version', it.version)
}
}
}
}
}
repositories {
maven {
name = "sonatype"
url = "https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/"

credentials {
username ossrhUsername
password ossrhPassword
}
}
}
}

nexusPublishing {
repositories {
sonatype {
nexusUrl.set(uri("https://s01.oss.sonatype.org/service/local/"))
snapshotRepositoryUrl.set(uri("https://s01.oss.sonatype.org/content/repositories/snapshots/"))
packageGroup = PUBLISH_GROUP_ID
stagingProfileId = sonatypeStagingProfileId
username = ossrhUsername
password = ossrhPassword
}
}
}

signing {
sign configurations.archives
useGpgCmd()
sign(publishing.publications["release"])
}
15 changes: 15 additions & 0 deletions publish.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
ext {
PUBLISH_GROUP_ID = 'xyz.krmentos'
PUBLISH_VERSION = '1.0.0'
PUBLISH_ARTIFACT_ID = 'adofai-gg-api'
PUBLISH_DESCRIPTION = 'Adofai.gg API in java'
PUBLISH_URL = 'https://github.com/Team-Mentos/Adofai-gg-API-Java'
PUBLISH_LICENSE_NAME = 'BSD 3-Clause License'
PUBLISH_LICENSE_URL = 'https://github.com/Team-Mentos/Adofai-gg-API-Java/blob/master/LICENSE'
PUBLISH_DEVELOPER_ID = 'Jongyeol'
PUBLISH_DEVELOPER_NAME = 'Jongyeol'
PUBLISH_DEVELOPER_EMAIL = 'jongyeol@krmentos.xyz'
PUBLISH_SCM_CONNECTION = 'scm:git:github.com/Team-Mentos/Adofai-gg-API-Java.git'
PUBLISH_SCM_DEVELOPER_CONNECTION = 'scm:git:ssh://github.com:Team-Mentos/Adofai-gg-API-Java.git'
PUBLISH_SCM_URL = 'https://github.com/Team-Mentos/Adofai-gg-API-Java/tree/master'
}

0 comments on commit ee018e9

Please sign in to comment.