Starting with Liquibase 4.0.0, the includeAll definition in a change log file doesn´t work anymore if the referenced files are placed in a JAR file.
It´s working fine, if the files can be referenced from a target folder during development but not when the changesets should be accessed from JAR.

For details, see also https://forum.liquibase.org/t/includeall-with-v4-0-0/4655
Text from forum update
With the Quarkus version 1.7.1 which uses Liquibase 3.9.x everything works fine.

But Quarkus 1.8.x upgrades to Liquibase 4.0.0 and this causes issues with change sets using the includeAll tag.

Our changeLog.xml contains following:
<includeAll path="db/1.0.0/" errorIfMissingOrEmpty="true"/>

When we start the application in the Quarkus dev mode (mvn quarkus:dev) everything works fine; the changeLog is read and every file under the given path (db/1.0.0/) is executed/checked from Liquibase.

But if we run the application directly (with java -jar) we are getting following error:

```
Caused by: liquibase.exception.SetupException: Could not find directory or directory was empty for includeAll 'db/1.0.0/'
	at liquibase.changelog.DatabaseChangeLog.includeAll(DatabaseChangeLog.java:528)
```

The resources under this given folder are just not found.

If I define the includes per file, it´s working fine:

How can we define the includeAll tags with the new Liquibase 4.0.0 version?


@Override
    public SortedSet<String> list(String relativeTo, String path, boolean recursive, boolean includeFiles, boolean includeDirectories) throws IOException {
        init();
        String finalPath = getFinalPath(relativeTo, path);
        final SortedSet<String> returnList = listFromClassLoader(finalPath, recursive, includeFiles, includeDirectories);
        returnList.addAll(listFromRootPaths(finalPath, recursive, includeFiles, includeDirectories));
        return returnList;
    }
    /**
     * Called by {@link #list(String, String, boolean, boolean, boolean)} to find files in {@link #rootPaths}.
     */
    protected SortedSet<String> listFromRootPaths(String path, boolean recursive, boolean includeFiles, boolean includeDirectories) {
        SortedSet<String> returnSet = new TreeSet<>();
        SimpleFileVisitor<Path> fileVisitor = new SimpleFileVisitor<Path>() {
            @Override
            public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
                if (includeFiles && attrs.isRegularFile()) {
                    addToReturnList(file);
                }
                if (includeDirectories && attrs.isDirectory()) {
                    addToReturnList(file);
                }
                return FileVisitResult.CONTINUE;
            }
            @Override
            public FileVisitResult postVisitDirectory(Path dir, IOException exc) throws IOException {
                if (includeDirectories) {
                    addToReturnList(dir);
                }
                return FileVisitResult.CONTINUE;