Skip to content

Commit b02b0e5

Browse files
committed
fix: publication issues
1 parent bcc7149 commit b02b0e5

13 files changed

Lines changed: 68 additions & 88 deletions

File tree

.github/workflows/publish.yml

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,33 +5,39 @@ on:
55
types: [published]
66
workflow_dispatch:
77

8+
env:
9+
MAVEN_CENTRAL_USERNAME: ${{ secrets.OSSRH_USERNAME }}
10+
MAVEN_CENTRAL_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
11+
SIGNING_KEY: ${{ secrets.OSSRH_SIGNING_KEY }}
12+
SIGNING_PASSWORD: ${{ secrets.OSSRH_SIGNING_PASSWORD }}
13+
814
jobs:
915
build:
1016
runs-on: ubuntu-latest
1117
permissions:
1218
contents: read
1319
packages: write
1420
steps:
15-
- uses: actions/checkout@v3
16-
- name: Set up JDK
17-
uses: actions/setup-java@v3
21+
- name: Checkout Application Repository
22+
uses: actions/checkout@v4
23+
24+
- name: Set up JDK 21
25+
uses: actions/setup-java@v4
1826
with:
1927
java-version: '21'
2028
distribution: 'temurin'
2129
server-id: github
2230
settings-path: ${{ github.workspace }}
23-
- name: Build with Gradle
24-
uses: gradle/gradle-build-action@cd3cedc781988c804f626f4cd2dc51d0bdf02a12
25-
with:
26-
arguments: build -x check
27-
- name: Publish
28-
uses: gradle/gradle-build-action@cd3cedc781988c804f626f4cd2dc51d0bdf02a12
29-
with:
30-
arguments: publish
31+
32+
- name: Set up Gradle
33+
uses: actions/setup-java@v4
34+
35+
- name: Publish to Maven Central
36+
run: ./gradlew publishToMavenCentral --stacktrace --no-configuration-cache
3137
env:
3238
USERNAME: ${{ github.actor }}
3339
TOKEN: ${{ secrets.GITHUB_TOKEN }}
34-
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
35-
OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
36-
OSSRH_SIGNING_KEY: ${{ secrets.OSSRH_SIGNING_KEY }}
37-
OSSRH_SIGNING_PASSWORD: ${{ secrets.OSSRH_SIGNING_PASSWORD }}
40+
MAVEN_CENTRAL_USERNAME: ${{ secrets.OSSRH_USERNAME }}
41+
MAVEN_CENTRAL_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
42+
SIGNING_KEY: ${{ secrets.OSSRH_SIGNING_KEY }}
43+
SIGNING_PASSWORD: ${{ secrets.OSSRH_SIGNING_PASSWORD }}

build-logic/conventions/build.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
plugins {
22
`kotlin-dsl`
3+
id("com.vanniktech.maven.publish.base") version "0.31.0" apply false
34
}
45

56
repositories {
@@ -8,6 +9,7 @@ repositories {
89

910
dependencies {
1011
implementation("com.diffplug.spotless:spotless-plugin-gradle:7.0.2")
12+
implementation("com.vanniktech.maven.publish:com.vanniktech.maven.publish.gradle.plugin:0.31.0")
1113
}
1214

1315
gradlePlugin {

build-logic/conventions/src/main/kotlin/LibraryConventionPlugin.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import org.gradle.external.javadoc.JavadocMemberLevel
99
import org.gradle.kotlin.dsl.configure
1010
import org.gradle.kotlin.dsl.create
1111
import org.gradle.kotlin.dsl.getByType
12-
import org.gradle.kotlin.dsl.kotlin
1312
import org.gradle.kotlin.dsl.withType
1413

1514
class LibraryConventionPlugin : Plugin<Project> {
@@ -25,7 +24,8 @@ class LibraryConventionPlugin : Plugin<Project> {
2524
val extension = project.extensions.create<InventoryFrameworkExtension>("inventoryFramework")
2625
project.afterEvaluate {
2726
if (extension.publish.get()) {
28-
configureMavenPublish()
27+
plugins.apply("com.vanniktech.maven.publish.base")
28+
configureInventoryFrameworkPublication()
2929
}
3030
}
3131
}
Lines changed: 9 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,13 @@
1+
import com.vanniktech.maven.publish.MavenPublishBaseExtension
2+
import com.vanniktech.maven.publish.SonatypeHost
13
import org.gradle.api.Project
2-
import org.gradle.api.publish.PublishingExtension
3-
import org.gradle.api.publish.maven.MavenPublication
44
import org.gradle.kotlin.dsl.configure
5-
import org.gradle.kotlin.dsl.create
65

7-
fun Project.configureMavenPublish() {
8-
plugins.apply("maven-publish")
9-
10-
val publicationVersion = project.version.toString() + "-SNAPSHOT"
11-
12-
configure<PublishingExtension> {
13-
publications {
14-
create<MavenPublication>("javaOSSRH") {
15-
groupId = rootProject.group.toString()
16-
artifactId = project.name
17-
version = publicationVersion
18-
from(components.named("java").get())
19-
20-
pom {
21-
name.set("inventory-framework")
22-
description.set("Minecraft Inventory API framework")
23-
url.set("https://github.com/DevNatan/inventory-framework")
24-
inceptionYear.set("2020")
25-
26-
licenses {
27-
license {
28-
name.set("MIT License")
29-
url.set("https://github.com/DevNatan/inventory-framework/blob/main/LICENSE")
30-
}
31-
}
32-
developers {
33-
developer {
34-
name.set("Natan Vieira do Nascimento")
35-
email.set("natanvnascimento@gmail.com")
36-
url.set("https://github.com/DevNatan")
37-
}
38-
}
39-
scm {
40-
connection.set("scm:git:git:github.com/DevNatan/inventoryframework.git")
41-
developerConnection.set("scm:git:https://github.com/DevNatan/inventoryframework.git")
42-
url.set("https://github.com/DevNatan/inventoryframework")
43-
}
44-
}
45-
}
46-
}
47-
48-
repositories {
49-
maven {
50-
name = "OSSRH"
51-
url = uri("https://central.sonatype.com/api/v1/publisher/maven")
52-
credentials {
53-
username = findProperty("ossrh.username") as String? ?: System.getenv("OSSRH_USERNAME")
54-
password = findProperty("ossrh.token") as String? ?: System.getenv("OSSRH_TOKEN")
55-
}
56-
}
57-
}
6+
fun Project.configureInventoryFrameworkPublication() {
7+
extensions.configure<MavenPublishBaseExtension> {
8+
publishToMavenCentral(SonatypeHost.CENTRAL_PORTAL)
9+
signAllPublications()
10+
pomFromGradleProperties()
11+
configureBasedOnAppliedPlugins()
5812
}
59-
}
13+
}

build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
plugins {
22
alias(libs.plugins.spotless) apply false
33
alias(libs.plugins.kotlin) apply false
4+
alias(libs.plugins.publish) apply false
45
}
56

67
group = "me.devnatan"

gradle.properties

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,23 @@
11
org.gradle.parallel=true
2-
org.gradle.configureondemand=true
3-
org.gradle.configuration-cache=true
4-
org.gradle.configuration-cache.parallel=true
52
kotlin.incremental=true
63
kotlin.jvm.target=21
7-
kotlin.compiler.execution.strategy=daemon
4+
kotlin.compiler.execution.strategy=daemon
5+
mavenCentralUsername=hF0LIjUb
6+
mavenCentralPassword=YyOxPjtftSzmgN8sYNuS0beTp7Z916E6tB3Fhg8ftgIm
7+
8+
### Publication ###
9+
POM_NAME=inventory-framework
10+
POM_DESCRIPTION=Minecraft Inventory API framework
11+
POM_URL=https://github.com/DevNatan/inventory-framework
12+
POM_INCEPTION_YEAR=2020
13+
POM_SCM_URL=https://github.com/DevNatan/inventoryframework
14+
POM_SCM_CONNECTION=scm:git:git:github.com/DevNatan/inventoryframework.git
15+
POM_SCM_DEV_CONNECTION=scm:git:https://github.com/DevNatan/inventoryframework.git
16+
POM_LICENCE_NAME=MIT License
17+
POM_LICENSE_URL=https://github.com/DevNatan/inventory-framework/blob/main/LICENSE
18+
POM_DEVELOPER_ID=DevNatan
19+
POM_DEVELOPER_NAME=Natan Vieira do Nascimento
20+
POM_DEVELOPER_URL=natanvnascimento@gmail.com
21+
POM_DEVELOPER_EMAIL=https://github.com/DevNatan
22+
SONATYPE_HOST=CENTRAL_PORTAL
23+
RELEASE_SIGNING_ENABLED=true

gradle/libs.versions.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,4 +54,5 @@ shadowjar = { id = "com.gradleup.shadow", version.ref = "plugin-shadowjar" }
5454
spotless = { id = "com.diffplug.spotless", version.ref = "plugin-spotless" }
5555
kotlin = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
5656
bukkit = { id = "de.eldoria.plugin-yml.bukkit", version.ref = "plugin-bukkit" }
57-
run-paper = { id = "xyz.jpenilla.run-paper", version = "2.3.1" }
57+
run-paper = { id = "xyz.jpenilla.run-paper", version = "2.3.1" }
58+
publish = { id = "com.vanniktech.maven.publish.base", version = "0.31.0" }

gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12.1-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
44
networkTimeout=10000
55
validateDistributionUrl=true
66
zipStoreBase=GRADLE_USER_HOME

inventory-framework-anvil-input/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
plugins {
2-
id("me.devnatan.inventoryframework.library")
32
alias(libs.plugins.kotlin)
3+
id("me.devnatan.inventoryframework.library")
44
}
55

66
inventoryFramework {

inventory-framework-api/build.gradle.kts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@ plugins {
33
alias(libs.plugins.kotlin)
44
}
55

6-
dependencies {
7-
compileOnly(libs.adventure.api)
8-
}
9-
106
inventoryFramework {
117
publish = true
128
}
139

10+
dependencies {
11+
compileOnly(libs.adventure.api)
12+
}
13+
1414
kotlin {
1515
explicitApi()
1616
jvmToolchain(8)

0 commit comments

Comments
 (0)