Skip to content

Commit 710e567

Browse files
committed
Check javadoc macros in adoc files
Closes gh-48298
1 parent 780b412 commit 710e567

File tree

7 files changed

+538
-4
lines changed

7 files changed

+538
-4
lines changed

buildSrc/src/main/java/org/springframework/boot/build/AntoraConventions.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,16 @@
4040
import org.gradle.api.file.FileCollection;
4141
import org.gradle.api.logging.LogLevel;
4242
import org.gradle.api.plugins.JavaBasePlugin;
43+
import org.gradle.api.plugins.JavaPlugin;
44+
import org.gradle.api.plugins.JavaPluginExtension;
4345
import org.gradle.api.provider.Provider;
4446
import org.gradle.api.tasks.Copy;
47+
import org.gradle.api.tasks.SourceSet;
4548
import org.gradle.api.tasks.TaskContainer;
4649
import org.gradle.api.tasks.TaskProvider;
4750

4851
import org.springframework.boot.build.antora.AntoraAsciidocAttributes;
52+
import org.springframework.boot.build.antora.CheckJavadocMacros;
4953
import org.springframework.boot.build.antora.GenerateAntoraPlaybook;
5054
import org.springframework.boot.build.bom.BomExtension;
5155
import org.springframework.boot.build.bom.ResolvedBom;
@@ -97,6 +101,27 @@ private void apply(Project project, AntoraPlugin antoraPlugin) {
97101
(antoraTask) -> configureAntoraTask(project, antoraTask, npmInstallTask, generateAntoraPlaybookTask));
98102
project.getExtensions()
99103
.configure(NodeExtension.class, (nodeExtension) -> configureNodeExtension(project, nodeExtension));
104+
TaskProvider<CheckJavadocMacros> checkAntoraJavadocMacros = tasks.register("checkAntoraJavadocMacros",
105+
CheckJavadocMacros.class, (task) -> {
106+
task.setSource(project.files(ANTORA_SOURCE_DIR));
107+
task.getOutputDirectory().set(project.getLayout().getBuildDirectory().dir(task.getName()));
108+
});
109+
project.getPlugins().withType(JavaPlugin.class, (java) -> {
110+
String runtimeClasspathConfigurationName = project.getExtensions()
111+
.getByType(JavaPluginExtension.class)
112+
.getSourceSets()
113+
.getByName(SourceSet.MAIN_SOURCE_SET_NAME)
114+
.getRuntimeClasspathConfigurationName();
115+
Configuration javadocMacros = project.getConfigurations().create("javadocMacros", (configuration) -> {
116+
configuration.extendsFrom(project.getConfigurations().getByName(runtimeClasspathConfigurationName));
117+
configuration.setDescription(
118+
"Dependencies referenced in javadoc macros. Extends from " + runtimeClasspathConfigurationName);
119+
configuration.setCanBeResolved(true);
120+
configuration.setCanBeDeclared(true);
121+
configuration.setCanBeConsumed(false);
122+
});
123+
checkAntoraJavadocMacros.configure((macrosTask) -> macrosTask.setClasspath(javadocMacros));
124+
});
100125
}
101126

102127
private void configureGenerateAntoraPlaybookTask(Project project,

0 commit comments

Comments
 (0)