Ant Upade Task does not consider changeLogFile correctly if it is contained in a JAR

Description

While trying to use the Liquibase Ant Update Task to use the changeLogFile from a Jar contained in a classpath I run into a problem. The Task always reports an exception, stating that the file does not exists. Which is perfectly true for the file path promted in the exception, which is build by appending the specified changeLogFile name to the runtime dir of the task.

It seems, that the use of the org.apache.tools.ant.types.resources.FileResource as type of liquibase.integration.ant.AbstractChangeLogBasedTask#changeLogFile causes the problem. Maybe it would help to rather use a String at this point.

Since the Ant paramter handling modifies the specified name, the classLoaderResourceAccessor of the created CompositeResourceAccessor in class liquibase.integration.ant.BaseLiquibaseTask does never come into play.

As a workaround it is possible to switch from AntTasks to the CommandLine interface, e.g.

Environment

Liquibase 3.3.2 / Gradle 2.2 / Windows 8.1

Reporter

B

Components

Fix versions

Affects versions

Priority

Major
Configure