Browse Source

Include checking of AutoConfigure….imports in check lifecycle

See gh-47322
pull/47549/head
Andy Wilkinson 3 months ago
parent
commit
fd2b29d3cc
  1. 26
      buildSrc/src/main/java/org/springframework/boot/build/test/autoconfigure/TestAutoConfigurationPlugin.java
  2. 4
      module/spring-boot-security-test/src/main/java/org/springframework/boot/security/test/autoconfigure/webflux/SecurityWebTestClientAutoConfiguration.java
  3. 1
      module/spring-boot-webmvc-test/src/main/resources/META-INF/spring/org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureRestTestClient.imports

26
buildSrc/src/main/java/org/springframework/boot/build/test/autoconfigure/TestAutoConfigurationPlugin.java

@ -22,6 +22,8 @@ import org.gradle.api.file.ConfigurableFileCollection;
import org.gradle.api.plugins.JavaPlugin; import org.gradle.api.plugins.JavaPlugin;
import org.gradle.api.plugins.JavaPluginExtension; import org.gradle.api.plugins.JavaPluginExtension;
import org.gradle.api.tasks.SourceSet; import org.gradle.api.tasks.SourceSet;
import org.gradle.api.tasks.TaskProvider;
import org.gradle.language.base.plugins.LifecycleBasePlugin;
/** /**
* {@link Plugin} for projects that define test auto-configuration. When the * {@link Plugin} for projects that define test auto-configuration. When the
@ -39,16 +41,20 @@ public class TestAutoConfigurationPlugin implements Plugin<Project> {
@Override @Override
public void apply(Project target) { public void apply(Project target) {
target.getPlugins().withType(JavaPlugin.class, (plugin) -> { target.getPlugins().withType(JavaPlugin.class, (plugin) -> {
target.getTasks().register("checkAutoConfigureImports", CheckAutoConfigureImports.class, (task) -> { TaskProvider<CheckAutoConfigureImports> checkAutoConfigureImports = target.getTasks()
SourceSet mainSourceSet = target.getExtensions() .register("checkAutoConfigureImports", CheckAutoConfigureImports.class, (task) -> {
.getByType(JavaPluginExtension.class) SourceSet mainSourceSet = target.getExtensions()
.getSourceSets() .getByType(JavaPluginExtension.class)
.getByName(SourceSet.MAIN_SOURCE_SET_NAME); .getSourceSets()
task.setSource(mainSourceSet.getResources()); .getByName(SourceSet.MAIN_SOURCE_SET_NAME);
ConfigurableFileCollection classpath = target.files(mainSourceSet.getRuntimeClasspath(), task.setSource(mainSourceSet.getResources());
target.getConfigurations().getByName(mainSourceSet.getRuntimeClasspathConfigurationName())); ConfigurableFileCollection classpath = target.files(mainSourceSet.getRuntimeClasspath(),
task.setClasspath(classpath); target.getConfigurations().getByName(mainSourceSet.getRuntimeClasspathConfigurationName()));
}); task.setClasspath(classpath);
});
target.getTasks()
.named(LifecycleBasePlugin.CHECK_TASK_NAME)
.configure((check) -> check.dependsOn(checkAutoConfigureImports));
}); });
} }

4
module/spring-boot-security-test/src/main/java/org/springframework/boot/security/test/autoconfigure/webflux/SecurityWebTestClientAutoConfiguration.java

@ -16,9 +16,9 @@
package org.springframework.boot.security.test.autoconfigure.webflux; package org.springframework.boot.security.test.autoconfigure.webflux;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.test.web.reactive.server.SecurityMockServerConfigurers; import org.springframework.security.test.web.reactive.server.SecurityMockServerConfigurers;
import org.springframework.test.web.reactive.server.MockServerConfigurer; import org.springframework.test.web.reactive.server.MockServerConfigurer;
import org.springframework.test.web.reactive.server.WebTestClient; import org.springframework.test.web.reactive.server.WebTestClient;
@ -29,7 +29,7 @@ import org.springframework.test.web.reactive.server.WebTestClient;
* @author Madhura Bhave * @author Madhura Bhave
* @since 4.0.0 * @since 4.0.0
*/ */
@Configuration(proxyBeanMethods = false) @AutoConfiguration
@ConditionalOnClass(SecurityMockServerConfigurers.class) @ConditionalOnClass(SecurityMockServerConfigurers.class)
public final class SecurityWebTestClientAutoConfiguration { public final class SecurityWebTestClientAutoConfiguration {

1
module/spring-boot-webmvc-test/src/main/resources/META-INF/spring/org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureRestTestClient.imports

@ -1 +0,0 @@
org.springframework.boot.testrestclient.autoconfigure.RestTestClientAutoConfiguration
Loading…
Cancel
Save