Changelog with includeAll will not find child changelogs in multi-modules Spring Boot's executable JAR

Description

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

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

Reporter

Fix versions

Affects 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

Flag notifications