package liquibase.integration.ant;

import liquibase.resource.FileSystemResourceAccessor;
import liquibase.util.StringUtil;
import org.apache.tools.ant.AntClassLoader;

import java.io.File;

public class AntResourceAccessor extends FileSystemResourceAccessor {

    public AntResourceAccessor(AntClassLoader classLoader, String changeLogDirectory) {

        if (changeLogDirectory == null) {
            this.addRootPath(new File(".").getAbsoluteFile().toPath());
        } else {
            this.addRootPath(new File(changeLogDirectory).getAbsoluteFile().toPath());
        }

        final String classpath = StringUtil.trimToNull(classLoader.getClasspath());
        if (classpath != null) {
            for (String path : classpath.split(System.getProperty("path.separator"))) {
                this.addRootPath(new File(path).toPath());
            }
        }
    }

}

@@ -379,59 +379,255 @@
 ory 
-== null) %7B%0A            this.addRootPath(new File(%22.
+!= null) %7B%0A            changeLogDirectory = changeLogDirectory.replace(%22%5C%5C%22, %22/%22);%0A        %7D%0A%0A        if (changeLogDirectory == null) %7B%0A            this.addRootPath(new File(%22%22).getAbsoluteFile().toPath());%0A            this.addRootPath(new File(%22/
 %22).g

Handle path separator differences in AntLoader DAT-4036