11import 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
25import de.chojo.PublishData
3- /* import net.kyori.indra.IndraExtension
4- import net.kyori.indra.IndraPlugin
5- import net.kyori.indra.IndraPublishingPlugin*/
66
77plugins {
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}
1817publishData {
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
166138subprojects {
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
196246fun 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}
0 commit comments