Changelog with includeAll will not find child changelogs in multi-modules executed by Maven
Description
Consider a Spring Boot multi-modules project with a db/changelog/db.changelog-master.xml containing the includeAll element.
The example project structure:
Currently, liquibase load only the changelog from core: changelog-20190715-130722.xml when executed by Maven. When executed by Intellij everything works well. That's because Maven builds a classpath with core module with target/classes directory and dependent transverse module as jar. Intellij loads both to target/classes directory.
Culprit is liquibase.integration.spring.SpringLiquibase.SpringResourceOpener#list as in line 561 Spring resource loader properly located 2 resources, but the loop leaves only one.
Consider a Spring Boot multi-modules project with a
db/changelog/db.changelog-master.xml
containing theincludeAll
element.The example project structure:
Currently, liquibase load only the changelog from core:
changelog-20190715-130722.xml
when executed by Maven. When executed by Intellij everything works well. That's because Maven builds a classpath with core module withtarget/classes
directory and dependent transverse module as jar. Intellij loads both totarget/classes
directory.This is follow up to https://liquibase.jira.com/browse/CORE-3213. As the original issue wasn't fixed.
Example project: https://github.com/cardil/liquibase-multimodule (Just run
mvn verify
to reproduce error)Culprit is
liquibase.integration.spring.SpringLiquibase.SpringResourceOpener#list
as in line 561 Spring resource loader properly located 2 resources, but the loop leaves only one.