Polish "Avoid eager creation of aggregatedJavadoc task"

See gh-45223
This commit is contained in:
Andy Wilkinson 2025-04-17 14:11:14 +01:00
parent 86f09fb952
commit 21a9f4bbc5
1 changed files with 15 additions and 13 deletions

View File

@ -201,19 +201,7 @@ dokkatoo {
moduleName.set("Spring Boot Kotlin API") moduleName.set("Spring Boot Kotlin API")
} }
tasks.register('aggregatedJavadoc', Javadoc) def aggregatedJavadoc = tasks.register('aggregatedJavadoc', Javadoc) {
project.rootProject.gradle.projectsEvaluated {
Set<Project> publishedProjects = rootProject.subprojects.findAll { it != project }
.findAll { it.plugins.hasPlugin(JavaPlugin) && it.plugins.hasPlugin(MavenPublishPlugin) }
.findAll { !it.path.contains(":spring-boot-tools:") ||
it.path.contains(":spring-boot-tools:spring-boot-buildpack-platform") ||
it.path.contains(":spring-boot-tools:spring-boot-loader-tools") ||
(it.path.contains(":spring-boot-tools:spring-boot-loader") && !it.path.contains("spring-boot-loader-classic"))}
.findAll { !it.name.startsWith('spring-boot-starter') }
tasks.named('aggregatedJavadoc', Javadoc).configure {
dependsOn publishedProjects.javadoc
source publishedProjects.javadoc.source
classpath = project.files(publishedProjects.javadoc.classpath)
destinationDir = project.file(project.layout.buildDirectory.dir("docs/javadoc")) destinationDir = project.file(project.layout.buildDirectory.dir("docs/javadoc"))
options { options {
author = true author = true
@ -225,6 +213,20 @@ project.rootProject.gradle.projectsEvaluated {
windowTitle = "Spring Boot ${project.version} API" windowTitle = "Spring Boot ${project.version} API"
} }
doFirst(new ConfigureJavadocLinks(configurations.resolvedBom, ["Spring Framework", "Spring Security", "Tomcat"])) doFirst(new ConfigureJavadocLinks(configurations.resolvedBom, ["Spring Framework", "Spring Security", "Tomcat"]))
}
project.rootProject.gradle.projectsEvaluated {
Set<Project> publishedProjects = rootProject.subprojects.findAll { it != project }
.findAll { it.plugins.hasPlugin(JavaPlugin) && it.plugins.hasPlugin(MavenPublishPlugin) }
.findAll { !it.path.contains(":spring-boot-tools:") ||
it.path.contains(":spring-boot-tools:spring-boot-buildpack-platform") ||
it.path.contains(":spring-boot-tools:spring-boot-loader-tools") ||
(it.path.contains(":spring-boot-tools:spring-boot-loader") && !it.path.contains("spring-boot-loader-classic"))}
.findAll { !it.name.startsWith('spring-boot-starter') }
aggregatedJavadoc.configure {
dependsOn publishedProjects.javadoc
source publishedProjects.javadoc.source
classpath = project.files(publishedProjects.javadoc.classpath)
} }
} }