Changelog with includeAll will not find child changelogs in multi-modules Spring Boot's executable JAR
Description
Environment
Mac OS X 10.13.4, Springboot 2.0.1
Activity
Show:
Krzysztof Suszyński July 15, 2019 at 11:42 AM
Issue isn’t fixed. I have similar behaviour using newest Spring Boot and Liquibase, as described here: https://liquibase.jira.com/browse/CORE-3445
Fixed
Details
Details
Reporter
julien MILLAU
julien MILLAUComponents
Fix versions
Priority
Created April 22, 2018 at 8:15 PM
Updated July 15, 2019 at 11:47 AM
Resolved July 3, 2018 at 9:21 PM
Consider a Spring Boot multi-modules project with a db/changelog/db.changelog-master.xml containing the includeAll element. If the project is packaged as an executable JAR, it will not be able find changelog files in the nested jar module.
<includeAll path="classpath*:db/changelog/v1/" relativeToChangelogFile="false" />
Project structure:
- core |- src/ |- main/java |- resources/db/changelog/ |- v1/1_core/changelog-master.xml - db.changelog-master.xml - pom.xml - transverse |- src/ |- main/java |- resources/db/changelog/ |- v1/0_sch/changelog-master.xml - pom.xml - pom.xml
Currently, liquibase load only the script resources/db/changelog/v1/1_core/changelog-master.xml and the script inside the transverse jar is never loaded.
This issue appear with unit tests launched by maven and fat jar launch with the command line.
Project source code sample: https://github.com/devnied/liquibase-multimodule