Skip to content

Commit

Permalink
Apply conventions plugin to all subprojects
Browse files Browse the repository at this point in the history
  • Loading branch information
philwebb committed Sep 24, 2024
1 parent 54c3ccb commit ad72411
Show file tree
Hide file tree
Showing 129 changed files with 65 additions and 168 deletions.
4 changes: 4 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,7 @@ allprojects {
resolutionStrategy.cacheChangingModulesFor 0, "minutes"
}
}

subprojects {
apply plugin: "org.springframework.boot.conventions"
}
Original file line number Diff line number Diff line change
Expand Up @@ -68,23 +68,26 @@ private void configure(KotlinCompile compile) {

private void configureDokkatoo(Project project) {
DokkatooExtension dokkatoo = project.getExtensions().getByType(DokkatooExtension.class);
dokkatoo.getDokkatooSourceSets().named(SourceSet.MAIN_SOURCE_SET_NAME).configure((sourceSet) -> {
sourceSet.getSourceRoots().setFrom(project.file("src/main/kotlin"));
sourceSet.getClasspath()
.from(project.getExtensions()
.getByType(SourceSetContainer.class)
.getByName(SourceSet.MAIN_SOURCE_SET_NAME)
.getOutput());
sourceSet.getExternalDocumentationLinks().create("spring-boot-javadoc", (link) -> {
link.getUrl().set(URI.create("https://docs.spring.io/spring-boot/api/java/"));
link.getPackageListUrl().set(URI.create("https://docs.spring.io/spring-boot/api/java/element-list"));
});
sourceSet.getExternalDocumentationLinks().create("spring-framework-javadoc", (link) -> {
String url = "https://docs.spring.io/spring-framework/docs/%s/javadoc-api/"
.formatted(project.property("springFrameworkVersion"));
link.getUrl().set(URI.create(url));
link.getPackageListUrl().set(URI.create(url + "/element-list"));
});
dokkatoo.getDokkatooSourceSets().configureEach((sourceSet) -> {
if (SourceSet.MAIN_SOURCE_SET_NAME.equals(sourceSet.getName())) {
sourceSet.getSourceRoots().setFrom(project.file("src/main/kotlin"));
sourceSet.getClasspath()
.from(project.getExtensions()
.getByType(SourceSetContainer.class)
.getByName(SourceSet.MAIN_SOURCE_SET_NAME)
.getOutput());
sourceSet.getExternalDocumentationLinks().create("spring-boot-javadoc", (link) -> {
link.getUrl().set(URI.create("https://docs.spring.io/spring-boot/api/java/"));
link.getPackageListUrl()
.set(URI.create("https://docs.spring.io/spring-boot/api/java/element-list"));
});
sourceSet.getExternalDocumentationLinks().create("spring-framework-javadoc", (link) -> {
String url = "https://docs.spring.io/spring-framework/docs/%s/javadoc-api/"
.formatted(project.property("springFrameworkVersion"));
link.getUrl().set(URI.create(url));
link.getPackageListUrl().set(URI.create(url + "/element-list"));
});
}
});
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,23 +98,35 @@ public void apply(Project project) {
.add(AutoConfigurationPlugin.AUTO_CONFIGURATION_METADATA_CONFIGURATION_NAME, task.getOutputFile(),
(artifact) -> artifact.builtBy(task));
});
project.getPlugins().withType(ArchitecturePlugin.class, (architecturePlugin) -> {
project.getTasks().named("checkArchitectureMain", ArchitectureCheck.class).configure((task) -> {
SourceSet main = project.getExtensions()
.getByType(JavaPluginExtension.class)
.getSourceSets()
.getByName(SourceSet.MAIN_SOURCE_SET_NAME);
File resourcesDirectory = main.getOutput().getResourcesDir();
task.dependsOn(main.getProcessResourcesTaskName());
task.getInputs().files(resourcesDirectory).optional().withPathSensitivity(PathSensitivity.RELATIVE);
task.getRules()
.add(allClassesAnnotatedWithAutoConfigurationShouldBeListedInAutoConfigurationImports(
autoConfigurationImports(project, resourcesDirectory)));
});
});
project.getPlugins()
.withType(ArchitecturePlugin.class, (plugin) -> configureArchitecturePluginTasks(project));
});
}

private void configureArchitecturePluginTasks(Project project) {
project.getTasks().configureEach((task) -> {
if ("checkArchitectureMain".equals(task.getName()) && task instanceof ArchitectureCheck architectureCheck) {
configureCheckArchitectureMain(project, architectureCheck);
}
});
}

private void configureCheckArchitectureMain(Project project, ArchitectureCheck architectureCheck) {
SourceSet main = project.getExtensions()
.getByType(JavaPluginExtension.class)
.getSourceSets()
.getByName(SourceSet.MAIN_SOURCE_SET_NAME);
File resourcesDirectory = main.getOutput().getResourcesDir();
architectureCheck.dependsOn(main.getProcessResourcesTaskName());
architectureCheck.getInputs()
.files(resourcesDirectory)
.optional()
.withPathSensitivity(PathSensitivity.RELATIVE);
architectureCheck.getRules()
.add(allClassesAnnotatedWithAutoConfigurationShouldBeListedInAutoConfigurationImports(
autoConfigurationImports(project, resourcesDirectory)));
}

private ArchRule allClassesAnnotatedWithAutoConfigurationShouldBeListedInAutoConfigurationImports(
Provider<AutoConfigurationImports> imports) {
return ArchRuleDefinition.classes()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ plugins {
id "org.asciidoctor.jvm.convert"
id "org.springframework.boot.auto-configuration"
id "org.springframework.boot.configuration-properties"
id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed"
id "org.springframework.boot.optional-dependencies"
}
Expand Down
3 changes: 1 addition & 2 deletions spring-boot-project/spring-boot-actuator/build.gradle
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
plugins {
id "java-library"
id "org.springframework.boot.conventions"
id "org.springframework.boot.configuration-properties"
id "org.springframework.boot.optional-dependencies"
id "org.springframework.boot.docker-test"
Expand All @@ -11,7 +10,7 @@ description = "Spring Boot Actuator"

dependencies {
api(project(":spring-boot-project:spring-boot"))

dockerTestImplementation(project(":spring-boot-project:spring-boot-autoconfigure"))
dockerTestImplementation(project(":spring-boot-project:spring-boot-test"))
dockerTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support-docker"))
Expand Down
1 change: 0 additions & 1 deletion spring-boot-project/spring-boot-autoconfigure/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ plugins {
id "org.jetbrains.kotlin.jvm"
id "org.springframework.boot.auto-configuration"
id "org.springframework.boot.configuration-properties"
id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed"
id "org.springframework.boot.docker-test"
id "org.springframework.boot.optional-dependencies"
Expand Down
1 change: 0 additions & 1 deletion spring-boot-project/spring-boot-dependencies/build.gradle
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
plugins {
id "org.springframework.boot.bom"
id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed"
}

Expand Down
1 change: 0 additions & 1 deletion spring-boot-project/spring-boot-devtools/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ plugins {
id "java-library"
id "org.springframework.boot.auto-configuration"
id "org.springframework.boot.configuration-properties"
id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed"
id "org.springframework.boot.integration-test"
id "org.springframework.boot.optional-dependencies"
Expand Down
3 changes: 1 addition & 2 deletions spring-boot-project/spring-boot-docker-compose/build.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
plugins {
id "java-library"
id "org.springframework.boot.configuration-properties"
id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed"
id "org.springframework.boot.docker-test"
id "org.springframework.boot.optional-dependencies"
Expand All @@ -17,7 +16,7 @@ dependencies {
dockerTestImplementation("org.awaitility:awaitility")
dockerTestImplementation("org.junit.jupiter:junit-jupiter")
dockerTestImplementation("org.testcontainers:testcontainers")

dockerTestRuntimeOnly("com.microsoft.sqlserver:mssql-jdbc")
dockerTestRuntimeOnly("com.oracle.database.r2dbc:oracle-r2dbc")
dockerTestRuntimeOnly("io.r2dbc:r2dbc-mssql")
Expand Down
1 change: 0 additions & 1 deletion spring-boot-project/spring-boot-docs/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ plugins {
id "dev.adamko.dokkatoo-html"
id "java"
id "org.asciidoctor.jvm.convert"
id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed"
id 'org.jetbrains.kotlin.jvm'
}
Expand Down
1 change: 0 additions & 1 deletion spring-boot-project/spring-boot-parent/build.gradle
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
plugins {
id "org.springframework.boot.bom"
id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed"
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
plugins {
id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed"
id "org.springframework.boot.maven-repository"
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
plugins {
id "java-library"
id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed"
id "org.springframework.boot.docker-test"
id "org.springframework.boot.optional-dependencies"
Expand Down
1 change: 0 additions & 1 deletion spring-boot-project/spring-boot-test/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ plugins {
id "dev.adamko.dokkatoo-html"
id "java-library"
id "org.jetbrains.kotlin.jvm"
id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed"
id "org.springframework.boot.optional-dependencies"
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ plugins {
id "java-library"
id "org.springframework.boot.auto-configuration"
id "org.springframework.boot.configuration-properties"
id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed"
id "org.springframework.boot.docker-test"
id "org.springframework.boot.optional-dependencies"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
plugins {
id "java-library"
id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed"
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
plugins {
id "java-library"
id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed"
id "org.springframework.boot.annotation-processor"
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
plugins {
id "java-library"
id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed"
id "org.springframework.boot.docker-test"
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ plugins {
id "java"
id "eclipse"
id "org.springframework.boot.deployed"
id "org.springframework.boot.conventions"
id "org.springframework.boot.integration-test"
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
plugins {
id "java"
id "org.springframework.boot.conventions"
}

description = "Spring Boot Configuration Metadata Changelog Generator"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
plugins {
id "java-library"
id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed"
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
plugins {
id "java-library"
id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed"
id "org.springframework.boot.annotation-processor"
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ plugins {
id "java-gradle-plugin"
id "maven-publish"
id "org.asciidoctor.jvm.convert"
id "org.springframework.boot.conventions"
id "org.springframework.boot.docker-test"
id "org.springframework.boot.maven-repository"
id "org.springframework.boot.optional-dependencies"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
plugins {
id "java-library"
id "org.springframework.boot.conventions"
}

description = "Spring Boot Gradle Testing Support"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
plugins {
id "java-library"
id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed"
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
plugins {
id "java-library"
id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed"
}

Expand All @@ -22,6 +21,8 @@ dependencies {
testRuntimeOnly("org.springframework:spring-webmvc")
}

tasks.named("checkArchitectureMain").configure {
prohibitObjectsRequireNonNull = false
tasks.configureEach {
if ("checkArchitectureMain".equals(it.name)) {
prohibitObjectsRequireNonNull = false
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
plugins {
id "java-library"
id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed"
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
plugins {
id "java-library"
id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed"
}

Expand All @@ -22,6 +21,8 @@ dependencies {
testRuntimeOnly("org.springframework:spring-webmvc")
}

tasks.named("checkArchitectureMain").configure {
prohibitObjectsRequireNonNull = false
tasks.configureEach {
if ("checkArchitectureMain".equals(it.name)) {
prohibitObjectsRequireNonNull = false
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
plugins {
id "org.asciidoctor.jvm.convert"
id "org.springframework.boot.conventions"
id "org.springframework.boot.maven-plugin"
id "org.springframework.boot.optional-dependencies"
id "org.springframework.boot.docker-test"
Expand All @@ -26,7 +25,7 @@ dependencies {
exclude(group: "javax.enterprise", module: "cdi-api")
exclude(group: "javax.inject", module: "javax.inject")
}

dockerTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support-docker"))
dockerTestImplementation("org.apache.maven.shared:maven-invoker") {
exclude(group: "javax.inject", module: "javax.inject")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
plugins {
id "java"
id "org.springframework.boot.conventions"
id "org.springframework.boot.deployed"
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
plugins {
id "java-library"
id "org.springframework.boot.conventions"
id "org.springframework.boot.optional-dependencies"
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
plugins {
id "java-library"
id "org.springframework.boot.conventions"
id "org.springframework.boot.optional-dependencies"
}

Expand Down
1 change: 0 additions & 1 deletion spring-boot-project/spring-boot/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ plugins {
id "dev.adamko.dokkatoo-html"
id "java-library"
id "org.jetbrains.kotlin.jvm"
id "org.springframework.boot.conventions"
id "org.springframework.boot.configuration-properties"
id "org.springframework.boot.deployed"
id "org.springframework.boot.optional-dependencies"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
plugins {
id "war"
id "org.springframework.boot.conventions"
id "org.springframework.boot.system-test"
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
plugins {
id 'java-gradle-plugin'
id "org.springframework.boot.conventions"
id "org.springframework.boot.system-test"
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
plugins {
id "java"
id "org.springframework.boot.conventions"
}

description = "Spring Boot Configuration Processor Tests"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
plugins {
id "java"
id "org.springframework.boot.conventions"
id "org.springframework.boot.docker-test"
id "de.undercouch.download"
}
Expand Down
Loading

0 comments on commit ad72411

Please sign in to comment.