diff --git a/liquibase-maven-plugin/src/main/java/org/liquibase/maven/plugins/AbstractLiquibaseChangeLogMojo.java b/liquibase-maven-plugin/src/main/java/org/liquibase/maven/plugins/AbstractLiquibaseChangeLogMojo.java index 4c9a4113f44..5373c99a9c1 100644 --- a/liquibase-maven-plugin/src/main/java/org/liquibase/maven/plugins/AbstractLiquibaseChangeLogMojo.java +++ b/liquibase-maven-plugin/src/main/java/org/liquibase/maven/plugins/AbstractLiquibaseChangeLogMojo.java @@ -2,6 +2,7 @@ // Copyright: Copyright(c) 2007 Trace Financial Limited package org.liquibase.maven.plugins; +import liquibase.GlobalConfiguration; import liquibase.Liquibase; import liquibase.Scope; import liquibase.configuration.core.DeprecatedConfigurationValueProvider; @@ -17,6 +18,7 @@ import java.io.File; import java.util.ArrayList; import java.util.List; +import java.util.Locale; /** * A Liquibase MOJO that requires the user to provide a DatabaseChangeLogFile to be able @@ -92,6 +94,16 @@ public abstract class AbstractLiquibaseChangeLogMojo extends AbstractLiquibaseMo @PropertyElement(key = "liquibase.hub.mode") protected String hubMode; + + /** + * How to handle multiple files being found in the search path that have duplicate paths. + * Options are WARN (log warning and choose one at random) or ERROR (fail current operation) + * + * @parameter property="liquibase.duplicateFileMode" default-value="ERROR" + */ + @PropertyElement + protected String duplicateFileMode; + @Override protected void checkRequiredParametersAreSpecified() throws MojoFailureException { super.checkRequiredParametersAreSpecified(); @@ -122,6 +134,9 @@ protected void performLiquibaseTask(Liquibase liquibase) throws LiquibaseExcepti if (StringUtil.isNotEmpty(hubMode)) { DeprecatedConfigurationValueProvider.setData(HubConfiguration.LIQUIBASE_HUB_MODE.getKey(), hubMode); } + if (StringUtil.isNotEmpty(duplicateFileMode)) { + DeprecatedConfigurationValueProvider.setData(GlobalConfiguration.DUPLICATE_FILE_MODE.getKey(), GlobalConfiguration.DuplicateFileMode.valueOf(duplicateFileMode.toUpperCase(Locale.ROOT))); + } } @Override