Browse Source
This commit adds the `AutoConfigurationImportsAnnotationProcessor` to the `spring-boot-autoconfigure-processor` annotation processor module. When added to a project build, the annotation processor will generate the `org.springframework.boot.autoconfigure.AutoConfiguration.imports` file automatically from `@AutoConfiguration`-annotated classes. It also applies the annotation processor to the Spring Boot build. Closes gh-31228pull/32223/head
16 changed files with 265 additions and 338 deletions
@ -1,109 +0,0 @@
@@ -1,109 +0,0 @@
|
||||
org.springframework.boot.actuate.autoconfigure.amqp.RabbitHealthContributorAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.audit.AuditAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.audit.AuditEventsEndpointAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.availability.AvailabilityHealthContributorAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.availability.AvailabilityProbesAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.beans.BeansEndpointAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.cache.CachesEndpointAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.cassandra.CassandraHealthContributorAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.cassandra.CassandraReactiveHealthContributorAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.cloudfoundry.servlet.CloudFoundryActuatorAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.cloudfoundry.reactive.ReactiveCloudFoundryActuatorAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.condition.ConditionsReportEndpointAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.context.properties.ConfigurationPropertiesReportEndpointAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.context.ShutdownEndpointAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.couchbase.CouchbaseHealthContributorAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.couchbase.CouchbaseReactiveHealthContributorAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.data.elasticsearch.ElasticsearchReactiveHealthContributorAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.elasticsearch.ElasticsearchRestHealthContributorAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.endpoint.jmx.JmxEndpointAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.env.EnvironmentEndpointAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.flyway.FlywayEndpointAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.hazelcast.HazelcastHealthContributorAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.health.HealthContributorAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.health.HealthEndpointAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.influx.InfluxDbHealthContributorAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.info.InfoContributorAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.info.InfoEndpointAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.integration.IntegrationGraphEndpointAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.jdbc.DataSourceHealthContributorAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.jms.JmsHealthContributorAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.ldap.LdapHealthContributorAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.liquibase.LiquibaseEndpointAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.logging.LogFileWebEndpointAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.logging.LoggersEndpointAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.mail.MailHealthContributorAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.management.HeapDumpWebEndpointAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.management.ThreadDumpEndpointAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.CompositeMeterRegistryAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.JvmMetricsAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.KafkaMetricsAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.Log4J2MetricsAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.LogbackMetricsAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.MetricsEndpointAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.SystemMetricsAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.amqp.RabbitMetricsAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.cache.CacheMetricsAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.data.RepositoryMetricsAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.export.appoptics.AppOpticsMetricsExportAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.export.atlas.AtlasMetricsExportAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.export.datadog.DatadogMetricsExportAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.export.dynatrace.DynatraceMetricsExportAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.export.elastic.ElasticMetricsExportAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.export.ganglia.GangliaMetricsExportAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.export.graphite.GraphiteMetricsExportAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.export.humio.HumioMetricsExportAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.export.influx.InfluxMetricsExportAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.export.jmx.JmxMetricsExportAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.export.kairos.KairosMetricsExportAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.export.newrelic.NewRelicMetricsExportAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.export.otlp.OtlpMetricsExportAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.export.prometheus.PrometheusMetricsExportAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.export.signalfx.SignalFxMetricsExportAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.export.stackdriver.StackdriverMetricsExportAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.export.statsd.StatsdMetricsExportAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.export.wavefront.WavefrontMetricsExportAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.graphql.GraphQlMetricsAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.integration.IntegrationMetricsAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.jdbc.DataSourcePoolMetricsAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.jersey.JerseyServerMetricsAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.mongo.MongoMetricsAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.orm.jpa.HibernateMetricsAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.r2dbc.ConnectionPoolMetricsAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.redis.LettuceMetricsAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.startup.StartupTimeMetricsListenerAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.task.TaskExecutorMetricsAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.web.client.HttpClientMetricsAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.web.jetty.JettyMetricsAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.web.reactive.WebFluxMetricsAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.web.servlet.WebMvcMetricsAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.metrics.web.tomcat.TomcatMetricsAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.data.mongo.MongoHealthContributorAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.data.mongo.MongoReactiveHealthContributorAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.neo4j.Neo4jHealthContributorAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.observation.ObservationAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.quartz.QuartzEndpointAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.r2dbc.ConnectionFactoryHealthContributorAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.data.redis.RedisHealthContributorAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.data.redis.RedisReactiveHealthContributorAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.scheduling.ScheduledTasksEndpointAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.security.reactive.ReactiveManagementWebSecurityAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.security.servlet.ManagementWebSecurityAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.session.SessionsEndpointAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.startup.StartupEndpointAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.system.DiskSpaceHealthContributorAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.trace.http.HttpTraceAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.trace.http.HttpTraceEndpointAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.tracing.BraveAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.tracing.MicrometerTracingAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.tracing.OpenTelemetryAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.tracing.wavefront.WavefrontTracingAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.tracing.zipkin.ZipkinAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.web.mappings.MappingsEndpointAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.web.reactive.ReactiveManagementContextAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextAutoConfiguration |
||||
org.springframework.boot.actuate.autoconfigure.web.servlet.ServletManagementContextAutoConfiguration |
||||
@ -1,142 +0,0 @@
@@ -1,142 +0,0 @@
|
||||
org.springframework.boot.autoconfigure.admin.SpringApplicationAdminJmxAutoConfiguration |
||||
org.springframework.boot.autoconfigure.aop.AopAutoConfiguration |
||||
org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration |
||||
org.springframework.boot.autoconfigure.batch.BatchAutoConfiguration |
||||
org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration |
||||
org.springframework.boot.autoconfigure.cassandra.CassandraAutoConfiguration |
||||
org.springframework.boot.autoconfigure.context.ConfigurationPropertiesAutoConfiguration |
||||
org.springframework.boot.autoconfigure.context.LifecycleAutoConfiguration |
||||
org.springframework.boot.autoconfigure.context.MessageSourceAutoConfiguration |
||||
org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration |
||||
org.springframework.boot.autoconfigure.couchbase.CouchbaseAutoConfiguration |
||||
org.springframework.boot.autoconfigure.dao.PersistenceExceptionTranslationAutoConfiguration |
||||
org.springframework.boot.autoconfigure.data.cassandra.CassandraDataAutoConfiguration |
||||
org.springframework.boot.autoconfigure.data.cassandra.CassandraReactiveDataAutoConfiguration |
||||
org.springframework.boot.autoconfigure.data.cassandra.CassandraReactiveRepositoriesAutoConfiguration |
||||
org.springframework.boot.autoconfigure.data.cassandra.CassandraRepositoriesAutoConfiguration |
||||
org.springframework.boot.autoconfigure.data.couchbase.CouchbaseDataAutoConfiguration |
||||
org.springframework.boot.autoconfigure.data.couchbase.CouchbaseReactiveDataAutoConfiguration |
||||
org.springframework.boot.autoconfigure.data.couchbase.CouchbaseReactiveRepositoriesAutoConfiguration |
||||
org.springframework.boot.autoconfigure.data.couchbase.CouchbaseRepositoriesAutoConfiguration |
||||
org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataAutoConfiguration |
||||
org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchRepositoriesAutoConfiguration |
||||
org.springframework.boot.autoconfigure.data.elasticsearch.ReactiveElasticsearchRepositoriesAutoConfiguration |
||||
org.springframework.boot.autoconfigure.data.jdbc.JdbcRepositoriesAutoConfiguration |
||||
org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration |
||||
org.springframework.boot.autoconfigure.data.ldap.LdapRepositoriesAutoConfiguration |
||||
org.springframework.boot.autoconfigure.data.mongo.MongoDataAutoConfiguration |
||||
org.springframework.boot.autoconfigure.data.mongo.MongoReactiveDataAutoConfiguration |
||||
org.springframework.boot.autoconfigure.data.mongo.MongoReactiveRepositoriesAutoConfiguration |
||||
org.springframework.boot.autoconfigure.data.mongo.MongoRepositoriesAutoConfiguration |
||||
org.springframework.boot.autoconfigure.data.neo4j.Neo4jDataAutoConfiguration |
||||
org.springframework.boot.autoconfigure.data.neo4j.Neo4jReactiveDataAutoConfiguration |
||||
org.springframework.boot.autoconfigure.data.neo4j.Neo4jReactiveRepositoriesAutoConfiguration |
||||
org.springframework.boot.autoconfigure.data.neo4j.Neo4jRepositoriesAutoConfiguration |
||||
org.springframework.boot.autoconfigure.data.r2dbc.R2dbcDataAutoConfiguration |
||||
org.springframework.boot.autoconfigure.data.r2dbc.R2dbcRepositoriesAutoConfiguration |
||||
org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration |
||||
org.springframework.boot.autoconfigure.data.redis.RedisReactiveAutoConfiguration |
||||
org.springframework.boot.autoconfigure.data.redis.RedisRepositoriesAutoConfiguration |
||||
org.springframework.boot.autoconfigure.data.rest.RepositoryRestMvcAutoConfiguration |
||||
org.springframework.boot.autoconfigure.data.web.SpringDataWebAutoConfiguration |
||||
org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchClientAutoConfiguration |
||||
org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchRestClientAutoConfiguration |
||||
org.springframework.boot.autoconfigure.elasticsearch.ReactiveElasticsearchClientAutoConfiguration |
||||
org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration |
||||
org.springframework.boot.autoconfigure.freemarker.FreeMarkerAutoConfiguration |
||||
org.springframework.boot.autoconfigure.graphql.GraphQlAutoConfiguration |
||||
org.springframework.boot.autoconfigure.graphql.data.GraphQlReactiveQueryByExampleAutoConfiguration |
||||
org.springframework.boot.autoconfigure.graphql.data.GraphQlReactiveQuerydslAutoConfiguration |
||||
org.springframework.boot.autoconfigure.graphql.data.GraphQlQueryByExampleAutoConfiguration |
||||
org.springframework.boot.autoconfigure.graphql.data.GraphQlQuerydslAutoConfiguration |
||||
org.springframework.boot.autoconfigure.graphql.reactive.GraphQlWebFluxAutoConfiguration |
||||
org.springframework.boot.autoconfigure.graphql.rsocket.GraphQlRSocketAutoConfiguration |
||||
org.springframework.boot.autoconfigure.graphql.rsocket.RSocketGraphQlClientAutoConfiguration |
||||
org.springframework.boot.autoconfigure.graphql.security.GraphQlWebFluxSecurityAutoConfiguration |
||||
org.springframework.boot.autoconfigure.graphql.security.GraphQlWebMvcSecurityAutoConfiguration |
||||
org.springframework.boot.autoconfigure.graphql.servlet.GraphQlWebMvcAutoConfiguration |
||||
org.springframework.boot.autoconfigure.groovy.template.GroovyTemplateAutoConfiguration |
||||
org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration |
||||
org.springframework.boot.autoconfigure.h2.H2ConsoleAutoConfiguration |
||||
org.springframework.boot.autoconfigure.hateoas.HypermediaAutoConfiguration |
||||
org.springframework.boot.autoconfigure.hazelcast.HazelcastAutoConfiguration |
||||
org.springframework.boot.autoconfigure.hazelcast.HazelcastJpaDependencyAutoConfiguration |
||||
org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration |
||||
org.springframework.boot.autoconfigure.http.codec.CodecsAutoConfiguration |
||||
org.springframework.boot.autoconfigure.influx.InfluxDbAutoConfiguration |
||||
org.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration |
||||
org.springframework.boot.autoconfigure.integration.IntegrationAutoConfiguration |
||||
org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration |
||||
org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration |
||||
org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration |
||||
org.springframework.boot.autoconfigure.jdbc.JndiDataSourceAutoConfiguration |
||||
org.springframework.boot.autoconfigure.jdbc.XADataSourceAutoConfiguration |
||||
org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration |
||||
org.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration |
||||
org.springframework.boot.autoconfigure.jms.JmsAutoConfiguration |
||||
org.springframework.boot.autoconfigure.jmx.JmxAutoConfiguration |
||||
org.springframework.boot.autoconfigure.jms.JndiConnectionFactoryAutoConfiguration |
||||
org.springframework.boot.autoconfigure.jms.artemis.ArtemisAutoConfiguration |
||||
org.springframework.boot.autoconfigure.jooq.JooqAutoConfiguration |
||||
org.springframework.boot.autoconfigure.jsonb.JsonbAutoConfiguration |
||||
org.springframework.boot.autoconfigure.kafka.KafkaAutoConfiguration |
||||
org.springframework.boot.autoconfigure.availability.ApplicationAvailabilityAutoConfiguration |
||||
org.springframework.boot.autoconfigure.ldap.embedded.EmbeddedLdapAutoConfiguration |
||||
org.springframework.boot.autoconfigure.ldap.LdapAutoConfiguration |
||||
org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration |
||||
org.springframework.boot.autoconfigure.mail.MailSenderAutoConfiguration |
||||
org.springframework.boot.autoconfigure.mail.MailSenderValidatorAutoConfiguration |
||||
org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration |
||||
org.springframework.boot.autoconfigure.mongo.MongoReactiveAutoConfiguration |
||||
org.springframework.boot.autoconfigure.mustache.MustacheAutoConfiguration |
||||
org.springframework.boot.autoconfigure.neo4j.Neo4jAutoConfiguration |
||||
org.springframework.boot.autoconfigure.netty.NettyAutoConfiguration |
||||
org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration |
||||
org.springframework.boot.autoconfigure.quartz.QuartzAutoConfiguration |
||||
org.springframework.boot.autoconfigure.r2dbc.R2dbcAutoConfiguration |
||||
org.springframework.boot.autoconfigure.r2dbc.R2dbcTransactionManagerAutoConfiguration |
||||
org.springframework.boot.autoconfigure.rsocket.RSocketMessagingAutoConfiguration |
||||
org.springframework.boot.autoconfigure.rsocket.RSocketRequesterAutoConfiguration |
||||
org.springframework.boot.autoconfigure.rsocket.RSocketServerAutoConfiguration |
||||
org.springframework.boot.autoconfigure.rsocket.RSocketStrategiesAutoConfiguration |
||||
org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration |
||||
org.springframework.boot.autoconfigure.security.servlet.UserDetailsServiceAutoConfiguration |
||||
org.springframework.boot.autoconfigure.security.servlet.SecurityFilterAutoConfiguration |
||||
org.springframework.boot.autoconfigure.security.reactive.ReactiveSecurityAutoConfiguration |
||||
org.springframework.boot.autoconfigure.security.reactive.ReactiveUserDetailsServiceAutoConfiguration |
||||
org.springframework.boot.autoconfigure.security.rsocket.RSocketSecurityAutoConfiguration |
||||
org.springframework.boot.autoconfigure.security.saml2.Saml2RelyingPartyAutoConfiguration |
||||
org.springframework.boot.autoconfigure.sendgrid.SendGridAutoConfiguration |
||||
org.springframework.boot.autoconfigure.session.SessionAutoConfiguration |
||||
org.springframework.boot.autoconfigure.security.oauth2.client.servlet.OAuth2ClientAutoConfiguration |
||||
org.springframework.boot.autoconfigure.security.oauth2.client.reactive.ReactiveOAuth2ClientAutoConfiguration |
||||
org.springframework.boot.autoconfigure.security.oauth2.resource.servlet.OAuth2ResourceServerAutoConfiguration |
||||
org.springframework.boot.autoconfigure.security.oauth2.resource.reactive.ReactiveOAuth2ResourceServerAutoConfiguration |
||||
org.springframework.boot.autoconfigure.sql.init.SqlInitializationAutoConfiguration |
||||
org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration |
||||
org.springframework.boot.autoconfigure.task.TaskSchedulingAutoConfiguration |
||||
org.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration |
||||
org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration |
||||
org.springframework.boot.autoconfigure.transaction.jta.JtaAutoConfiguration |
||||
org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration |
||||
org.springframework.boot.autoconfigure.web.client.RestTemplateAutoConfiguration |
||||
org.springframework.boot.autoconfigure.web.embedded.EmbeddedWebServerFactoryCustomizerAutoConfiguration |
||||
org.springframework.boot.autoconfigure.web.reactive.HttpHandlerAutoConfiguration |
||||
org.springframework.boot.autoconfigure.web.reactive.ReactiveMultipartAutoConfiguration |
||||
org.springframework.boot.autoconfigure.web.reactive.ReactiveWebServerFactoryAutoConfiguration |
||||
org.springframework.boot.autoconfigure.web.reactive.WebFluxAutoConfiguration |
||||
org.springframework.boot.autoconfigure.web.reactive.WebSessionIdResolverAutoConfiguration |
||||
org.springframework.boot.autoconfigure.web.reactive.error.ErrorWebFluxAutoConfiguration |
||||
org.springframework.boot.autoconfigure.web.reactive.function.client.ClientHttpConnectorAutoConfiguration |
||||
org.springframework.boot.autoconfigure.web.reactive.function.client.WebClientAutoConfiguration |
||||
org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration |
||||
org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryAutoConfiguration |
||||
org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration |
||||
org.springframework.boot.autoconfigure.web.servlet.HttpEncodingAutoConfiguration |
||||
org.springframework.boot.autoconfigure.web.servlet.MultipartAutoConfiguration |
||||
org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration |
||||
org.springframework.boot.autoconfigure.websocket.reactive.WebSocketReactiveAutoConfiguration |
||||
org.springframework.boot.autoconfigure.websocket.servlet.WebSocketServletAutoConfiguration |
||||
org.springframework.boot.autoconfigure.websocket.servlet.WebSocketMessagingAutoConfiguration |
||||
org.springframework.boot.autoconfigure.webservices.WebServicesAutoConfiguration |
||||
org.springframework.boot.autoconfigure.webservices.client.WebServiceTemplateAutoConfiguration |
||||
@ -1,4 +0,0 @@
@@ -1,4 +0,0 @@
|
||||
org.springframework.boot.devtools.autoconfigure.DevToolsDataSourceAutoConfiguration |
||||
org.springframework.boot.devtools.autoconfigure.DevToolsR2dbcAutoConfiguration |
||||
org.springframework.boot.devtools.autoconfigure.LocalDevToolsAutoConfiguration |
||||
org.springframework.boot.devtools.autoconfigure.RemoteDevToolsAutoConfiguration |
||||
@ -0,0 +1,89 @@
@@ -0,0 +1,89 @@
|
||||
/* |
||||
* Copyright 2012-2022 the original author or authors. |
||||
* |
||||
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
* you may not use this file except in compliance with the License. |
||||
* You may obtain a copy of the License at |
||||
* |
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
* |
||||
* Unless required by applicable law or agreed to in writing, software |
||||
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
* See the License for the specific language governing permissions and |
||||
* limitations under the License. |
||||
*/ |
||||
|
||||
package org.springframework.boot.autoconfigureprocessor; |
||||
|
||||
import java.io.IOException; |
||||
import java.io.OutputStreamWriter; |
||||
import java.io.Writer; |
||||
import java.nio.charset.StandardCharsets; |
||||
import java.util.ArrayList; |
||||
import java.util.List; |
||||
import java.util.Set; |
||||
|
||||
import javax.annotation.processing.AbstractProcessor; |
||||
import javax.annotation.processing.Filer; |
||||
import javax.annotation.processing.RoundEnvironment; |
||||
import javax.annotation.processing.SupportedAnnotationTypes; |
||||
import javax.lang.model.SourceVersion; |
||||
import javax.lang.model.element.Element; |
||||
import javax.lang.model.element.TypeElement; |
||||
import javax.tools.FileObject; |
||||
import javax.tools.StandardLocation; |
||||
|
||||
/** |
||||
* Annotation processor to generate a |
||||
* {@code META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports} |
||||
* file from {@code @AutoConfiguration} annotations. |
||||
* |
||||
* @author Scott Frederick |
||||
* @since 3.0.0 |
||||
*/ |
||||
@SupportedAnnotationTypes({ "org.springframework.boot.autoconfigure.AutoConfiguration" }) |
||||
public class AutoConfigurationImportsAnnotationProcessor extends AbstractProcessor { |
||||
|
||||
static final String IMPORTS_FILE_PATH = "META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports"; |
||||
|
||||
private final List<String> qualifiedClassNames = new ArrayList<>(); |
||||
|
||||
@Override |
||||
public SourceVersion getSupportedSourceVersion() { |
||||
return SourceVersion.latestSupported(); |
||||
} |
||||
|
||||
@Override |
||||
public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) { |
||||
for (TypeElement annotation : annotations) { |
||||
Set<? extends Element> elements = roundEnv.getElementsAnnotatedWith(annotation); |
||||
for (Element element : elements) { |
||||
this.qualifiedClassNames.add(element.asType().toString()); |
||||
} |
||||
} |
||||
if (roundEnv.processingOver()) { |
||||
try { |
||||
writeImportsFile(); |
||||
} |
||||
catch (IOException ex) { |
||||
throw new IllegalStateException("Failed to write auto-configuration imports file", ex); |
||||
} |
||||
} |
||||
return false; |
||||
} |
||||
|
||||
private void writeImportsFile() throws IOException { |
||||
if (!this.qualifiedClassNames.isEmpty()) { |
||||
Filer filer = this.processingEnv.getFiler(); |
||||
FileObject file = filer.createResource(StandardLocation.CLASS_OUTPUT, "", IMPORTS_FILE_PATH); |
||||
try (Writer writer = new OutputStreamWriter(file.openOutputStream(), StandardCharsets.UTF_8)) { |
||||
for (String className : this.qualifiedClassNames) { |
||||
writer.append(className); |
||||
writer.append(System.lineSeparator()); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
} |
||||
@ -1 +1,2 @@
@@ -1 +1,2 @@
|
||||
org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor,aggregating |
||||
org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor,aggregating |
||||
org.springframework.boot.autoconfigureprocessor.AutoConfigurationImportsAnnotationProcessor,aggregating |
||||
@ -1 +1,2 @@
@@ -1 +1,2 @@
|
||||
org.springframework.boot.autoconfigureprocessor.AutoConfigureAnnotationProcessor |
||||
org.springframework.boot.autoconfigureprocessor.AutoConfigurationImportsAnnotationProcessor |
||||
|
||||
@ -0,0 +1,86 @@
@@ -0,0 +1,86 @@
|
||||
/* |
||||
* Copyright 2012-2022 the original author or authors. |
||||
* |
||||
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
* you may not use this file except in compliance with the License. |
||||
* You may obtain a copy of the License at |
||||
* |
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
* |
||||
* Unless required by applicable law or agreed to in writing, software |
||||
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
* See the License for the specific language governing permissions and |
||||
* limitations under the License. |
||||
*/ |
||||
|
||||
package org.springframework.boot.autoconfigureprocessor; |
||||
|
||||
import java.io.BufferedReader; |
||||
import java.io.File; |
||||
import java.io.FileReader; |
||||
import java.io.IOException; |
||||
import java.util.List; |
||||
import java.util.stream.Collectors; |
||||
|
||||
import org.junit.jupiter.api.BeforeEach; |
||||
import org.junit.jupiter.api.Test; |
||||
import org.junit.jupiter.api.io.TempDir; |
||||
|
||||
import org.springframework.boot.testsupport.compiler.TestCompiler; |
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat; |
||||
|
||||
/** |
||||
* Tests for {@link TestAutoConfigurationImportsAnnotationProcessor}. |
||||
* |
||||
* @author Scott Frederick |
||||
*/ |
||||
class AutoConfigurationImportsAnnotationProcessorTests { |
||||
|
||||
@TempDir |
||||
File tempDir; |
||||
|
||||
private TestCompiler compiler; |
||||
|
||||
@BeforeEach |
||||
void createCompiler() throws IOException { |
||||
this.compiler = new TestCompiler(this.tempDir); |
||||
} |
||||
|
||||
@Test |
||||
void annotatedClasses() throws Exception { |
||||
List<String> classes = compile(TestAutoConfigurationConfiguration.class, |
||||
TestAutoConfigurationOnlyConfiguration.class); |
||||
assertThat(classes).hasSize(2); |
||||
assertThat(classes).containsExactly( |
||||
"org.springframework.boot.autoconfigureprocessor.TestAutoConfigurationConfiguration", |
||||
"org.springframework.boot.autoconfigureprocessor.TestAutoConfigurationOnlyConfiguration"); |
||||
} |
||||
|
||||
@Test |
||||
void notAnnotatedClasses() throws Exception { |
||||
List<String> classes = compile(TestAutoConfigurationImportsAnnotationProcessor.class); |
||||
assertThat(classes).isNull(); |
||||
} |
||||
|
||||
private List<String> compile(Class<?>... types) throws IOException { |
||||
TestAutoConfigurationImportsAnnotationProcessor processor = new TestAutoConfigurationImportsAnnotationProcessor(); |
||||
this.compiler.getTask(types).call(processor); |
||||
return getWrittenImports(); |
||||
} |
||||
|
||||
private List<String> getWrittenImports() throws IOException { |
||||
File file = getWrittenFile(); |
||||
if (!file.exists()) { |
||||
return null; |
||||
} |
||||
BufferedReader reader = new BufferedReader(new FileReader(file)); |
||||
return reader.lines().collect(Collectors.toList()); |
||||
} |
||||
|
||||
private File getWrittenFile() { |
||||
return new File(this.tempDir, AutoConfigurationImportsAnnotationProcessor.IMPORTS_FILE_PATH); |
||||
} |
||||
|
||||
} |
||||
@ -0,0 +1,29 @@
@@ -0,0 +1,29 @@
|
||||
/* |
||||
* Copyright 2012-2022 the original author or authors. |
||||
* |
||||
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
* you may not use this file except in compliance with the License. |
||||
* You may obtain a copy of the License at |
||||
* |
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
* |
||||
* Unless required by applicable law or agreed to in writing, software |
||||
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
* See the License for the specific language governing permissions and |
||||
* limitations under the License. |
||||
*/ |
||||
|
||||
package org.springframework.boot.autoconfigureprocessor; |
||||
|
||||
import javax.annotation.processing.SupportedAnnotationTypes; |
||||
|
||||
/** |
||||
* An extension of {@link AutoConfigurationImportsAnnotationProcessor} used for testing. |
||||
* |
||||
* @author Scott Frederick |
||||
*/ |
||||
@SupportedAnnotationTypes({ "org.springframework.boot.autoconfigureprocessor.TestAutoConfiguration" }) |
||||
public class TestAutoConfigurationImportsAnnotationProcessor extends AutoConfigurationImportsAnnotationProcessor { |
||||
|
||||
} |
||||
@ -1 +0,0 @@
@@ -1 +0,0 @@
|
||||
sample.autoconfig.ExampleAutoConfiguration |
||||
Loading…
Reference in new issue