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.

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.

Environment

Windows 7, OpenJDK 8.0.212, Spring Boot 2.1.6

Reporter

Krzysztof Suszyński

Affects versions

Priority

Major
Configure