Skip to content

Commit 2fd15dd

Browse files
Fix publishing
1 parent 5b68b0d commit 2fd15dd

File tree

7 files changed

+120
-78
lines changed

7 files changed

+120
-78
lines changed

.github/workflows/coverage.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ jobs:
1212

1313
steps:
1414
- uses: actions/checkout@v5
15-
- name: Set up JDK 18
15+
- name: Set up JDK 21
1616
uses: actions/setup-java@v5
1717
with:
1818
distribution: temurin
19-
java-version: 18
19+
java-version: 21
2020
- name: Run Test Coverage
2121
run: ./gradlew jacocoTestReport
2222
- name: Generate JaCoCo Badge

.github/workflows/javadocs.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,15 @@ jobs:
1111
runs-on: ubuntu-latest
1212
steps:
1313
- uses: actions/checkout@v5
14-
- name: Set up JDK 18
14+
- name: Set up JDK 21
1515
uses: actions/setup-java@v5
1616
with:
1717
distribution: adopt
18-
java-version: 18
18+
java-version: 21
1919
- name: Build Javadocs
2020
run: |
2121
echo "Building javadocs with gradle"
22-
./gradlew clean allJavadocs
22+
./gradlew clean javadoc
2323
echo "Moving to javadocs directory:"
2424
cd build/docs/javadoc
2525
echo "Creating .nojekyll to have Github pages deploy html as is:"

.github/workflows/publish_to_nexus.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@ jobs:
2727
- name: Test with Gradle
2828
run: ./gradlew test
2929
- name: Publish to Maven Central
30-
run: ./gradlew publish -PforceSign=true
30+
run: ./gradlew publishToMavenCentral --no-configuration-cache
3131
env:
32-
ORG_GRADLE_PROJECT_sonatypeUsername: "${{ secrets.SONATYPE_USERNAME }}"
33-
ORG_GRADLE_PROJECT_sonatypePassword: "${{ secrets.SONATYPE_PASSWORD }}"
34-
ORG_GRADLE_PROJECT_rainbowdashlabsSigningKey: "${{ secrets.RAINBOWDASHLABS_SIGN_KEY }}"
35-
ORG_GRADLE_PROJECT_rainbowdashlabsSigningPassword: "${{ secrets.RAINBOWDASHLABS_GPG_PASSWORD }}"
32+
ORG_GRADLE_PROJECT_mavenCentralUsername: "${{ secrets.SONATYPE_USERNAME }}"
33+
ORG_GRADLE_PROJECT_mavenCentralPassword: "${{ secrets.SONATYPE_PASSWORD }}"
34+
ORG_GRADLE_PROJECT_signingInMemoryKey: "${{ secrets.RAINBOWDASHLABS_SIGN_KEY }}"
35+
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: "${{ secrets.RAINBOWDASHLABS_GPG_PASSWORD }}"

build.gradle.kts

Lines changed: 104 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,18 @@
11
import com.diffplug.gradle.spotless.SpotlessPlugin
2+
import com.vanniktech.maven.publish.JavaLibrary
3+
import com.vanniktech.maven.publish.JavadocJar
4+
import com.vanniktech.maven.publish.SonatypeHost
25
import de.chojo.PublishData
3-
/*import net.kyori.indra.IndraExtension
4-
import net.kyori.indra.IndraPlugin
5-
import net.kyori.indra.IndraPublishingPlugin*/
66

77
plugins {
8+
id("io.freefair.aggregate-javadoc") version("8.12.2.1")
89
java
910
`maven-publish`
1011
`java-library`
1112
alias(libs.plugins.spotless)
1213
alias(libs.plugins.publishdata)
13-
/* alias(libs.plugins.indra.core)
14-
alias(libs.plugins.indra.publishing)
15-
alias(libs.plugins.indra.sonatype)*/
1614
jacoco
15+
id("com.vanniktech.maven.publish") version "0.30.0"
1716
}
1817
publishData {
1918
useEldoNexusRepos(false)
@@ -65,6 +64,12 @@ allprojects {
6564
testImplementation("org.assertj:assertj-core:3.27.6")
6665
}
6766

67+
java{
68+
toolchain{
69+
languageVersion.set(JavaLanguageVersion.of(21))
70+
}
71+
}
72+
6873
spotless {
6974
java {
7075
licenseHeaderFile(rootProject.file("HEADER.txt"))
@@ -129,39 +134,6 @@ allprojects {
129134
}
130135
}
131136

132-
/*fun configureIndra(extension: IndraExtension) {
133-
extension.javaVersions {
134-
target(17)
135-
testWith(17)
136-
}
137-
138-
extension.github("eldoriarpg", "jackson-bukkit") {
139-
ci(true)
140-
}
141-
142-
extension.mitLicense()
143-
144-
extension.signWithKeyFromPrefixedProperties("rainbowdashlabs")
145-
146-
extension.configurePublications {
147-
pom {
148-
developers {
149-
developer {
150-
id.set("rainbowdashlabs")
151-
name.set("Florian Fülling")
152-
email.set("mail@chojo.dev")
153-
url.set("https://github.com/rainbowdashlabs")
154-
}
155-
developer {
156-
id.set("yannicklamprecht")
157-
name.set("Yannick Lamprecht")
158-
url.set("https://github.com/yannicklamprecht")
159-
}
160-
}
161-
}
162-
}
163-
164-
}*/
165137

166138
subprojects {
167139
apply {
@@ -174,44 +146,111 @@ subprojects {
174146
if (project.name in publicProjects) {
175147
apply {
176148
plugin<MavenPublishPlugin>()
177-
//plugin<IndraPlugin>()
178-
//plugin<IndraPublishingPlugin>()
179149
plugin<SigningPlugin>()
180150
}
181151

182-
/*indra {
183-
configureIndra(this)
184-
}*/
185152
}
186-
}
153+
afterEvaluate {
154+
apply {
155+
plugin<com.vanniktech.maven.publish.MavenPublishPlugin>()
156+
}
187157

188-
/*indra {
189-
configureIndra(this)
158+
mavenPublishing {
159+
publishToMavenCentral(SonatypeHost.CENTRAL_PORTAL)
160+
signAllPublications()
161+
162+
coordinates(groupId = "de.eldoria.jacksonbukkit", artifactId = project.name, version = publishData.getVersion())
163+
164+
pom {
165+
name.set("jackson-bukkit")
166+
description.set(project.description)
167+
inceptionYear.set("2025")
168+
url.set("https://github.com/eldoriarpg/jackson-bukkit")
169+
licenses {
170+
license {
171+
name.set("LGPL-3.0")
172+
url.set("https://opensource.org/license/lgpl-3-0")
173+
}
174+
}
175+
176+
developers {
177+
developer {
178+
id.set("rainbowdashlabs")
179+
name.set("Nora Fülling")
180+
email.set("mail@chojo.dev")
181+
url.set("https://github.com/rainbowdashlabs")
182+
}
183+
}
184+
185+
scm {
186+
url.set("https://github.com/eldoriarpg/jackson-bukkit")
187+
connection.set("scm:git:git://github.com/eldoriarpg/jackson-bukkit.git")
188+
developerConnection.set("scm:git:ssh://github.com/eldoriarpg/jackson-bukkit.git")
189+
}
190+
}
191+
192+
configure(
193+
JavaLibrary(
194+
javadocJar = JavadocJar.Javadoc(),
195+
sourcesJar = true
196+
)
197+
)
198+
}
199+
200+
}
190201
}
191202

192-
indraSonatype {
193-
useAlternateSonatypeOSSHost("s01")
194-
}*/
203+
mavenPublishing {
204+
publishToMavenCentral(SonatypeHost.CENTRAL_PORTAL)
205+
signAllPublications()
206+
207+
208+
coordinates(groupId = "de.eldoria.jacksonbukkit", artifactId = project.name, version = publishData.getVersion())
209+
210+
pom {
211+
name.set("jackson-bukkit")
212+
description.set(project.description)
213+
inceptionYear.set("2025")
214+
url.set("https://github.com/eldoriarpg/jackson-bukkit")
215+
licenses {
216+
license {
217+
name.set("LGPL-3.0")
218+
url.set("https://opensource.org/license/lgpl-3-0")
219+
}
220+
}
221+
222+
developers {
223+
developer {
224+
id.set("rainbowdashlabs")
225+
name.set("Nora Fülling")
226+
email.set("mail@chojo.dev")
227+
url.set("https://github.com/rainbowdashlabs")
228+
}
229+
}
230+
231+
scm {
232+
url.set("https://github.com/eldoriarpg/jackson-bukkit")
233+
connection.set("scm:git:git://github.com/eldoriarpg/jackson-bukkit.git")
234+
developerConnection.set("scm:git:ssh://github.com/eldoriarpg/jackson-bukkit.git")
235+
}
236+
}
237+
238+
configure(
239+
JavaLibrary(
240+
javadocJar = JavadocJar.Javadoc(),
241+
sourcesJar = true
242+
)
243+
)
244+
}
195245

196246
fun applyJavaDocOptions(options: MinimalJavadocOptions) {
197247
val javaDocOptions = options as StandardJavadocDocletOptions
198248
javaDocOptions.links(
199-
"https://javadoc.io/doc/com.google.code.findbugs/jsr305/latest/",
200-
"https://javadoc.io/doc/org.jetbrains/annotations/latest/",
201-
"https://docs.oracle.com/en/java/javase/${java.toolchain.languageVersion.get().asInt()}/docs/api/",
202-
"https://javadoc.io/doc/com.fasterxml.jackson.core/jackson-core/latest/",
203-
"https://javadoc.io/doc/com.fasterxml.jackson.core/jackson-annotations/latest",
204-
"https://javadoc.io/doc/com.fasterxml.jackson.core/jackson-databind/latest",
205-
"https://jd.papermc.io/paper/1.19/"
249+
"https://javadoc.io/doc/org.jetbrains/annotations/latest/",
250+
"https://docs.oracle.com/en/java/javase/${java.toolchain.languageVersion.get().asInt()}/docs/api/"
206251
)
207252
}
208253

209-
tasks {
210-
register<Javadoc>("allJavadocs") {
211-
applyJavaDocOptions(options)
212-
setDestinationDir(file("${layout.buildDirectory}/docs/javadoc"))
213-
val projects = project.rootProject.allprojects.filter { p -> publicProjects.contains(p.name) }
214-
setSource(projects.map { p -> p.sourceSets.main.get().allJava })
215-
classpath = files(projects.map { p -> p.sourceSets.main.get().compileClasspath })
216-
}
254+
tasks.javadoc.configure {
255+
applyJavaDocOptions(options)
217256
}

core/src/main/java/de/eldoria/jacksonbukkit/builder/ModuleBuilder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public abstract class ModuleBuilder<T, V extends JacksonBukkitModule> {
1919
* Whether hex colors should be serialized as hex or not.
2020
*/
2121
protected boolean hexColors = false;
22-
protected NamespacedKeySerializer.Format namespacedKeyFormat;
22+
protected NamespacedKeySerializer.Format namespacedKeyFormat = NamespacedKeySerializer.Format.OBJECT;
2323

2424
/**
2525
* Serialize {@link org.bukkit.Color} as hex string.

paper/src/test/java/de/eldoria/jacksonbukkit/deserializer/ComponentGsonDeserializerTest.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import de.eldoria.jacksonbukkit.JacksonPaper;
1111
import de.eldoria.jacksonbukkit.PaperSerializationTest;
1212
import de.eldoria.jacksonbukkit.serializer.ComponentGsonSerializer;
13+
import de.eldoria.jacksonbukkit.serializer.NamespacedKeySerializer;
1314
import de.eldoria.jacksonbukkit.templates.ComponentTemplate;
1415
import net.kyori.adventure.text.Component;
1516
import org.junit.jupiter.api.Test;
@@ -23,7 +24,8 @@ public Module buildModule() {
2324
return new JacksonPaper(false,
2425
false,
2526
new ComponentGsonDeserializer(),
26-
new ComponentGsonSerializer());
27+
new ComponentGsonSerializer(),
28+
NamespacedKeySerializer.Format.OBJECT);
2729
}
2830

2931
@Test

paper/src/test/java/de/eldoria/jacksonbukkit/serializer/ComponentGsonSerializerTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ public Module buildModule() {
2222
return new JacksonPaper(false,
2323
false,
2424
new ComponentGsonDeserializer(),
25-
new ComponentGsonSerializer());
25+
new ComponentGsonSerializer(),
26+
NamespacedKeySerializer.Format.OBJECT);
2627
}
2728

2829
@Test

0 commit comments

Comments
 (0)