mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2025-07-16 04:14:42 +02:00
Compare commits
1 Commits
build/mast
...
chore/v6/p
Author | SHA1 | Date | |
---|---|---|---|
d797bf8361 |
@ -97,7 +97,7 @@ tasks.named<ShadowJar>("shadowJar") {
|
||||
tasks {
|
||||
withType<Javadoc> {
|
||||
val opt = options as StandardJavadocDocletOptions
|
||||
opt.links("https://papermc.io/javadocs/paper/1.18/")
|
||||
opt.links("https://jd.papermc.io/paper/1.18/")
|
||||
opt.links("https://docs.enginehub.org/javadoc/com.sk89q.worldedit/worldedit-bukkit/" + libs.worldeditBukkit.get().versionConstraint.toString())
|
||||
opt.links("https://javadoc.io/doc/com.plotsquared/PlotSquared-Core/latest/")
|
||||
opt.links("https://jd.adventure.kyori.net/api/" + libs.adventure.get().versionConstraint.toString())
|
||||
|
@ -66,6 +66,7 @@ subprojects {
|
||||
}
|
||||
}
|
||||
|
||||
val javadocDir = rootDir.resolve("docs").resolve("javadoc").resolve(project.name)
|
||||
allprojects {
|
||||
dependencies {
|
||||
// Tests
|
||||
@ -171,6 +172,11 @@ allprojects {
|
||||
}
|
||||
|
||||
tasks {
|
||||
named<Delete>("clean") {
|
||||
doFirst {
|
||||
javadocDir.deleteRecursively()
|
||||
}
|
||||
}
|
||||
|
||||
compileJava {
|
||||
options.compilerArgs.addAll(arrayOf("-Xmaxerrs", "1000"))
|
||||
@ -181,6 +187,16 @@ allprojects {
|
||||
options.encoding = "UTF-8"
|
||||
}
|
||||
|
||||
javadoc {
|
||||
val opt = options as StandardJavadocDocletOptions
|
||||
opt.addStringOption("Xdoclint:none", "-quiet")
|
||||
opt.tags(
|
||||
"apiNote:a:API Note:",
|
||||
"implSpec:a:Implementation Requirements:",
|
||||
"implNote:a:Implementation Note:"
|
||||
)
|
||||
}
|
||||
|
||||
shadowJar {
|
||||
this.archiveClassifier.set(null as String?)
|
||||
this.archiveFileName.set("${project.name}-${project.version}.${this.archiveExtension.getOrElse("jar")}")
|
||||
@ -205,3 +221,37 @@ nexusPublishing {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
tasks {
|
||||
val aggregatedJavadocs = create<Javadoc>("aggregatedJavadocs") {
|
||||
title = "${project.name} ${project.version} API"
|
||||
setDestinationDir(javadocDir)
|
||||
options.destinationDirectory = javadocDir
|
||||
|
||||
doFirst {
|
||||
javadocDir.deleteRecursively()
|
||||
}
|
||||
}.also {
|
||||
it.group = "Documentation"
|
||||
it.description = "Generate javadocs from all child projects as if it was a single project"
|
||||
}
|
||||
|
||||
subprojects.forEach { subProject ->
|
||||
subProject.afterEvaluate {
|
||||
subProject.tasks.withType<Javadoc>().forEach { task ->
|
||||
aggregatedJavadocs.source += task.source
|
||||
aggregatedJavadocs.classpath += task.classpath
|
||||
aggregatedJavadocs.excludes += task.excludes
|
||||
aggregatedJavadocs.includes += task.includes
|
||||
|
||||
val rootOptions = aggregatedJavadocs.options as StandardJavadocDocletOptions
|
||||
val subOptions = task.options as StandardJavadocDocletOptions
|
||||
rootOptions.links(*subOptions.links.orEmpty().minus(rootOptions.links.orEmpty().toSet()).toTypedArray())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
build {
|
||||
dependsOn(aggregatedJavadocs)
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user