parent
74f6c75b00
commit
0f1c0d97d1
|
@ -73,6 +73,7 @@ include "spring-boot-project:spring-boot-jdbc"
|
||||||
include "spring-boot-project:spring-boot-jetty"
|
include "spring-boot-project:spring-boot-jetty"
|
||||||
include "spring-boot-project:spring-boot-jms"
|
include "spring-boot-project:spring-boot-jms"
|
||||||
include "spring-boot-project:spring-boot-jsonb"
|
include "spring-boot-project:spring-boot-jsonb"
|
||||||
|
include "spring-boot-project:spring-boot-liquibase"
|
||||||
include "spring-boot-project:spring-boot-mail"
|
include "spring-boot-project:spring-boot-mail"
|
||||||
include "spring-boot-project:spring-boot-parent"
|
include "spring-boot-project:spring-boot-parent"
|
||||||
include "spring-boot-project:spring-boot-reactor-netty"
|
include "spring-boot-project:spring-boot-reactor-netty"
|
||||||
|
|
|
@ -41,6 +41,7 @@ dependencies {
|
||||||
optional(project(":spring-boot-project:spring-boot-jdbc"))
|
optional(project(":spring-boot-project:spring-boot-jdbc"))
|
||||||
optional(project(":spring-boot-project:spring-boot-jetty"))
|
optional(project(":spring-boot-project:spring-boot-jetty"))
|
||||||
optional(project(":spring-boot-project:spring-boot-jsonb"))
|
optional(project(":spring-boot-project:spring-boot-jsonb"))
|
||||||
|
optional(project(":spring-boot-project:spring-boot-liquibase"))
|
||||||
optional(project(":spring-boot-project:spring-boot-mail"))
|
optional(project(":spring-boot-project:spring-boot-mail"))
|
||||||
optional(project(":spring-boot-project:spring-boot-reactor-netty"))
|
optional(project(":spring-boot-project:spring-boot-reactor-netty"))
|
||||||
optional(project(":spring-boot-project:spring-boot-tomcat"))
|
optional(project(":spring-boot-project:spring-boot-tomcat"))
|
||||||
|
|
|
@ -27,8 +27,8 @@ import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||||
import org.springframework.boot.autoconfigure.liquibase.DataSourceClosingSpringLiquibase;
|
import org.springframework.boot.liquibase.autoconfigure.DataSourceClosingSpringLiquibase;
|
||||||
import org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration;
|
import org.springframework.boot.liquibase.autoconfigure.LiquibaseAutoConfiguration;
|
||||||
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContext;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
|
|
||||||
|
|
|
@ -35,11 +35,11 @@ import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
|
||||||
import org.springframework.boot.autoconfigure.data.redis.RedisRepositoriesAutoConfiguration;
|
import org.springframework.boot.autoconfigure.data.redis.RedisRepositoriesAutoConfiguration;
|
||||||
import org.springframework.boot.autoconfigure.data.rest.RepositoryRestMvcAutoConfiguration;
|
import org.springframework.boot.autoconfigure.data.rest.RepositoryRestMvcAutoConfiguration;
|
||||||
import org.springframework.boot.autoconfigure.hazelcast.HazelcastAutoConfiguration;
|
import org.springframework.boot.autoconfigure.hazelcast.HazelcastAutoConfiguration;
|
||||||
import org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration;
|
|
||||||
import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration;
|
import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration;
|
||||||
import org.springframework.boot.autoconfigure.mongo.MongoReactiveAutoConfiguration;
|
import org.springframework.boot.autoconfigure.mongo.MongoReactiveAutoConfiguration;
|
||||||
import org.springframework.boot.context.annotation.UserConfigurations;
|
import org.springframework.boot.context.annotation.UserConfigurations;
|
||||||
import org.springframework.boot.flyway.autoconfigure.FlywayAutoConfiguration;
|
import org.springframework.boot.flyway.autoconfigure.FlywayAutoConfiguration;
|
||||||
|
import org.springframework.boot.liquibase.autoconfigure.LiquibaseAutoConfiguration;
|
||||||
import org.springframework.boot.test.context.runner.ReactiveWebApplicationContextRunner;
|
import org.springframework.boot.test.context.runner.ReactiveWebApplicationContextRunner;
|
||||||
import org.springframework.boot.test.context.runner.WebApplicationContextRunner;
|
import org.springframework.boot.test.context.runner.WebApplicationContextRunner;
|
||||||
import org.springframework.boot.testsupport.classpath.ClassPathExclusions;
|
import org.springframework.boot.testsupport.classpath.ClassPathExclusions;
|
||||||
|
|
|
@ -21,7 +21,7 @@ import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import org.springframework.boot.actuate.liquibase.LiquibaseEndpoint;
|
import org.springframework.boot.actuate.liquibase.LiquibaseEndpoint;
|
||||||
import org.springframework.boot.autoconfigure.AutoConfigurations;
|
import org.springframework.boot.autoconfigure.AutoConfigurations;
|
||||||
import org.springframework.boot.autoconfigure.liquibase.DataSourceClosingSpringLiquibase;
|
import org.springframework.boot.liquibase.autoconfigure.DataSourceClosingSpringLiquibase;
|
||||||
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
|
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
|
|
@ -23,8 +23,8 @@ import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import org.springframework.boot.actuate.autoconfigure.endpoint.web.documentation.MockMvcEndpointDocumentationTests;
|
import org.springframework.boot.actuate.autoconfigure.endpoint.web.documentation.MockMvcEndpointDocumentationTests;
|
||||||
import org.springframework.boot.actuate.liquibase.LiquibaseEndpoint;
|
import org.springframework.boot.actuate.liquibase.LiquibaseEndpoint;
|
||||||
import org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration;
|
|
||||||
import org.springframework.boot.jdbc.autoconfigure.EmbeddedDataSourceConfiguration;
|
import org.springframework.boot.jdbc.autoconfigure.EmbeddedDataSourceConfiguration;
|
||||||
|
import org.springframework.boot.liquibase.autoconfigure.LiquibaseAutoConfiguration;
|
||||||
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContext;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
|
|
@ -44,6 +44,7 @@ dependencies {
|
||||||
optional(project(":spring-boot-project:spring-boot-jdbc"))
|
optional(project(":spring-boot-project:spring-boot-jdbc"))
|
||||||
optional(project(":spring-boot-project:spring-boot-jetty"))
|
optional(project(":spring-boot-project:spring-boot-jetty"))
|
||||||
optional(project(":spring-boot-project:spring-boot-jsonb"))
|
optional(project(":spring-boot-project:spring-boot-jsonb"))
|
||||||
|
optional(project(":spring-boot-project:spring-boot-liquibase"))
|
||||||
optional(project(":spring-boot-project:spring-boot-reactor-netty"))
|
optional(project(":spring-boot-project:spring-boot-reactor-netty"))
|
||||||
optional(project(":spring-boot-project:spring-boot-tomcat"))
|
optional(project(":spring-boot-project:spring-boot-tomcat"))
|
||||||
optional(project(":spring-boot-project:spring-boot-undertow"))
|
optional(project(":spring-boot-project:spring-boot-undertow"))
|
||||||
|
|
|
@ -29,10 +29,10 @@ import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import org.springframework.boot.actuate.liquibase.LiquibaseEndpoint.LiquibaseBeanDescriptor;
|
import org.springframework.boot.actuate.liquibase.LiquibaseEndpoint.LiquibaseBeanDescriptor;
|
||||||
import org.springframework.boot.autoconfigure.AutoConfigurations;
|
import org.springframework.boot.autoconfigure.AutoConfigurations;
|
||||||
import org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration;
|
|
||||||
import org.springframework.boot.jdbc.EmbeddedDatabaseConnection;
|
import org.springframework.boot.jdbc.EmbeddedDatabaseConnection;
|
||||||
import org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration;
|
import org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration;
|
||||||
import org.springframework.boot.jdbc.init.DataSourceScriptDatabaseInitializer;
|
import org.springframework.boot.jdbc.init.DataSourceScriptDatabaseInitializer;
|
||||||
|
import org.springframework.boot.liquibase.autoconfigure.LiquibaseAutoConfiguration;
|
||||||
import org.springframework.boot.sql.init.DatabaseInitializationSettings;
|
import org.springframework.boot.sql.init.DatabaseInitializationSettings;
|
||||||
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
|
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
|
||||||
import org.springframework.boot.testsupport.classpath.resources.WithResource;
|
import org.springframework.boot.testsupport.classpath.resources.WithResource;
|
||||||
|
|
|
@ -67,9 +67,6 @@ dependencies {
|
||||||
optional("org.hibernate.orm:hibernate-core")
|
optional("org.hibernate.orm:hibernate-core")
|
||||||
optional("org.hibernate.validator:hibernate-validator")
|
optional("org.hibernate.validator:hibernate-validator")
|
||||||
optional("org.jooq:jooq")
|
optional("org.jooq:jooq")
|
||||||
optional("org.liquibase:liquibase-core") {
|
|
||||||
exclude(group: "javax.xml.bind", module: "jaxb-api")
|
|
||||||
}
|
|
||||||
optional("org.postgresql:postgresql")
|
optional("org.postgresql:postgresql")
|
||||||
optional("org.slf4j:jul-to-slf4j")
|
optional("org.slf4j:jul-to-slf4j")
|
||||||
optional("org.slf4j:slf4j-api")
|
optional("org.slf4j:slf4j-api")
|
||||||
|
|
|
@ -6,13 +6,8 @@ org.springframework.boot.rsocket.context.RSocketPortInfoApplicationContextInitia
|
||||||
org.springframework.boot.env.EnvironmentPostProcessor=\
|
org.springframework.boot.env.EnvironmentPostProcessor=\
|
||||||
org.springframework.boot.reactor.ReactorEnvironmentPostProcessor
|
org.springframework.boot.reactor.ReactorEnvironmentPostProcessor
|
||||||
|
|
||||||
# Failure Analyzers
|
|
||||||
org.springframework.boot.diagnostics.FailureAnalyzer=\
|
|
||||||
org.springframework.boot.liquibase.LiquibaseChangelogMissingFailureAnalyzer
|
|
||||||
|
|
||||||
# Database Initializer Detectors
|
# Database Initializer Detectors
|
||||||
org.springframework.boot.sql.init.dependency.DatabaseInitializerDetector=\
|
org.springframework.boot.sql.init.dependency.DatabaseInitializerDetector=\
|
||||||
org.springframework.boot.liquibase.LiquibaseDatabaseInitializerDetector,\
|
|
||||||
org.springframework.boot.orm.jpa.JpaDatabaseInitializerDetector,\
|
org.springframework.boot.orm.jpa.JpaDatabaseInitializerDetector,\
|
||||||
org.springframework.boot.r2dbc.init.R2dbcScriptDatabaseInitializerDetector
|
org.springframework.boot.r2dbc.init.R2dbcScriptDatabaseInitializerDetector
|
||||||
|
|
||||||
|
|
|
@ -65,6 +65,7 @@ dependencies {
|
||||||
optional(project(":spring-boot-project:spring-boot-jackson"))
|
optional(project(":spring-boot-project:spring-boot-jackson"))
|
||||||
optional(project(":spring-boot-project:spring-boot-jdbc"))
|
optional(project(":spring-boot-project:spring-boot-jdbc"))
|
||||||
optional(project(":spring-boot-project:spring-boot-jsonb"))
|
optional(project(":spring-boot-project:spring-boot-jsonb"))
|
||||||
|
optional(project(":spring-boot-project:spring-boot-liquibase"))
|
||||||
optional(project(":spring-boot-project:spring-boot-reactor-netty"))
|
optional(project(":spring-boot-project:spring-boot-reactor-netty"))
|
||||||
optional(project(":spring-boot-project:spring-boot-tomcat"))
|
optional(project(":spring-boot-project:spring-boot-tomcat"))
|
||||||
optional(project(":spring-boot-project:spring-boot-tx"))
|
optional(project(":spring-boot-project:spring-boot-tx"))
|
||||||
|
|
|
@ -33,7 +33,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnSingleCandidate;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnSingleCandidate;
|
||||||
import org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration;
|
|
||||||
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
|
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
|
||||||
import org.springframework.boot.autoconfigure.sql.init.OnDatabaseInitializationCondition;
|
import org.springframework.boot.autoconfigure.sql.init.OnDatabaseInitializationCondition;
|
||||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||||
|
@ -56,8 +55,7 @@ import org.springframework.transaction.PlatformTransactionManager;
|
||||||
* @author Stephane Nicoll
|
* @author Stephane Nicoll
|
||||||
* @since 2.0.0
|
* @since 2.0.0
|
||||||
*/
|
*/
|
||||||
@AutoConfiguration(after = { DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class,
|
@AutoConfiguration(after = { DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class })
|
||||||
LiquibaseAutoConfiguration.class })
|
|
||||||
@ConditionalOnClass({ Scheduler.class, SchedulerFactoryBean.class, PlatformTransactionManager.class })
|
@ConditionalOnClass({ Scheduler.class, SchedulerFactoryBean.class, PlatformTransactionManager.class })
|
||||||
@EnableConfigurationProperties(QuartzProperties.class)
|
@EnableConfigurationProperties(QuartzProperties.class)
|
||||||
public class QuartzAutoConfiguration {
|
public class QuartzAutoConfiguration {
|
||||||
|
|
|
@ -1317,35 +1317,6 @@
|
||||||
"since": "3.1.0"
|
"since": "3.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "spring.liquibase.check-change-log-location",
|
|
||||||
"type": "java.lang.Boolean",
|
|
||||||
"description": "Check the change log location exists.",
|
|
||||||
"defaultValue": true,
|
|
||||||
"deprecation": {
|
|
||||||
"reason": "Liquibase has its own check that checks if the change log location exists making this property redundant.",
|
|
||||||
"level": "error"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "spring.liquibase.labels",
|
|
||||||
"deprecation": {
|
|
||||||
"replacement": "spring.liquibase.label-filter",
|
|
||||||
"level": "error"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "spring.liquibase.show-summary",
|
|
||||||
"defaultValue": "summary"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "spring.liquibase.show-summary-output",
|
|
||||||
"defaultValue": "log"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "spring.liquibase.ui-service",
|
|
||||||
"defaultValue": "logger"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "spring.mustache.prefix",
|
"name": "spring.mustache.prefix",
|
||||||
"defaultValue": "classpath:/templates/"
|
"defaultValue": "classpath:/templates/"
|
||||||
|
@ -2375,17 +2346,6 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "spring.liquibase.change-log",
|
|
||||||
"providers": [
|
|
||||||
{
|
|
||||||
"name": "handle-as",
|
|
||||||
"parameters": {
|
|
||||||
"target": "org.springframework.core.io.Resource"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "spring.mvc.converters.preferred-json-mapper",
|
"name": "spring.mvc.converters.preferred-json-mapper",
|
||||||
"values": [
|
"values": [
|
||||||
|
|
|
@ -66,7 +66,6 @@ org.springframework.boot.autoconfigure.jooq.JooqAutoConfiguration
|
||||||
org.springframework.boot.autoconfigure.kafka.KafkaAutoConfiguration
|
org.springframework.boot.autoconfigure.kafka.KafkaAutoConfiguration
|
||||||
org.springframework.boot.autoconfigure.ldap.embedded.EmbeddedLdapAutoConfiguration
|
org.springframework.boot.autoconfigure.ldap.embedded.EmbeddedLdapAutoConfiguration
|
||||||
org.springframework.boot.autoconfigure.ldap.LdapAutoConfiguration
|
org.springframework.boot.autoconfigure.ldap.LdapAutoConfiguration
|
||||||
org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration
|
|
||||||
org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration
|
org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration
|
||||||
org.springframework.boot.autoconfigure.mongo.MongoReactiveAutoConfiguration
|
org.springframework.boot.autoconfigure.mongo.MongoReactiveAutoConfiguration
|
||||||
org.springframework.boot.autoconfigure.mustache.MustacheAutoConfiguration
|
org.springframework.boot.autoconfigure.mustache.MustacheAutoConfiguration
|
||||||
|
|
|
@ -60,7 +60,6 @@ import org.springframework.boot.autoconfigure.AutoConfigurations;
|
||||||
import org.springframework.boot.autoconfigure.TestAutoConfigurationPackage;
|
import org.springframework.boot.autoconfigure.TestAutoConfigurationPackage;
|
||||||
import org.springframework.boot.autoconfigure.batch.BatchAutoConfiguration.SpringBootBatchConfiguration;
|
import org.springframework.boot.autoconfigure.batch.BatchAutoConfiguration.SpringBootBatchConfiguration;
|
||||||
import org.springframework.boot.autoconfigure.batch.domain.City;
|
import org.springframework.boot.autoconfigure.batch.domain.City;
|
||||||
import org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration;
|
|
||||||
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
|
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
|
||||||
import org.springframework.boot.flyway.autoconfigure.FlywayAutoConfiguration;
|
import org.springframework.boot.flyway.autoconfigure.FlywayAutoConfiguration;
|
||||||
import org.springframework.boot.jdbc.DataSourceBuilder;
|
import org.springframework.boot.jdbc.DataSourceBuilder;
|
||||||
|
@ -68,6 +67,7 @@ import org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration;
|
||||||
import org.springframework.boot.jdbc.autoconfigure.DataSourceTransactionManagerAutoConfiguration;
|
import org.springframework.boot.jdbc.autoconfigure.DataSourceTransactionManagerAutoConfiguration;
|
||||||
import org.springframework.boot.jdbc.autoconfigure.EmbeddedDataSourceConfiguration;
|
import org.springframework.boot.jdbc.autoconfigure.EmbeddedDataSourceConfiguration;
|
||||||
import org.springframework.boot.jdbc.init.DataSourceScriptDatabaseInitializer;
|
import org.springframework.boot.jdbc.init.DataSourceScriptDatabaseInitializer;
|
||||||
|
import org.springframework.boot.liquibase.autoconfigure.LiquibaseAutoConfiguration;
|
||||||
import org.springframework.boot.sql.init.DatabaseInitializationMode;
|
import org.springframework.boot.sql.init.DatabaseInitializationMode;
|
||||||
import org.springframework.boot.sql.init.DatabaseInitializationSettings;
|
import org.springframework.boot.sql.init.DatabaseInitializationSettings;
|
||||||
import org.springframework.boot.test.context.FilteredClassLoader;
|
import org.springframework.boot.test.context.FilteredClassLoader;
|
||||||
|
|
|
@ -58,7 +58,6 @@ import org.springframework.beans.factory.BeanCreationException;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.boot.autoconfigure.AutoConfigurations;
|
import org.springframework.boot.autoconfigure.AutoConfigurations;
|
||||||
import org.springframework.boot.autoconfigure.TestAutoConfigurationPackage;
|
import org.springframework.boot.autoconfigure.TestAutoConfigurationPackage;
|
||||||
import org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration;
|
|
||||||
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfigurationTests.JpaUsingApplicationListenerConfiguration.EventCapturingApplicationListener;
|
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfigurationTests.JpaUsingApplicationListenerConfiguration.EventCapturingApplicationListener;
|
||||||
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaConfiguration.HibernateRuntimeHints;
|
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaConfiguration.HibernateRuntimeHints;
|
||||||
import org.springframework.boot.autoconfigure.orm.jpa.mapping.NonAnnotatedEntity;
|
import org.springframework.boot.autoconfigure.orm.jpa.mapping.NonAnnotatedEntity;
|
||||||
|
@ -66,6 +65,7 @@ import org.springframework.boot.autoconfigure.orm.jpa.test.City;
|
||||||
import org.springframework.boot.flyway.autoconfigure.FlywayAutoConfiguration;
|
import org.springframework.boot.flyway.autoconfigure.FlywayAutoConfiguration;
|
||||||
import org.springframework.boot.jdbc.autoconfigure.DataSourceTransactionManagerAutoConfiguration;
|
import org.springframework.boot.jdbc.autoconfigure.DataSourceTransactionManagerAutoConfiguration;
|
||||||
import org.springframework.boot.jdbc.autoconfigure.XADataSourceAutoConfiguration;
|
import org.springframework.boot.jdbc.autoconfigure.XADataSourceAutoConfiguration;
|
||||||
|
import org.springframework.boot.liquibase.autoconfigure.LiquibaseAutoConfiguration;
|
||||||
import org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy;
|
import org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy;
|
||||||
import org.springframework.boot.orm.jpa.hibernate.SpringJtaPlatform;
|
import org.springframework.boot.orm.jpa.hibernate.SpringJtaPlatform;
|
||||||
import org.springframework.boot.sql.init.dependency.DependsOnDatabaseInitialization;
|
import org.springframework.boot.sql.init.dependency.DependsOnDatabaseInitialization;
|
||||||
|
|
|
@ -45,12 +45,12 @@ import org.quartz.simpl.RAMJobStore;
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.boot.autoconfigure.AutoConfigurations;
|
import org.springframework.boot.autoconfigure.AutoConfigurations;
|
||||||
import org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration;
|
|
||||||
import org.springframework.boot.flyway.autoconfigure.FlywayAutoConfiguration;
|
import org.springframework.boot.flyway.autoconfigure.FlywayAutoConfiguration;
|
||||||
import org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration;
|
import org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration;
|
||||||
import org.springframework.boot.jdbc.autoconfigure.DataSourceProperties;
|
import org.springframework.boot.jdbc.autoconfigure.DataSourceProperties;
|
||||||
import org.springframework.boot.jdbc.autoconfigure.DataSourceTransactionManagerAutoConfiguration;
|
import org.springframework.boot.jdbc.autoconfigure.DataSourceTransactionManagerAutoConfiguration;
|
||||||
import org.springframework.boot.jdbc.init.DataSourceScriptDatabaseInitializer;
|
import org.springframework.boot.jdbc.init.DataSourceScriptDatabaseInitializer;
|
||||||
|
import org.springframework.boot.liquibase.autoconfigure.LiquibaseAutoConfiguration;
|
||||||
import org.springframework.boot.sql.init.DatabaseInitializationSettings;
|
import org.springframework.boot.sql.init.DatabaseInitializationSettings;
|
||||||
import org.springframework.boot.test.context.assertj.AssertableApplicationContext;
|
import org.springframework.boot.test.context.assertj.AssertableApplicationContext;
|
||||||
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
|
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
|
||||||
|
|
|
@ -26,13 +26,13 @@ import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
|
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
|
||||||
import org.springframework.boot.autoconfigure.AutoConfigurations;
|
import org.springframework.boot.autoconfigure.AutoConfigurations;
|
||||||
import org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration;
|
|
||||||
import org.springframework.boot.autoconfigure.web.ServerProperties;
|
import org.springframework.boot.autoconfigure.web.ServerProperties;
|
||||||
import org.springframework.boot.flyway.autoconfigure.FlywayAutoConfiguration;
|
import org.springframework.boot.flyway.autoconfigure.FlywayAutoConfiguration;
|
||||||
import org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration;
|
import org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration;
|
||||||
import org.springframework.boot.jdbc.autoconfigure.DataSourceTransactionManagerAutoConfiguration;
|
import org.springframework.boot.jdbc.autoconfigure.DataSourceTransactionManagerAutoConfiguration;
|
||||||
import org.springframework.boot.jdbc.autoconfigure.JdbcTemplateAutoConfiguration;
|
import org.springframework.boot.jdbc.autoconfigure.JdbcTemplateAutoConfiguration;
|
||||||
import org.springframework.boot.jdbc.init.DataSourceScriptDatabaseInitializer;
|
import org.springframework.boot.jdbc.init.DataSourceScriptDatabaseInitializer;
|
||||||
|
import org.springframework.boot.liquibase.autoconfigure.LiquibaseAutoConfiguration;
|
||||||
import org.springframework.boot.sql.init.DatabaseInitializationMode;
|
import org.springframework.boot.sql.init.DatabaseInitializationMode;
|
||||||
import org.springframework.boot.sql.init.DatabaseInitializationSettings;
|
import org.springframework.boot.sql.init.DatabaseInitializationSettings;
|
||||||
import org.springframework.boot.test.context.FilteredClassLoader;
|
import org.springframework.boot.test.context.FilteredClassLoader;
|
||||||
|
|
|
@ -2002,6 +2002,7 @@ bom {
|
||||||
"spring-boot-jetty",
|
"spring-boot-jetty",
|
||||||
"spring-boot-jms",
|
"spring-boot-jms",
|
||||||
"spring-boot-jsonb",
|
"spring-boot-jsonb",
|
||||||
|
"spring-boot-liquibase",
|
||||||
"spring-boot-loader",
|
"spring-boot-loader",
|
||||||
"spring-boot-loader-classic",
|
"spring-boot-loader-classic",
|
||||||
"spring-boot-loader-tools",
|
"spring-boot-loader-tools",
|
||||||
|
|
|
@ -29,6 +29,7 @@ dependencies {
|
||||||
|
|
||||||
dockerTestImplementation(project(":spring-boot-project:spring-boot-jdbc"))
|
dockerTestImplementation(project(":spring-boot-project:spring-boot-jdbc"))
|
||||||
dockerTestImplementation(project(":spring-boot-project:spring-boot-flyway"))
|
dockerTestImplementation(project(":spring-boot-project:spring-boot-flyway"))
|
||||||
|
dockerTestImplementation(project(":spring-boot-project:spring-boot-liquibase"))
|
||||||
dockerTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support-docker"))
|
dockerTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support-docker"))
|
||||||
dockerTestImplementation("com.hazelcast:hazelcast")
|
dockerTestImplementation("com.hazelcast:hazelcast")
|
||||||
dockerTestImplementation("com.redis:testcontainers-redis")
|
dockerTestImplementation("com.redis:testcontainers-redis")
|
||||||
|
@ -55,6 +56,7 @@ dependencies {
|
||||||
optional(project(":spring-boot-project:spring-boot-actuator-autoconfigure"))
|
optional(project(":spring-boot-project:spring-boot-actuator-autoconfigure"))
|
||||||
optional(project(":spring-boot-project:spring-boot-flyway"))
|
optional(project(":spring-boot-project:spring-boot-flyway"))
|
||||||
optional(project(":spring-boot-project:spring-boot-jdbc"))
|
optional(project(":spring-boot-project:spring-boot-jdbc"))
|
||||||
|
optional(project(":spring-boot-project:spring-boot-liquibase"))
|
||||||
optional("com.hazelcast:hazelcast")
|
optional("com.hazelcast:hazelcast")
|
||||||
optional("io.r2dbc:r2dbc-spi")
|
optional("io.r2dbc:r2dbc-spi")
|
||||||
optional("org.mongodb:mongodb-driver-core")
|
optional("org.mongodb:mongodb-driver-core")
|
||||||
|
|
|
@ -16,8 +16,8 @@
|
||||||
|
|
||||||
package org.springframework.boot.docker.compose.service.connection.liquibase;
|
package org.springframework.boot.docker.compose.service.connection.liquibase;
|
||||||
|
|
||||||
import org.springframework.boot.autoconfigure.liquibase.LiquibaseConnectionDetails;
|
|
||||||
import org.springframework.boot.docker.compose.service.connection.test.DockerComposeTest;
|
import org.springframework.boot.docker.compose.service.connection.test.DockerComposeTest;
|
||||||
|
import org.springframework.boot.liquibase.autoconfigure.LiquibaseConnectionDetails;
|
||||||
import org.springframework.boot.testsupport.container.TestImage;
|
import org.springframework.boot.testsupport.container.TestImage;
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
|
|
@ -16,9 +16,9 @@
|
||||||
|
|
||||||
package org.springframework.boot.docker.compose.service.connection.liquibase;
|
package org.springframework.boot.docker.compose.service.connection.liquibase;
|
||||||
|
|
||||||
import org.springframework.boot.autoconfigure.liquibase.LiquibaseConnectionDetails;
|
|
||||||
import org.springframework.boot.autoconfigure.service.connection.ConnectionDetailsFactory;
|
import org.springframework.boot.autoconfigure.service.connection.ConnectionDetailsFactory;
|
||||||
import org.springframework.boot.jdbc.autoconfigure.JdbcConnectionDetails;
|
import org.springframework.boot.jdbc.autoconfigure.JdbcConnectionDetails;
|
||||||
|
import org.springframework.boot.liquibase.autoconfigure.LiquibaseConnectionDetails;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@link ConnectionDetailsFactory} that produces {@link LiquibaseConnectionDetails} by
|
* {@link ConnectionDetailsFactory} that produces {@link LiquibaseConnectionDetails} by
|
||||||
|
|
|
@ -88,6 +88,7 @@ dependencies {
|
||||||
autoConfiguration(project(path: ":spring-boot-project:spring-boot-jetty", configuration: "autoConfigurationMetadata"))
|
autoConfiguration(project(path: ":spring-boot-project:spring-boot-jetty", configuration: "autoConfigurationMetadata"))
|
||||||
autoConfiguration(project(path: ":spring-boot-project:spring-boot-jms", configuration: "autoConfigurationMetadata"))
|
autoConfiguration(project(path: ":spring-boot-project:spring-boot-jms", configuration: "autoConfigurationMetadata"))
|
||||||
autoConfiguration(project(path: ":spring-boot-project:spring-boot-jsonb", configuration: "autoConfigurationMetadata"))
|
autoConfiguration(project(path: ":spring-boot-project:spring-boot-jsonb", configuration: "autoConfigurationMetadata"))
|
||||||
|
autoConfiguration(project(path: ":spring-boot-project:spring-boot-liquibase", configuration: "autoConfigurationMetadata"))
|
||||||
autoConfiguration(project(path: ":spring-boot-project:spring-boot-mail", configuration: "autoConfigurationMetadata"))
|
autoConfiguration(project(path: ":spring-boot-project:spring-boot-mail", configuration: "autoConfigurationMetadata"))
|
||||||
autoConfiguration(project(path: ":spring-boot-project:spring-boot-reactor-netty", configuration: "autoConfigurationMetadata"))
|
autoConfiguration(project(path: ":spring-boot-project:spring-boot-reactor-netty", configuration: "autoConfigurationMetadata"))
|
||||||
autoConfiguration(project(path: ":spring-boot-project:spring-boot-testcontainers", configuration: "autoConfigurationMetadata"))
|
autoConfiguration(project(path: ":spring-boot-project:spring-boot-testcontainers", configuration: "autoConfigurationMetadata"))
|
||||||
|
@ -111,6 +112,7 @@ dependencies {
|
||||||
configurationProperties(project(path: ":spring-boot-project:spring-boot-jdbc", configuration: "configurationPropertiesMetadata"))
|
configurationProperties(project(path: ":spring-boot-project:spring-boot-jdbc", configuration: "configurationPropertiesMetadata"))
|
||||||
configurationProperties(project(path: ":spring-boot-project:spring-boot-jetty", configuration: "configurationPropertiesMetadata"))
|
configurationProperties(project(path: ":spring-boot-project:spring-boot-jetty", configuration: "configurationPropertiesMetadata"))
|
||||||
configurationProperties(project(path: ":spring-boot-project:spring-boot-jms", configuration: "configurationPropertiesMetadata"))
|
configurationProperties(project(path: ":spring-boot-project:spring-boot-jms", configuration: "configurationPropertiesMetadata"))
|
||||||
|
configurationProperties(project(path: ":spring-boot-project:spring-boot-liquibase", configuration: "configurationPropertiesMetadata"))
|
||||||
configurationProperties(project(path: ":spring-boot-project:spring-boot-mail", configuration: "configurationPropertiesMetadata"))
|
configurationProperties(project(path: ":spring-boot-project:spring-boot-mail", configuration: "configurationPropertiesMetadata"))
|
||||||
configurationProperties(project(path: ":spring-boot-project:spring-boot-reactor-netty", configuration: "configurationPropertiesMetadata"))
|
configurationProperties(project(path: ":spring-boot-project:spring-boot-reactor-netty", configuration: "configurationPropertiesMetadata"))
|
||||||
configurationProperties(project(path: ":spring-boot-project:spring-boot-test-autoconfigure", configuration: "configurationPropertiesMetadata"))
|
configurationProperties(project(path: ":spring-boot-project:spring-boot-test-autoconfigure", configuration: "configurationPropertiesMetadata"))
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2012-present 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
plugins {
|
||||||
|
id "java-library"
|
||||||
|
id "org.springframework.boot.auto-configuration"
|
||||||
|
id "org.springframework.boot.configuration-properties"
|
||||||
|
id "org.springframework.boot.deployed"
|
||||||
|
id "org.springframework.boot.optional-dependencies"
|
||||||
|
}
|
||||||
|
|
||||||
|
description = "Spring Boot Liquibase"
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
api(project(":spring-boot-project:spring-boot"))
|
||||||
|
api(project(":spring-boot-project:spring-boot-jdbc"))
|
||||||
|
api("org.liquibase:liquibase-core") {
|
||||||
|
exclude(group: "javax.xml.bind", module: "jaxb-api")
|
||||||
|
}
|
||||||
|
|
||||||
|
optional(project(":spring-boot-project:spring-boot-autoconfigure"))
|
||||||
|
|
||||||
|
testImplementation(project(":spring-boot-project:spring-boot-test"))
|
||||||
|
testImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support"))
|
||||||
|
testImplementation("com.h2database:h2")
|
||||||
|
testImplementation("com.zaxxer:HikariCP")
|
||||||
|
|
||||||
|
testRuntimeOnly("ch.qos.logback:logback-classic")
|
||||||
|
testRuntimeOnly("org.postgresql:postgresql")
|
||||||
|
}
|
|
@ -14,7 +14,7 @@
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.springframework.boot.autoconfigure.liquibase;
|
package org.springframework.boot.liquibase.autoconfigure;
|
||||||
|
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
|
|
||||||
|
@ -31,7 +31,7 @@ import org.springframework.util.ReflectionUtils;
|
||||||
* {@link DataSource} once the database has been migrated.
|
* {@link DataSource} once the database has been migrated.
|
||||||
*
|
*
|
||||||
* @author Andy Wilkinson
|
* @author Andy Wilkinson
|
||||||
* @since 2.0.6
|
* @since 4.0.0
|
||||||
*/
|
*/
|
||||||
public class DataSourceClosingSpringLiquibase extends SpringLiquibase implements DisposableBean {
|
public class DataSourceClosingSpringLiquibase extends SpringLiquibase implements DisposableBean {
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.springframework.boot.autoconfigure.liquibase;
|
package org.springframework.boot.liquibase.autoconfigure;
|
||||||
|
|
||||||
import javax.sql.DataSource;
|
import javax.sql.DataSource;
|
||||||
|
|
||||||
|
@ -37,13 +37,12 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnBooleanProp
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||||
import org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration.LiquibaseAutoConfigurationRuntimeHints;
|
|
||||||
import org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration.LiquibaseDataSourceCondition;
|
|
||||||
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
|
|
||||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||||
import org.springframework.boot.jdbc.DataSourceBuilder;
|
import org.springframework.boot.jdbc.DataSourceBuilder;
|
||||||
import org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration;
|
import org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration;
|
||||||
import org.springframework.boot.jdbc.autoconfigure.JdbcConnectionDetails;
|
import org.springframework.boot.jdbc.autoconfigure.JdbcConnectionDetails;
|
||||||
|
import org.springframework.boot.liquibase.autoconfigure.LiquibaseAutoConfiguration.LiquibaseAutoConfigurationRuntimeHints;
|
||||||
|
import org.springframework.boot.liquibase.autoconfigure.LiquibaseAutoConfiguration.LiquibaseDataSourceCondition;
|
||||||
import org.springframework.boot.sql.init.dependency.DatabaseInitializationDependencyConfigurer;
|
import org.springframework.boot.sql.init.dependency.DatabaseInitializationDependencyConfigurer;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Conditional;
|
import org.springframework.context.annotation.Conditional;
|
||||||
|
@ -71,9 +70,9 @@ import org.springframework.util.StringUtils;
|
||||||
* @author Evgeniy Cheban
|
* @author Evgeniy Cheban
|
||||||
* @author Moritz Halbritter
|
* @author Moritz Halbritter
|
||||||
* @author Ahmed Ashour
|
* @author Ahmed Ashour
|
||||||
* @since 1.1.0
|
* @since 4.0.0
|
||||||
*/
|
*/
|
||||||
@AutoConfiguration(after = { DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class })
|
@AutoConfiguration(after = DataSourceAutoConfiguration.class)
|
||||||
@ConditionalOnClass({ SpringLiquibase.class, DatabaseChange.class })
|
@ConditionalOnClass({ SpringLiquibase.class, DatabaseChange.class })
|
||||||
@ConditionalOnBooleanProperty(name = "spring.liquibase.enabled", matchIfMissing = true)
|
@ConditionalOnBooleanProperty(name = "spring.liquibase.enabled", matchIfMissing = true)
|
||||||
@Conditional(LiquibaseDataSourceCondition.class)
|
@Conditional(LiquibaseDataSourceCondition.class)
|
||||||
|
@ -82,8 +81,7 @@ import org.springframework.util.StringUtils;
|
||||||
public class LiquibaseAutoConfiguration {
|
public class LiquibaseAutoConfiguration {
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public LiquibaseSchemaManagementProvider liquibaseDefaultDdlModeProvider(
|
LiquibaseSchemaManagementProvider liquibaseDefaultDdlModeProvider(ObjectProvider<SpringLiquibase> liquibases) {
|
||||||
ObjectProvider<SpringLiquibase> liquibases) {
|
|
||||||
return new LiquibaseSchemaManagementProvider(liquibases);
|
return new LiquibaseSchemaManagementProvider(liquibases);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -91,7 +89,7 @@ public class LiquibaseAutoConfiguration {
|
||||||
@ConditionalOnClass(ConnectionCallback.class)
|
@ConditionalOnClass(ConnectionCallback.class)
|
||||||
@ConditionalOnMissingBean(SpringLiquibase.class)
|
@ConditionalOnMissingBean(SpringLiquibase.class)
|
||||||
@EnableConfigurationProperties(LiquibaseProperties.class)
|
@EnableConfigurationProperties(LiquibaseProperties.class)
|
||||||
public static class LiquibaseConfiguration {
|
static class LiquibaseConfiguration {
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
@ConditionalOnMissingBean(LiquibaseConnectionDetails.class)
|
@ConditionalOnMissingBean(LiquibaseConnectionDetails.class)
|
|
@ -14,7 +14,7 @@
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.springframework.boot.autoconfigure.liquibase;
|
package org.springframework.boot.liquibase.autoconfigure;
|
||||||
|
|
||||||
import org.springframework.boot.autoconfigure.service.connection.ConnectionDetails;
|
import org.springframework.boot.autoconfigure.service.connection.ConnectionDetails;
|
||||||
import org.springframework.boot.jdbc.DatabaseDriver;
|
import org.springframework.boot.jdbc.DatabaseDriver;
|
||||||
|
@ -23,7 +23,7 @@ import org.springframework.boot.jdbc.DatabaseDriver;
|
||||||
* Details required for Liquibase to establish a connection to an SQL service using JDBC.
|
* Details required for Liquibase to establish a connection to an SQL service using JDBC.
|
||||||
*
|
*
|
||||||
* @author Andy Wilkinson
|
* @author Andy Wilkinson
|
||||||
* @since 3.1.0
|
* @since 4.0.0
|
||||||
*/
|
*/
|
||||||
public interface LiquibaseConnectionDetails extends ConnectionDetails {
|
public interface LiquibaseConnectionDetails extends ConnectionDetails {
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.springframework.boot.autoconfigure.liquibase;
|
package org.springframework.boot.liquibase.autoconfigure;
|
||||||
|
|
||||||
import java.lang.annotation.Documented;
|
import java.lang.annotation.Documented;
|
||||||
import java.lang.annotation.ElementType;
|
import java.lang.annotation.ElementType;
|
||||||
|
@ -29,7 +29,7 @@ import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
* second data source, the other (main) one would normally be marked as {@code @Primary}.
|
* second data source, the other (main) one would normally be marked as {@code @Primary}.
|
||||||
*
|
*
|
||||||
* @author Eddú Meléndez
|
* @author Eddú Meléndez
|
||||||
* @since 1.4.1
|
* @since 4.0.0
|
||||||
*/
|
*/
|
||||||
@Target({ ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.TYPE, ElementType.ANNOTATION_TYPE })
|
@Target({ ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.TYPE, ElementType.ANNOTATION_TYPE })
|
||||||
@Retention(RetentionPolicy.RUNTIME)
|
@Retention(RetentionPolicy.RUNTIME)
|
|
@ -14,7 +14,7 @@
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.springframework.boot.autoconfigure.liquibase;
|
package org.springframework.boot.liquibase.autoconfigure;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -35,7 +35,7 @@ import org.springframework.util.Assert;
|
||||||
* @author Eddú Meléndez
|
* @author Eddú Meléndez
|
||||||
* @author Ferenc Gratzer
|
* @author Ferenc Gratzer
|
||||||
* @author Evgeniy Cheban
|
* @author Evgeniy Cheban
|
||||||
* @since 1.1.0
|
* @since 4.0.0
|
||||||
*/
|
*/
|
||||||
@ConfigurationProperties(prefix = "spring.liquibase", ignoreUnknownFields = false)
|
@ConfigurationProperties(prefix = "spring.liquibase", ignoreUnknownFields = false)
|
||||||
public class LiquibaseProperties {
|
public class LiquibaseProperties {
|
||||||
|
@ -361,8 +361,6 @@ public class LiquibaseProperties {
|
||||||
* Enumeration of types of summary to show. Values are the same as those on
|
* Enumeration of types of summary to show. Values are the same as those on
|
||||||
* {@link UpdateSummaryEnum}. To maximize backwards compatibility, the Liquibase enum
|
* {@link UpdateSummaryEnum}. To maximize backwards compatibility, the Liquibase enum
|
||||||
* is not used directly.
|
* is not used directly.
|
||||||
*
|
|
||||||
* @since 3.2.1
|
|
||||||
*/
|
*/
|
||||||
public enum ShowSummary {
|
public enum ShowSummary {
|
||||||
|
|
||||||
|
@ -387,8 +385,6 @@ public class LiquibaseProperties {
|
||||||
* Enumeration of destinations to which the summary should be output. Values are the
|
* Enumeration of destinations to which the summary should be output. Values are the
|
||||||
* same as those on {@link UpdateSummaryOutputEnum}. To maximize backwards
|
* same as those on {@link UpdateSummaryOutputEnum}. To maximize backwards
|
||||||
* compatibility, the Liquibase enum is not used directly.
|
* compatibility, the Liquibase enum is not used directly.
|
||||||
*
|
|
||||||
* @since 3.2.1
|
|
||||||
*/
|
*/
|
||||||
public enum ShowSummaryOutput {
|
public enum ShowSummaryOutput {
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.springframework.boot.autoconfigure.liquibase;
|
package org.springframework.boot.liquibase.autoconfigure;
|
||||||
|
|
||||||
import java.util.stream.StreamSupport;
|
import java.util.stream.StreamSupport;
|
||||||
|
|
|
@ -17,4 +17,4 @@
|
||||||
/**
|
/**
|
||||||
* Auto-configuration for Liquibase.
|
* Auto-configuration for Liquibase.
|
||||||
*/
|
*/
|
||||||
package org.springframework.boot.autoconfigure.liquibase;
|
package org.springframework.boot.liquibase.autoconfigure;
|
|
@ -0,0 +1,46 @@
|
||||||
|
{
|
||||||
|
"properties": [
|
||||||
|
{
|
||||||
|
"name": "spring.liquibase.check-change-log-location",
|
||||||
|
"type": "java.lang.Boolean",
|
||||||
|
"description": "Check the change log location exists.",
|
||||||
|
"defaultValue": true,
|
||||||
|
"deprecation": {
|
||||||
|
"reason": "Liquibase has its own check that checks if the change log location exists making this property redundant.",
|
||||||
|
"level": "error"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "spring.liquibase.labels",
|
||||||
|
"deprecation": {
|
||||||
|
"replacement": "spring.liquibase.label-filter",
|
||||||
|
"level": "error"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "spring.liquibase.show-summary",
|
||||||
|
"defaultValue": "summary"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "spring.liquibase.show-summary-output",
|
||||||
|
"defaultValue": "log"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "spring.liquibase.ui-service",
|
||||||
|
"defaultValue": "logger"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"hints": [
|
||||||
|
{
|
||||||
|
"name": "spring.liquibase.change-log",
|
||||||
|
"providers": [
|
||||||
|
{
|
||||||
|
"name": "handle-as",
|
||||||
|
"parameters": {
|
||||||
|
"target": "org.springframework.core.io.Resource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
# Failure Analyzers
|
||||||
|
org.springframework.boot.diagnostics.FailureAnalyzer=\
|
||||||
|
org.springframework.boot.liquibase.LiquibaseChangelogMissingFailureAnalyzer
|
||||||
|
|
||||||
|
# Database Initializer Detectors
|
||||||
|
org.springframework.boot.sql.init.dependency.DatabaseInitializerDetector=\
|
||||||
|
org.springframework.boot.liquibase.LiquibaseDatabaseInitializerDetector
|
|
@ -0,0 +1 @@
|
||||||
|
org.springframework.boot.liquibase.autoconfigure.LiquibaseAutoConfiguration
|
|
@ -24,7 +24,6 @@ import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import org.springframework.beans.factory.BeanCreationException;
|
import org.springframework.beans.factory.BeanCreationException;
|
||||||
import org.springframework.boot.diagnostics.FailureAnalysis;
|
import org.springframework.boot.diagnostics.FailureAnalysis;
|
||||||
import org.springframework.boot.testsupport.classpath.ClassPathExclusions;
|
|
||||||
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
|
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
@ -36,7 +35,6 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||||
*
|
*
|
||||||
* @author Sebastiaan Fernandez
|
* @author Sebastiaan Fernandez
|
||||||
*/
|
*/
|
||||||
@ClassPathExclusions("derby-*")
|
|
||||||
class LiquibaseChangelogMissingFailureAnalyzerTests {
|
class LiquibaseChangelogMissingFailureAnalyzerTests {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -71,7 +69,7 @@ class LiquibaseChangelogMissingFailureAnalyzerTests {
|
||||||
@Bean
|
@Bean
|
||||||
DataSource dataSource() {
|
DataSource dataSource() {
|
||||||
HikariDataSource dataSource = new HikariDataSource();
|
HikariDataSource dataSource = new HikariDataSource();
|
||||||
dataSource.setJdbcUrl("jdbc:hsqldb:mem:test");
|
dataSource.setJdbcUrl("jdbc:h2:mem:test");
|
||||||
dataSource.setUsername("sa");
|
dataSource.setUsername("sa");
|
||||||
return dataSource;
|
return dataSource;
|
||||||
}
|
}
|
|
@ -14,7 +14,7 @@
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.springframework.boot.autoconfigure.liquibase;
|
package org.springframework.boot.liquibase.autoconfigure;
|
||||||
|
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
|
|
|
@ -14,11 +14,10 @@
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.springframework.boot.autoconfigure.liquibase;
|
package org.springframework.boot.liquibase.autoconfigure;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.Serializable;
|
|
||||||
import java.lang.annotation.ElementType;
|
import java.lang.annotation.ElementType;
|
||||||
import java.lang.annotation.Retention;
|
import java.lang.annotation.Retention;
|
||||||
import java.lang.annotation.RetentionPolicy;
|
import java.lang.annotation.RetentionPolicy;
|
||||||
|
@ -27,7 +26,6 @@ import java.nio.file.Files;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
|
@ -35,10 +33,6 @@ import java.util.function.Consumer;
|
||||||
import javax.sql.DataSource;
|
import javax.sql.DataSource;
|
||||||
|
|
||||||
import com.zaxxer.hikari.HikariDataSource;
|
import com.zaxxer.hikari.HikariDataSource;
|
||||||
import jakarta.persistence.Column;
|
|
||||||
import jakarta.persistence.Entity;
|
|
||||||
import jakarta.persistence.GeneratedValue;
|
|
||||||
import jakarta.persistence.Id;
|
|
||||||
import liquibase.Liquibase;
|
import liquibase.Liquibase;
|
||||||
import liquibase.UpdateSummaryEnum;
|
import liquibase.UpdateSummaryEnum;
|
||||||
import liquibase.UpdateSummaryOutputEnum;
|
import liquibase.UpdateSummaryOutputEnum;
|
||||||
|
@ -46,7 +40,6 @@ import liquibase.command.core.helpers.ShowSummaryArgument;
|
||||||
import liquibase.integration.spring.Customizer;
|
import liquibase.integration.spring.Customizer;
|
||||||
import liquibase.integration.spring.SpringLiquibase;
|
import liquibase.integration.spring.SpringLiquibase;
|
||||||
import liquibase.ui.UIServiceEnum;
|
import liquibase.ui.UIServiceEnum;
|
||||||
import org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform;
|
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.junit.jupiter.api.extension.ExtendWith;
|
import org.junit.jupiter.api.extension.ExtendWith;
|
||||||
import org.junit.jupiter.api.io.TempDir;
|
import org.junit.jupiter.api.io.TempDir;
|
||||||
|
@ -56,16 +49,11 @@ import org.springframework.aot.hint.predicate.RuntimeHintsPredicates;
|
||||||
import org.springframework.beans.factory.BeanCreationException;
|
import org.springframework.beans.factory.BeanCreationException;
|
||||||
import org.springframework.beans.factory.config.BeanDefinition;
|
import org.springframework.beans.factory.config.BeanDefinition;
|
||||||
import org.springframework.boot.autoconfigure.AutoConfigurations;
|
import org.springframework.boot.autoconfigure.AutoConfigurations;
|
||||||
import org.springframework.boot.autoconfigure.jooq.JooqAutoConfiguration;
|
|
||||||
import org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration.LiquibaseAutoConfigurationRuntimeHints;
|
|
||||||
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
|
|
||||||
import org.springframework.boot.jdbc.DataSourceBuilder;
|
import org.springframework.boot.jdbc.DataSourceBuilder;
|
||||||
import org.springframework.boot.jdbc.EmbeddedDatabaseConnection;
|
|
||||||
import org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration;
|
|
||||||
import org.springframework.boot.jdbc.autoconfigure.EmbeddedDataSourceConfiguration;
|
import org.springframework.boot.jdbc.autoconfigure.EmbeddedDataSourceConfiguration;
|
||||||
import org.springframework.boot.jdbc.autoconfigure.JdbcConnectionDetails;
|
import org.springframework.boot.jdbc.autoconfigure.JdbcConnectionDetails;
|
||||||
import org.springframework.boot.jdbc.autoconfigure.JdbcTemplateAutoConfiguration;
|
import org.springframework.boot.jdbc.autoconfigure.JdbcTemplateAutoConfiguration;
|
||||||
import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder;
|
import org.springframework.boot.liquibase.autoconfigure.LiquibaseAutoConfiguration.LiquibaseAutoConfigurationRuntimeHints;
|
||||||
import org.springframework.boot.test.context.FilteredClassLoader;
|
import org.springframework.boot.test.context.FilteredClassLoader;
|
||||||
import org.springframework.boot.test.context.assertj.AssertableApplicationContext;
|
import org.springframework.boot.test.context.assertj.AssertableApplicationContext;
|
||||||
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
|
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
|
||||||
|
@ -81,7 +69,6 @@ import org.springframework.jdbc.datasource.SimpleDriverDataSource;
|
||||||
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabase;
|
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabase;
|
||||||
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder;
|
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder;
|
||||||
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType;
|
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType;
|
||||||
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
|
|
||||||
import org.springframework.test.util.ReflectionTestUtils;
|
import org.springframework.test.util.ReflectionTestUtils;
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
@ -118,7 +105,7 @@ class LiquibaseAutoConfigurationTests {
|
||||||
@Test
|
@Test
|
||||||
@WithDbChangelogMasterYamlResource
|
@WithDbChangelogMasterYamlResource
|
||||||
void createsDataSourceWithNoDataSourceBeanAndLiquibaseUrl() {
|
void createsDataSourceWithNoDataSourceBeanAndLiquibaseUrl() {
|
||||||
String jdbcUrl = "jdbc:hsqldb:mem:liquibase" + UUID.randomUUID();
|
String jdbcUrl = "jdbc:h2:mem:liquibase" + UUID.randomUUID();
|
||||||
this.contextRunner.withPropertyValues("spring.liquibase.url:" + jdbcUrl).run(assertLiquibase((liquibase) -> {
|
this.contextRunner.withPropertyValues("spring.liquibase.url:" + jdbcUrl).run(assertLiquibase((liquibase) -> {
|
||||||
SimpleDriverDataSource dataSource = (SimpleDriverDataSource) liquibase.getDataSource();
|
SimpleDriverDataSource dataSource = (SimpleDriverDataSource) liquibase.getDataSource();
|
||||||
assertThat(dataSource.getUrl()).isEqualTo(jdbcUrl);
|
assertThat(dataSource.getUrl()).isEqualTo(jdbcUrl);
|
||||||
|
@ -127,7 +114,7 @@ class LiquibaseAutoConfigurationTests {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void backsOffWithLiquibaseUrlAndNoSpringJdbc() {
|
void backsOffWithLiquibaseUrlAndNoSpringJdbc() {
|
||||||
this.contextRunner.withPropertyValues("spring.liquibase.url:jdbc:hsqldb:mem:" + UUID.randomUUID())
|
this.contextRunner.withPropertyValues("spring.liquibase.url:jdbc:h2:mem:" + UUID.randomUUID())
|
||||||
.withClassLoader(new FilteredClassLoader("org.springframework.jdbc"))
|
.withClassLoader(new FilteredClassLoader("org.springframework.jdbc"))
|
||||||
.run((context) -> assertThat(context).doesNotHaveBean(SpringLiquibase.class));
|
.run((context) -> assertThat(context).doesNotHaveBean(SpringLiquibase.class));
|
||||||
}
|
}
|
||||||
|
@ -162,7 +149,7 @@ class LiquibaseAutoConfigurationTests {
|
||||||
.withUserConfiguration(LiquibaseDataSourceConfiguration.class, JdbcConnectionDetailsConfiguration.class)
|
.withUserConfiguration(LiquibaseDataSourceConfiguration.class, JdbcConnectionDetailsConfiguration.class)
|
||||||
.run(assertLiquibase((liquibase) -> {
|
.run(assertLiquibase((liquibase) -> {
|
||||||
HikariDataSource dataSource = (HikariDataSource) liquibase.getDataSource();
|
HikariDataSource dataSource = (HikariDataSource) liquibase.getDataSource();
|
||||||
assertThat(dataSource.getJdbcUrl()).startsWith("jdbc:hsqldb:mem:liquibasetest");
|
assertThat(dataSource.getJdbcUrl()).startsWith("jdbc:h2:mem:liquibasetest");
|
||||||
assertThat(dataSource.getUsername()).isEqualTo("sa");
|
assertThat(dataSource.getUsername()).isEqualTo("sa");
|
||||||
assertThat(dataSource.getPassword()).isNull();
|
assertThat(dataSource.getPassword()).isNull();
|
||||||
}));
|
}));
|
||||||
|
@ -176,7 +163,7 @@ class LiquibaseAutoConfigurationTests {
|
||||||
LiquibaseConnectionDetailsConfiguration.class)
|
LiquibaseConnectionDetailsConfiguration.class)
|
||||||
.run(assertLiquibase((liquibase) -> {
|
.run(assertLiquibase((liquibase) -> {
|
||||||
HikariDataSource dataSource = (HikariDataSource) liquibase.getDataSource();
|
HikariDataSource dataSource = (HikariDataSource) liquibase.getDataSource();
|
||||||
assertThat(dataSource.getJdbcUrl()).startsWith("jdbc:hsqldb:mem:liquibasetest");
|
assertThat(dataSource.getJdbcUrl()).startsWith("jdbc:h2:mem:liquibasetest");
|
||||||
assertThat(dataSource.getUsername()).isEqualTo("sa");
|
assertThat(dataSource.getUsername()).isEqualTo("sa");
|
||||||
assertThat(dataSource.getPassword()).isNull();
|
assertThat(dataSource.getPassword()).isNull();
|
||||||
}));
|
}));
|
||||||
|
@ -186,13 +173,12 @@ class LiquibaseAutoConfigurationTests {
|
||||||
@WithDbChangelogMasterYamlResource
|
@WithDbChangelogMasterYamlResource
|
||||||
void liquibasePropertiesAreUsedOverJdbcConnectionDetails() {
|
void liquibasePropertiesAreUsedOverJdbcConnectionDetails() {
|
||||||
this.contextRunner
|
this.contextRunner
|
||||||
.withPropertyValues("spring.liquibase.url=jdbc:hsqldb:mem:liquibasetest", "spring.liquibase.user=some-user",
|
.withPropertyValues("spring.liquibase.url=jdbc:h2:mem:liquibasetest", "spring.liquibase.user=some-user",
|
||||||
"spring.liquibase.password=some-password",
|
"spring.liquibase.password=some-password", "spring.liquibase.driver-class-name=org.h2.Driver")
|
||||||
"spring.liquibase.driver-class-name=org.hsqldb.jdbc.JDBCDriver")
|
|
||||||
.withUserConfiguration(JdbcConnectionDetailsConfiguration.class)
|
.withUserConfiguration(JdbcConnectionDetailsConfiguration.class)
|
||||||
.run(assertLiquibase((liquibase) -> {
|
.run(assertLiquibase((liquibase) -> {
|
||||||
SimpleDriverDataSource dataSource = (SimpleDriverDataSource) liquibase.getDataSource();
|
SimpleDriverDataSource dataSource = (SimpleDriverDataSource) liquibase.getDataSource();
|
||||||
assertThat(dataSource.getUrl()).startsWith("jdbc:hsqldb:mem:liquibasetest");
|
assertThat(dataSource.getUrl()).startsWith("jdbc:h2:mem:liquibasetest");
|
||||||
assertThat(dataSource.getUsername()).isEqualTo("some-user");
|
assertThat(dataSource.getUsername()).isEqualTo("some-user");
|
||||||
assertThat(dataSource.getPassword()).isEqualTo("some-password");
|
assertThat(dataSource.getPassword()).isEqualTo("some-password");
|
||||||
}));
|
}));
|
||||||
|
@ -201,9 +187,8 @@ class LiquibaseAutoConfigurationTests {
|
||||||
@Test
|
@Test
|
||||||
void liquibaseConnectionDetailsAreUsedOverLiquibaseProperties() {
|
void liquibaseConnectionDetailsAreUsedOverLiquibaseProperties() {
|
||||||
this.contextRunner.withSystemProperties("shouldRun=false")
|
this.contextRunner.withSystemProperties("shouldRun=false")
|
||||||
.withPropertyValues("spring.liquibase.url=jdbc:hsqldb:mem:liquibasetest", "spring.liquibase.user=some-user",
|
.withPropertyValues("spring.liquibase.url=jdbc:h2:mem:liquibasetest", "spring.liquibase.user=some-user",
|
||||||
"spring.liquibase.password=some-password",
|
"spring.liquibase.password=some-password", "spring.liquibase.driver-class-name=org.h2.Driver")
|
||||||
"spring.liquibase.driver-class-name=org.hsqldb.jdbc.JDBCDriver")
|
|
||||||
.withUserConfiguration(LiquibaseConnectionDetailsConfiguration.class)
|
.withUserConfiguration(LiquibaseConnectionDetailsConfiguration.class)
|
||||||
.run(assertLiquibase((liquibase) -> {
|
.run(assertLiquibase((liquibase) -> {
|
||||||
SimpleDriverDataSource dataSource = (SimpleDriverDataSource) liquibase.getDataSource();
|
SimpleDriverDataSource dataSource = (SimpleDriverDataSource) liquibase.getDataSource();
|
||||||
|
@ -331,7 +316,7 @@ class LiquibaseAutoConfigurationTests {
|
||||||
@Test
|
@Test
|
||||||
@WithDbChangelogMasterYamlResource
|
@WithDbChangelogMasterYamlResource
|
||||||
void overrideClearChecksums() {
|
void overrideClearChecksums() {
|
||||||
String jdbcUrl = "jdbc:hsqldb:mem:liquibase" + UUID.randomUUID();
|
String jdbcUrl = "jdbc:h2:mem:liquibase" + UUID.randomUUID();
|
||||||
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
|
||||||
.withPropertyValues("spring.liquibase.url:" + jdbcUrl)
|
.withPropertyValues("spring.liquibase.url:" + jdbcUrl)
|
||||||
.run((context) -> assertThat(context).hasNotFailed());
|
.run((context) -> assertThat(context).hasNotFailed());
|
||||||
|
@ -343,21 +328,21 @@ class LiquibaseAutoConfigurationTests {
|
||||||
@Test
|
@Test
|
||||||
@WithDbChangelogMasterYamlResource
|
@WithDbChangelogMasterYamlResource
|
||||||
void overrideDataSource() {
|
void overrideDataSource() {
|
||||||
String jdbcUrl = "jdbc:hsqldb:mem:liquibase" + UUID.randomUUID();
|
String jdbcUrl = "jdbc:h2:mem:liquibase" + UUID.randomUUID();
|
||||||
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
|
||||||
.withPropertyValues("spring.liquibase.url:" + jdbcUrl)
|
.withPropertyValues("spring.liquibase.url:" + jdbcUrl)
|
||||||
.run(assertLiquibase((liquibase) -> {
|
.run(assertLiquibase((liquibase) -> {
|
||||||
SimpleDriverDataSource dataSource = (SimpleDriverDataSource) liquibase.getDataSource();
|
SimpleDriverDataSource dataSource = (SimpleDriverDataSource) liquibase.getDataSource();
|
||||||
assertThat(dataSource.getUrl()).isEqualTo(jdbcUrl);
|
assertThat(dataSource.getUrl()).isEqualTo(jdbcUrl);
|
||||||
assertThat(dataSource.getDriver().getClass().getName()).isEqualTo("org.hsqldb.jdbc.JDBCDriver");
|
assertThat(dataSource.getDriver().getClass().getName()).isEqualTo("org.h2.Driver");
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@WithDbChangelogMasterYamlResource
|
@WithDbChangelogMasterYamlResource
|
||||||
void overrideDataSourceAndDriverClassName() {
|
void overrideDataSourceAndDriverClassName() {
|
||||||
String jdbcUrl = "jdbc:hsqldb:mem:liquibase" + UUID.randomUUID();
|
String jdbcUrl = "jdbc:h2:mem:liquibase" + UUID.randomUUID();
|
||||||
String driverClassName = "org.hsqldb.jdbcDriver";
|
String driverClassName = "org.h2.Driver";
|
||||||
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
|
||||||
.withPropertyValues("spring.liquibase.url:" + jdbcUrl,
|
.withPropertyValues("spring.liquibase.url:" + jdbcUrl,
|
||||||
"spring.liquibase.driver-class-name:" + driverClassName)
|
"spring.liquibase.driver-class-name:" + driverClassName)
|
||||||
|
@ -400,7 +385,7 @@ class LiquibaseAutoConfigurationTests {
|
||||||
@Test
|
@Test
|
||||||
@WithDbChangelogMasterYamlResource
|
@WithDbChangelogMasterYamlResource
|
||||||
void createDataSourceDoesNotFallbackToEmbeddedProperties() {
|
void createDataSourceDoesNotFallbackToEmbeddedProperties() {
|
||||||
String jdbcUrl = "jdbc:hsqldb:mem:liquibase" + UUID.randomUUID();
|
String jdbcUrl = "jdbc:h2:mem:liquibase" + UUID.randomUUID();
|
||||||
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
|
this.contextRunner.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
|
||||||
.withPropertyValues("spring.liquibase.url:" + jdbcUrl)
|
.withPropertyValues("spring.liquibase.url:" + jdbcUrl)
|
||||||
.run(assertLiquibase((liquibase) -> {
|
.run(assertLiquibase((liquibase) -> {
|
||||||
|
@ -549,49 +534,6 @@ class LiquibaseAutoConfigurationTests {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
@WithDbChangelogMasterYamlResource
|
|
||||||
void userConfigurationEntityManagerFactoryDependency() {
|
|
||||||
this.contextRunner.withConfiguration(AutoConfigurations.of(HibernateJpaAutoConfiguration.class))
|
|
||||||
.withUserConfiguration(LiquibaseUserConfiguration.class, EmbeddedDataSourceConfiguration.class)
|
|
||||||
.run((context) -> {
|
|
||||||
BeanDefinition beanDefinition = context.getBeanFactory().getBeanDefinition("entityManagerFactory");
|
|
||||||
assertThat(beanDefinition.getDependsOn()).containsExactly("springLiquibase");
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
@WithDbChangelogMasterYamlResource
|
|
||||||
@WithMetaInfPersistenceXmlResource
|
|
||||||
void jpaApplyDdl() {
|
|
||||||
this.contextRunner
|
|
||||||
.withConfiguration(
|
|
||||||
AutoConfigurations.of(DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class))
|
|
||||||
.run((context) -> {
|
|
||||||
Map<String, Object> jpaProperties = context.getBean(LocalContainerEntityManagerFactoryBean.class)
|
|
||||||
.getJpaPropertyMap();
|
|
||||||
assertThat(jpaProperties).doesNotContainKey("hibernate.hbm2ddl.auto");
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
@WithDbChangelogMasterYamlResource
|
|
||||||
@WithMetaInfPersistenceXmlResource
|
|
||||||
void jpaAndMultipleDataSourcesApplyDdl() {
|
|
||||||
this.contextRunner.withConfiguration(AutoConfigurations.of(HibernateJpaAutoConfiguration.class))
|
|
||||||
.withUserConfiguration(JpaWithMultipleDataSourcesConfiguration.class)
|
|
||||||
.run((context) -> {
|
|
||||||
LocalContainerEntityManagerFactoryBean normalEntityManagerFactoryBean = context
|
|
||||||
.getBean("&normalEntityManagerFactory", LocalContainerEntityManagerFactoryBean.class);
|
|
||||||
assertThat(normalEntityManagerFactoryBean.getJpaPropertyMap()).containsEntry("configured", "normal")
|
|
||||||
.containsEntry("hibernate.hbm2ddl.auto", "create-drop");
|
|
||||||
LocalContainerEntityManagerFactoryBean liquibaseEntityManagerFactory = context
|
|
||||||
.getBean("&liquibaseEntityManagerFactory", LocalContainerEntityManagerFactoryBean.class);
|
|
||||||
assertThat(liquibaseEntityManagerFactory.getJpaPropertyMap()).containsEntry("configured", "liquibase")
|
|
||||||
.doesNotContainKey("hibernate.hbm2ddl.auto");
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@WithDbChangelogMasterYamlResource
|
@WithDbChangelogMasterYamlResource
|
||||||
void userConfigurationJdbcTemplateDependency() {
|
void userConfigurationJdbcTemplateDependency() {
|
||||||
|
@ -611,28 +553,6 @@ class LiquibaseAutoConfigurationTests {
|
||||||
.run(assertLiquibase((liquibase) -> assertThat(liquibase.getTag()).isEqualTo("1.0.0")));
|
.run(assertLiquibase((liquibase) -> assertThat(liquibase.getTag()).isEqualTo("1.0.0")));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
@WithDbChangelogMasterYamlResource
|
|
||||||
void whenLiquibaseIsAutoConfiguredThenJooqDslContextDependsOnSpringLiquibaseBeans() {
|
|
||||||
this.contextRunner.withConfiguration(AutoConfigurations.of(JooqAutoConfiguration.class))
|
|
||||||
.withUserConfiguration(EmbeddedDataSourceConfiguration.class)
|
|
||||||
.run((context) -> {
|
|
||||||
BeanDefinition beanDefinition = context.getBeanFactory().getBeanDefinition("dslContext");
|
|
||||||
assertThat(beanDefinition.getDependsOn()).containsExactly("liquibase");
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
@WithDbChangelogMasterYamlResource
|
|
||||||
void whenCustomSpringLiquibaseIsDefinedThenJooqDslContextDependsOnSpringLiquibaseBeans() {
|
|
||||||
this.contextRunner.withConfiguration(AutoConfigurations.of(JooqAutoConfiguration.class))
|
|
||||||
.withUserConfiguration(LiquibaseUserConfiguration.class, EmbeddedDataSourceConfiguration.class)
|
|
||||||
.run((context) -> {
|
|
||||||
BeanDefinition beanDefinition = context.getBeanFactory().getBeanDefinition("dslContext");
|
|
||||||
assertThat(beanDefinition.getDependsOn()).containsExactly("springLiquibase");
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void shouldRegisterHints() {
|
void shouldRegisterHints() {
|
||||||
RuntimeHints hints = new RuntimeHints();
|
RuntimeHints hints = new RuntimeHints();
|
||||||
|
@ -684,14 +604,14 @@ class LiquibaseAutoConfigurationTests {
|
||||||
@Bean
|
@Bean
|
||||||
@Primary
|
@Primary
|
||||||
DataSource normalDataSource() {
|
DataSource normalDataSource() {
|
||||||
return DataSourceBuilder.create().url("jdbc:hsqldb:mem:normal" + UUID.randomUUID()).username("sa").build();
|
return DataSourceBuilder.create().url("jdbc:h2:mem:normal" + UUID.randomUUID()).username("sa").build();
|
||||||
}
|
}
|
||||||
|
|
||||||
@LiquibaseDataSource
|
@LiquibaseDataSource
|
||||||
@Bean
|
@Bean
|
||||||
DataSource liquibaseDataSource() {
|
DataSource liquibaseDataSource() {
|
||||||
return DataSourceBuilder.create()
|
return DataSourceBuilder.create()
|
||||||
.url("jdbc:hsqldb:mem:liquibasetest" + UUID.randomUUID())
|
.url("jdbc:h2:mem:liquibasetest" + UUID.randomUUID())
|
||||||
.username("sa")
|
.username("sa")
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
@ -712,46 +632,6 @@ class LiquibaseAutoConfigurationTests {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Configuration(proxyBeanMethods = false)
|
|
||||||
static class JpaWithMultipleDataSourcesConfiguration {
|
|
||||||
|
|
||||||
@Bean
|
|
||||||
@Primary
|
|
||||||
DataSource normalDataSource() {
|
|
||||||
return new EmbeddedDatabaseBuilder().setType(EmbeddedDatabaseConnection.HSQLDB.getType())
|
|
||||||
.generateUniqueName(true)
|
|
||||||
.build();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Bean
|
|
||||||
@Primary
|
|
||||||
LocalContainerEntityManagerFactoryBean normalEntityManagerFactory(EntityManagerFactoryBuilder builder,
|
|
||||||
DataSource normalDataSource) {
|
|
||||||
Map<String, Object> properties = new HashMap<>();
|
|
||||||
properties.put("configured", "normal");
|
|
||||||
properties.put("hibernate.transaction.jta.platform", NoJtaPlatform.INSTANCE);
|
|
||||||
return builder.dataSource(normalDataSource).properties(properties).build();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Bean
|
|
||||||
@LiquibaseDataSource
|
|
||||||
DataSource liquibaseDataSource() {
|
|
||||||
return new EmbeddedDatabaseBuilder().setType(EmbeddedDatabaseConnection.HSQLDB.getType())
|
|
||||||
.generateUniqueName(true)
|
|
||||||
.build();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Bean
|
|
||||||
LocalContainerEntityManagerFactoryBean liquibaseEntityManagerFactory(EntityManagerFactoryBuilder builder,
|
|
||||||
@LiquibaseDataSource DataSource liquibaseDataSource) {
|
|
||||||
Map<String, Object> properties = new HashMap<>();
|
|
||||||
properties.put("configured", "liquibase");
|
|
||||||
properties.put("hibernate.transaction.jta.platform", NoJtaPlatform.INSTANCE);
|
|
||||||
return builder.dataSource(liquibaseDataSource).properties(properties).build();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Configuration(proxyBeanMethods = false)
|
@Configuration(proxyBeanMethods = false)
|
||||||
static class CustomDataSourceConfiguration {
|
static class CustomDataSourceConfiguration {
|
||||||
|
|
||||||
|
@ -888,74 +768,4 @@ class LiquibaseAutoConfigurationTests {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Target(ElementType.METHOD)
|
|
||||||
@Retention(RetentionPolicy.RUNTIME)
|
|
||||||
@WithResource(name = "META-INF/persistence.xml",
|
|
||||||
content = """
|
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence https://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
|
|
||||||
<persistence-unit name="manually-configured">
|
|
||||||
<class>org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfigurationTests$City</class>
|
|
||||||
<exclude-unlisted-classes>true</exclude-unlisted-classes>
|
|
||||||
</persistence-unit>
|
|
||||||
</persistence>
|
|
||||||
""")
|
|
||||||
@interface WithMetaInfPersistenceXmlResource {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Entity
|
|
||||||
public static class City implements Serializable {
|
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
|
|
||||||
@Id
|
|
||||||
@GeneratedValue
|
|
||||||
private Long id;
|
|
||||||
|
|
||||||
@Column(nullable = false)
|
|
||||||
private String name;
|
|
||||||
|
|
||||||
@Column(nullable = false)
|
|
||||||
private String state;
|
|
||||||
|
|
||||||
@Column(nullable = false)
|
|
||||||
private String country;
|
|
||||||
|
|
||||||
@Column(nullable = false)
|
|
||||||
private String map;
|
|
||||||
|
|
||||||
protected City() {
|
|
||||||
}
|
|
||||||
|
|
||||||
City(String name, String state, String country, String map) {
|
|
||||||
this.name = name;
|
|
||||||
this.state = state;
|
|
||||||
this.country = country;
|
|
||||||
this.map = map;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getName() {
|
|
||||||
return this.name;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getState() {
|
|
||||||
return this.state;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getCountry() {
|
|
||||||
return this.country;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getMap() {
|
|
||||||
return this.map;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString() {
|
|
||||||
return getName() + "," + getState() + "," + getCountry();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
|
@ -14,7 +14,7 @@
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.springframework.boot.autoconfigure.liquibase;
|
package org.springframework.boot.liquibase.autoconfigure;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
@ -24,9 +24,9 @@ import liquibase.UpdateSummaryOutputEnum;
|
||||||
import liquibase.ui.UIServiceEnum;
|
import liquibase.ui.UIServiceEnum;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import org.springframework.boot.autoconfigure.liquibase.LiquibaseProperties.ShowSummary;
|
import org.springframework.boot.liquibase.autoconfigure.LiquibaseProperties.ShowSummary;
|
||||||
import org.springframework.boot.autoconfigure.liquibase.LiquibaseProperties.ShowSummaryOutput;
|
import org.springframework.boot.liquibase.autoconfigure.LiquibaseProperties.ShowSummaryOutput;
|
||||||
import org.springframework.boot.autoconfigure.liquibase.LiquibaseProperties.UiService;
|
import org.springframework.boot.liquibase.autoconfigure.LiquibaseProperties.UiService;
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
|
|
@ -57,6 +57,9 @@ dependencies {
|
||||||
optional(project(":spring-boot-project:spring-boot-jackson"))
|
optional(project(":spring-boot-project:spring-boot-jackson"))
|
||||||
optional(project(":spring-boot-project:spring-boot-jdbc"))
|
optional(project(":spring-boot-project:spring-boot-jdbc"))
|
||||||
optional(project(":spring-boot-project:spring-boot-jsonb"))
|
optional(project(":spring-boot-project:spring-boot-jsonb"))
|
||||||
|
optional(project(":spring-boot-project:spring-boot-liquibase")) {
|
||||||
|
exclude(group: "org.liquibase")
|
||||||
|
}
|
||||||
optional(project(":spring-boot-project:spring-boot-reactor-netty"))
|
optional(project(":spring-boot-project:spring-boot-reactor-netty"))
|
||||||
optional(project(":spring-boot-project:spring-boot-tx"))
|
optional(project(":spring-boot-project:spring-boot-tx"))
|
||||||
optional(project(":spring-boot-project:spring-boot-validation"))
|
optional(project(":spring-boot-project:spring-boot-validation"))
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
# AutoConfigureDataJdbc auto-configuration imports
|
# AutoConfigureDataJdbc auto-configuration imports
|
||||||
org.springframework.boot.autoconfigure.data.jdbc.JdbcRepositoriesAutoConfiguration
|
org.springframework.boot.autoconfigure.data.jdbc.JdbcRepositoriesAutoConfiguration
|
||||||
org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration
|
|
||||||
org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration
|
org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration
|
||||||
org.springframework.boot.jdbc.autoconfigure.DataSourceInitializationAutoConfiguration
|
org.springframework.boot.jdbc.autoconfigure.DataSourceInitializationAutoConfiguration
|
||||||
org.springframework.boot.jdbc.autoconfigure.DataSourceTransactionManagerAutoConfiguration
|
org.springframework.boot.jdbc.autoconfigure.DataSourceTransactionManagerAutoConfiguration
|
||||||
|
@ -8,4 +7,5 @@ org.springframework.boot.jdbc.autoconfigure.JdbcClientAutoConfiguration
|
||||||
org.springframework.boot.jdbc.autoconfigure.JdbcTemplateAutoConfiguration
|
org.springframework.boot.jdbc.autoconfigure.JdbcTemplateAutoConfiguration
|
||||||
org.springframework.boot.transaction.autoconfigure.TransactionAutoConfiguration
|
org.springframework.boot.transaction.autoconfigure.TransactionAutoConfiguration
|
||||||
optional:org.springframework.boot.flyway.autoconfigure.FlywayAutoConfiguration
|
optional:org.springframework.boot.flyway.autoconfigure.FlywayAutoConfiguration
|
||||||
|
optional:org.springframework.boot.liquibase.autoconfigure.LiquibaseAutoConfiguration
|
||||||
optional:org.springframework.boot.testcontainers.service.connection.ServiceConnectionAutoConfiguration
|
optional:org.springframework.boot.testcontainers.service.connection.ServiceConnectionAutoConfiguration
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
# AutoConfigureDataR2dbc auto-configuration imports
|
# AutoConfigureDataR2dbc auto-configuration imports
|
||||||
org.springframework.boot.autoconfigure.data.r2dbc.R2dbcRepositoriesAutoConfiguration
|
org.springframework.boot.autoconfigure.data.r2dbc.R2dbcRepositoriesAutoConfiguration
|
||||||
org.springframework.boot.autoconfigure.data.r2dbc.R2dbcDataAutoConfiguration
|
org.springframework.boot.autoconfigure.data.r2dbc.R2dbcDataAutoConfiguration
|
||||||
org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration
|
|
||||||
org.springframework.boot.autoconfigure.r2dbc.R2dbcAutoConfiguration
|
org.springframework.boot.autoconfigure.r2dbc.R2dbcAutoConfiguration
|
||||||
org.springframework.boot.autoconfigure.r2dbc.R2dbcInitializationAutoConfiguration
|
org.springframework.boot.autoconfigure.r2dbc.R2dbcInitializationAutoConfiguration
|
||||||
org.springframework.boot.autoconfigure.r2dbc.R2dbcTransactionManagerAutoConfiguration
|
org.springframework.boot.autoconfigure.r2dbc.R2dbcTransactionManagerAutoConfiguration
|
||||||
org.springframework.boot.transaction.autoconfigure.TransactionAutoConfiguration
|
org.springframework.boot.transaction.autoconfigure.TransactionAutoConfiguration
|
||||||
optional:org.springframework.boot.flyway.autoconfigure.FlywayAutoConfiguration
|
optional:org.springframework.boot.flyway.autoconfigure.FlywayAutoConfiguration
|
||||||
|
optional:org.springframework.boot.liquibase.autoconfigure.LiquibaseAutoConfiguration
|
||||||
optional:org.springframework.boot.testcontainers.service.connection.ServiceConnectionAutoConfiguration
|
optional:org.springframework.boot.testcontainers.service.connection.ServiceConnectionAutoConfiguration
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
# AutoConfigureJdbc auto-configuration imports
|
# AutoConfigureJdbc auto-configuration imports
|
||||||
org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration
|
|
||||||
org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration
|
org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration
|
||||||
org.springframework.boot.jdbc.autoconfigure.DataSourceInitializationAutoConfiguration
|
org.springframework.boot.jdbc.autoconfigure.DataSourceInitializationAutoConfiguration
|
||||||
org.springframework.boot.jdbc.autoconfigure.DataSourceTransactionManagerAutoConfiguration
|
org.springframework.boot.jdbc.autoconfigure.DataSourceTransactionManagerAutoConfiguration
|
||||||
|
@ -7,4 +6,5 @@ org.springframework.boot.jdbc.autoconfigure.JdbcClientAutoConfiguration
|
||||||
org.springframework.boot.jdbc.autoconfigure.JdbcTemplateAutoConfiguration
|
org.springframework.boot.jdbc.autoconfigure.JdbcTemplateAutoConfiguration
|
||||||
org.springframework.boot.transaction.autoconfigure.TransactionAutoConfiguration
|
org.springframework.boot.transaction.autoconfigure.TransactionAutoConfiguration
|
||||||
optional:org.springframework.boot.flyway.autoconfigure.FlywayAutoConfiguration
|
optional:org.springframework.boot.flyway.autoconfigure.FlywayAutoConfiguration
|
||||||
|
optional:org.springframework.boot.liquibase.autoconfigure.LiquibaseAutoConfiguration
|
||||||
optional:org.springframework.boot.testcontainers.service.connection.ServiceConnectionAutoConfiguration
|
optional:org.springframework.boot.testcontainers.service.connection.ServiceConnectionAutoConfiguration
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
# AutoConfigureJooq auto-configuration imports
|
# AutoConfigureJooq auto-configuration imports
|
||||||
org.springframework.boot.autoconfigure.jooq.JooqAutoConfiguration
|
org.springframework.boot.autoconfigure.jooq.JooqAutoConfiguration
|
||||||
org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration
|
|
||||||
org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration
|
org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration
|
||||||
org.springframework.boot.jdbc.autoconfigure.DataSourceInitializationAutoConfiguration
|
org.springframework.boot.jdbc.autoconfigure.DataSourceInitializationAutoConfiguration
|
||||||
org.springframework.boot.jdbc.autoconfigure.DataSourceTransactionManagerAutoConfiguration
|
org.springframework.boot.jdbc.autoconfigure.DataSourceTransactionManagerAutoConfiguration
|
||||||
org.springframework.boot.transaction.autoconfigure.TransactionAutoConfiguration
|
org.springframework.boot.transaction.autoconfigure.TransactionAutoConfiguration
|
||||||
optional:org.springframework.boot.flyway.autoconfigure.FlywayAutoConfiguration
|
optional:org.springframework.boot.flyway.autoconfigure.FlywayAutoConfiguration
|
||||||
|
optional:org.springframework.boot.liquibase.autoconfigure.LiquibaseAutoConfiguration
|
||||||
optional:org.springframework.boot.testcontainers.service.connection.ServiceConnectionAutoConfiguration
|
optional:org.springframework.boot.testcontainers.service.connection.ServiceConnectionAutoConfiguration
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
# AutoConfigureDataJpa auto-configuration imports
|
# AutoConfigureDataJpa auto-configuration imports
|
||||||
org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration
|
org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration
|
||||||
org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration
|
|
||||||
org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration
|
org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration
|
||||||
org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration
|
org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration
|
||||||
org.springframework.boot.jdbc.autoconfigure.DataSourceInitializationAutoConfiguration
|
org.springframework.boot.jdbc.autoconfigure.DataSourceInitializationAutoConfiguration
|
||||||
|
@ -9,4 +8,5 @@ org.springframework.boot.jdbc.autoconfigure.JdbcClientAutoConfiguration
|
||||||
org.springframework.boot.jdbc.autoconfigure.JdbcTemplateAutoConfiguration
|
org.springframework.boot.jdbc.autoconfigure.JdbcTemplateAutoConfiguration
|
||||||
org.springframework.boot.transaction.autoconfigure.TransactionAutoConfiguration
|
org.springframework.boot.transaction.autoconfigure.TransactionAutoConfiguration
|
||||||
optional:org.springframework.boot.flyway.autoconfigure.FlywayAutoConfiguration
|
optional:org.springframework.boot.flyway.autoconfigure.FlywayAutoConfiguration
|
||||||
|
optional:org.springframework.boot.liquibase.autoconfigure.LiquibaseAutoConfiguration
|
||||||
optional:org.springframework.boot.testcontainers.service.connection.ServiceConnectionAutoConfiguration
|
optional:org.springframework.boot.testcontainers.service.connection.ServiceConnectionAutoConfiguration
|
||||||
|
|
|
@ -22,8 +22,8 @@ import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
|
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration;
|
|
||||||
import org.springframework.boot.flyway.autoconfigure.FlywayAutoConfiguration;
|
import org.springframework.boot.flyway.autoconfigure.FlywayAutoConfiguration;
|
||||||
|
import org.springframework.boot.liquibase.autoconfigure.LiquibaseAutoConfiguration;
|
||||||
import org.springframework.boot.testcontainers.service.connection.ServiceConnectionAutoConfiguration;
|
import org.springframework.boot.testcontainers.service.connection.ServiceConnectionAutoConfiguration;
|
||||||
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContext;
|
||||||
import org.springframework.jdbc.core.JdbcTemplate;
|
import org.springframework.jdbc.core.JdbcTemplate;
|
||||||
|
|
|
@ -24,8 +24,8 @@ import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
|
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration;
|
|
||||||
import org.springframework.boot.flyway.autoconfigure.FlywayAutoConfiguration;
|
import org.springframework.boot.flyway.autoconfigure.FlywayAutoConfiguration;
|
||||||
|
import org.springframework.boot.liquibase.autoconfigure.LiquibaseAutoConfiguration;
|
||||||
import org.springframework.boot.testcontainers.service.connection.ServiceConnectionAutoConfiguration;
|
import org.springframework.boot.testcontainers.service.connection.ServiceConnectionAutoConfiguration;
|
||||||
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContext;
|
||||||
import org.springframework.jdbc.core.JdbcTemplate;
|
import org.springframework.jdbc.core.JdbcTemplate;
|
||||||
|
|
|
@ -25,8 +25,8 @@ import org.junit.jupiter.api.Test;
|
||||||
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
|
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration;
|
import org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration;
|
||||||
import org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration;
|
|
||||||
import org.springframework.boot.flyway.autoconfigure.FlywayAutoConfiguration;
|
import org.springframework.boot.flyway.autoconfigure.FlywayAutoConfiguration;
|
||||||
|
import org.springframework.boot.liquibase.autoconfigure.LiquibaseAutoConfiguration;
|
||||||
import org.springframework.boot.test.autoconfigure.orm.jpa.ExampleComponent;
|
import org.springframework.boot.test.autoconfigure.orm.jpa.ExampleComponent;
|
||||||
import org.springframework.boot.testcontainers.service.connection.ServiceConnectionAutoConfiguration;
|
import org.springframework.boot.testcontainers.service.connection.ServiceConnectionAutoConfiguration;
|
||||||
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContext;
|
||||||
|
|
|
@ -22,8 +22,8 @@ import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
|
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration;
|
|
||||||
import org.springframework.boot.flyway.autoconfigure.FlywayAutoConfiguration;
|
import org.springframework.boot.flyway.autoconfigure.FlywayAutoConfiguration;
|
||||||
|
import org.springframework.boot.liquibase.autoconfigure.LiquibaseAutoConfiguration;
|
||||||
import org.springframework.boot.testcontainers.service.connection.ServiceConnectionAutoConfiguration;
|
import org.springframework.boot.testcontainers.service.connection.ServiceConnectionAutoConfiguration;
|
||||||
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContext;
|
||||||
import org.springframework.data.repository.config.BootstrapMode;
|
import org.springframework.data.repository.config.BootstrapMode;
|
||||||
|
|
|
@ -31,6 +31,7 @@ dependencies {
|
||||||
|
|
||||||
dockerTestImplementation(project(":spring-boot-project:spring-boot-flyway"))
|
dockerTestImplementation(project(":spring-boot-project:spring-boot-flyway"))
|
||||||
dockerTestImplementation(project(":spring-boot-project:spring-boot-jdbc"))
|
dockerTestImplementation(project(":spring-boot-project:spring-boot-jdbc"))
|
||||||
|
dockerTestImplementation(project(":spring-boot-project:spring-boot-liquibase"))
|
||||||
dockerTestImplementation(project(":spring-boot-project:spring-boot-test"))
|
dockerTestImplementation(project(":spring-boot-project:spring-boot-test"))
|
||||||
dockerTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support-docker"))
|
dockerTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support-docker"))
|
||||||
dockerTestImplementation(project(":spring-boot-project:spring-boot-tx"))
|
dockerTestImplementation(project(":spring-boot-project:spring-boot-tx"))
|
||||||
|
@ -75,6 +76,7 @@ dependencies {
|
||||||
optional(project(":spring-boot-project:spring-boot-actuator-autoconfigure"))
|
optional(project(":spring-boot-project:spring-boot-actuator-autoconfigure"))
|
||||||
optional(project(":spring-boot-project:spring-boot-flyway"))
|
optional(project(":spring-boot-project:spring-boot-flyway"))
|
||||||
optional(project(":spring-boot-project:spring-boot-jdbc"))
|
optional(project(":spring-boot-project:spring-boot-jdbc"))
|
||||||
|
optional(project(":spring-boot-project:spring-boot-liquibase"))
|
||||||
optional(project(":spring-boot-project:spring-boot-tx"))
|
optional(project(":spring-boot-project:spring-boot-tx"))
|
||||||
optional("org.springframework:spring-test")
|
optional("org.springframework:spring-test")
|
||||||
optional("org.springframework.data:spring-data-mongodb")
|
optional("org.springframework.data:spring-data-mongodb")
|
||||||
|
|
|
@ -24,8 +24,8 @@ import org.testcontainers.junit.jupiter.Testcontainers;
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
|
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
|
||||||
import org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration;
|
|
||||||
import org.springframework.boot.jdbc.autoconfigure.JdbcConnectionDetails;
|
import org.springframework.boot.jdbc.autoconfigure.JdbcConnectionDetails;
|
||||||
|
import org.springframework.boot.liquibase.autoconfigure.LiquibaseAutoConfiguration;
|
||||||
import org.springframework.boot.testcontainers.service.connection.ServiceConnection;
|
import org.springframework.boot.testcontainers.service.connection.ServiceConnection;
|
||||||
import org.springframework.boot.testsupport.container.TestImage;
|
import org.springframework.boot.testsupport.container.TestImage;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
|
|
@ -18,7 +18,7 @@ package org.springframework.boot.testcontainers.service.connection.liquibase;
|
||||||
|
|
||||||
import org.testcontainers.containers.JdbcDatabaseContainer;
|
import org.testcontainers.containers.JdbcDatabaseContainer;
|
||||||
|
|
||||||
import org.springframework.boot.autoconfigure.liquibase.LiquibaseConnectionDetails;
|
import org.springframework.boot.liquibase.autoconfigure.LiquibaseConnectionDetails;
|
||||||
import org.springframework.boot.testcontainers.service.connection.ContainerConnectionDetailsFactory;
|
import org.springframework.boot.testcontainers.service.connection.ContainerConnectionDetailsFactory;
|
||||||
import org.springframework.boot.testcontainers.service.connection.ContainerConnectionSource;
|
import org.springframework.boot.testcontainers.service.connection.ContainerConnectionSource;
|
||||||
import org.springframework.boot.testcontainers.service.connection.ServiceConnection;
|
import org.springframework.boot.testcontainers.service.connection.ServiceConnection;
|
||||||
|
|
|
@ -33,9 +33,7 @@ dependencies {
|
||||||
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-data-r2dbc"))
|
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-data-r2dbc"))
|
||||||
|
|
||||||
runtimeOnly(project(":spring-boot-project:spring-boot-jdbc"))
|
runtimeOnly(project(":spring-boot-project:spring-boot-jdbc"))
|
||||||
runtimeOnly("org.liquibase:liquibase-core") {
|
runtimeOnly(project(":spring-boot-project:spring-boot-liquibase"))
|
||||||
exclude group: "javax.xml.bind", module: "jaxb-api"
|
|
||||||
}
|
|
||||||
runtimeOnly("org.postgresql:postgresql")
|
runtimeOnly("org.postgresql:postgresql")
|
||||||
runtimeOnly("org.postgresql:r2dbc-postgresql")
|
runtimeOnly("org.postgresql:r2dbc-postgresql")
|
||||||
runtimeOnly("org.springframework:spring-jdbc")
|
runtimeOnly("org.springframework:spring-jdbc")
|
||||||
|
|
|
@ -21,13 +21,10 @@ plugins {
|
||||||
description = "Spring Boot Liquibase smoke test"
|
description = "Spring Boot Liquibase smoke test"
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
|
implementation(project(":spring-boot-project:spring-boot-liquibase"))
|
||||||
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-actuator"))
|
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-actuator"))
|
||||||
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-jdbc"))
|
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-jdbc"))
|
||||||
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web"))
|
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web"))
|
||||||
implementation("jakarta.xml.bind:jakarta.xml.bind-api")
|
|
||||||
implementation("org.liquibase:liquibase-core") {
|
|
||||||
exclude group: "javax.xml.bind", module: "jaxb-api"
|
|
||||||
}
|
|
||||||
|
|
||||||
runtimeOnly("com.h2database:h2")
|
runtimeOnly("com.h2database:h2")
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue