From a9b2c81f60ac43e2bc2c536f232a3f124b71df0a Mon Sep 17 00:00:00 2001 From: Steven Massaro Date: Wed, 19 Jan 2022 07:31:20 -0600 Subject: [PATCH] point users to init project command if they forget a supported argument in any command (DAT-8641) (#2356) --- .../commandline/CommandRunner.java | 17 +++++++++++++++ .../command/CommandArgumentDefinition.java | 3 ++- .../liquibase/command/CommandBuilder.java | 7 +++++++ .../command/CommonArgumentNames.java | 21 +++++++++++++++++++ .../core/CalculateChecksumCommandStep.java | 8 +++---- .../core/ChangelogSyncCommandStep.java | 8 +++---- .../core/ChangelogSyncSqlCommandStep.java | 8 +++---- .../core/ChangelogSyncToTagCommandStep.java | 8 +++---- .../ChangelogSyncToTagSqlCommandStep.java | 8 +++---- .../core/ClearChecksumsCommandStep.java | 6 +++--- .../command/core/DbDocCommandStep.java | 8 +++---- .../core/DeactivateChangelogCommandStep.java | 2 +- .../core/DiffChangelogCommandStep.java | 8 +++---- .../command/core/DiffCommandStep.java | 6 +++--- .../command/core/DropAllCommandStep.java | 8 +++---- .../command/core/ExecuteSqlCommandStep.java | 6 +++--- .../FutureRollbackCountSqlCommandStep.java | 8 +++---- .../FutureRollbackFromTagSqlCommandStep.java | 8 +++---- .../core/FutureRollbackSqlCommandStep.java | 8 +++---- .../core/GenerateChangelogCommandStep.java | 8 +++---- .../command/core/HistoryCommandStep.java | 8 +++---- .../InternalDiffChangelogCommandStep.java | 2 +- .../core/InternalSyncHubCommandStep.java | 4 ++-- .../command/core/ListLocksCommandStep.java | 8 +++---- .../core/MarkNextChangesetRanCommandStep.java | 8 +++---- .../MarkNextChangesetRanSqlCommandStep.java | 8 +++---- .../core/RegisterChangelogCommandStep.java | 2 +- .../command/core/ReleaseLocksCommandStep.java | 8 +++---- .../command/core/RollbackCommandStep.java | 8 +++---- .../core/RollbackCountCommandStep.java | 8 +++---- .../core/RollbackCountSqlCommandStep.java | 8 +++---- .../command/core/RollbackSqlCommandStep.java | 8 +++---- .../core/RollbackToDateCommandStep.java | 8 +++---- .../core/RollbackToDateSqlCommandStep.java | 8 +++---- .../command/core/SnapshotCommandStep.java | 6 +++--- .../command/core/StatusCommandStep.java | 8 +++---- .../command/core/SyncHubCommandStep.java | 8 +++---- .../command/core/TagCommandStep.java | 6 +++--- .../command/core/TagExistsCommandStep.java | 6 +++--- .../core/UnexpectedChangesetsCommandStep.java | 8 +++---- .../command/core/UpdateCommandStep.java | 8 +++---- .../command/core/UpdateCountCommandStep.java | 8 +++---- .../core/UpdateCountSqlCommandStep.java | 8 +++---- .../command/core/UpdateSqlCommandStep.java | 8 +++---- .../UpdateTestingRollbackCommandStep.java | 8 +++---- .../command/core/UpdateToTagCommandStep.java | 8 +++---- .../core/UpdateToTagSqlCommandStep.java | 8 +++---- .../command/core/ValidateCommandStep.java | 8 +++---- .../exception/CommandValidationException.java | 10 ++++++++- .../MissingRequiredArgumentException.java | 17 +++++++++++++++ .../testing/command/diff.test.groovy | 1 + 51 files changed, 233 insertions(+), 161 deletions(-) create mode 100644 liquibase-core/src/main/java/liquibase/command/CommonArgumentNames.java create mode 100644 liquibase-core/src/main/java/liquibase/exception/MissingRequiredArgumentException.java diff --git a/liquibase-cli/src/main/java/liquibase/integration/commandline/CommandRunner.java b/liquibase-cli/src/main/java/liquibase/integration/commandline/CommandRunner.java index 34c10bbf16a..5bb2d2a62c6 100644 --- a/liquibase-cli/src/main/java/liquibase/integration/commandline/CommandRunner.java +++ b/liquibase-cli/src/main/java/liquibase/integration/commandline/CommandRunner.java @@ -2,6 +2,9 @@ import liquibase.command.CommandResults; import liquibase.command.CommandScope; +import liquibase.command.CommonArgumentNames; +import liquibase.exception.CommandValidationException; +import liquibase.exception.MissingRequiredArgumentException; import liquibase.util.StringUtil; import picocli.CommandLine; @@ -10,7 +13,10 @@ import java.io.OutputStream; import java.util.ArrayList; import java.util.List; +import java.util.Set; import java.util.concurrent.Callable; +import java.util.stream.Collectors; +import java.util.stream.Stream; class CommandRunner implements Callable { @@ -43,6 +49,17 @@ public CommandResults call() throws Exception { } return commandScope.execute(); + } catch (CommandValidationException cve) { + Throwable cause = cve.getCause(); + if (cause instanceof MissingRequiredArgumentException) { + // This is a list of the arguments which the init project command supports. The thinking here is that if the user + // forgets to supply one of these arguments, we're going to remind them about the init project command, which + // can help them figure out what they should be providing here. + final Set initProjectArguments = Stream.of(CommonArgumentNames.CHANGELOG_FILE, CommonArgumentNames.URL, CommonArgumentNames.USERNAME, CommonArgumentNames.PASSWORD).map(CommonArgumentNames::getArgumentName).collect(Collectors.toSet()); + throw new CommandValidationException(cve.getMessage() + (initProjectArguments.contains(((MissingRequiredArgumentException) cause).getArgumentName()) ? ". If you need to configure new liquibase project files and arguments, run the 'liquibase init project' command." : "")); + } else { + throw cve; + } } finally { if (outputStream != null) { outputStream.flush(); diff --git a/liquibase-core/src/main/java/liquibase/command/CommandArgumentDefinition.java b/liquibase-core/src/main/java/liquibase/command/CommandArgumentDefinition.java index 8e3361dc829..5a2ffc9fc5f 100644 --- a/liquibase-core/src/main/java/liquibase/command/CommandArgumentDefinition.java +++ b/liquibase-core/src/main/java/liquibase/command/CommandArgumentDefinition.java @@ -4,6 +4,7 @@ import liquibase.configuration.ConfigurationValueConverter; import liquibase.configuration.ConfigurationValueObfuscator; import liquibase.exception.CommandValidationException; +import liquibase.exception.MissingRequiredArgumentException; import liquibase.integration.commandline.LiquibaseCommandLineConfiguration; import liquibase.util.ObjectUtil; @@ -113,7 +114,7 @@ public ConfigurationValueObfuscator getValueObfuscator() { public void validate(CommandScope commandScope) throws CommandValidationException { final DataType currentValue = commandScope.getArgumentValue(this); if (this.isRequired() && currentValue == null) { - throw new CommandValidationException(LiquibaseCommandLineConfiguration.ARGUMENT_CONVERTER.getCurrentValue().convert(this.getName()), "missing required argument"); + throw new CommandValidationException(LiquibaseCommandLineConfiguration.ARGUMENT_CONVERTER.getCurrentValue().convert(this.getName()), "missing required argument", new MissingRequiredArgumentException(this.getName())); } } diff --git a/liquibase-core/src/main/java/liquibase/command/CommandBuilder.java b/liquibase-core/src/main/java/liquibase/command/CommandBuilder.java index 0ac86793bcf..ccb49fe6d99 100644 --- a/liquibase-core/src/main/java/liquibase/command/CommandBuilder.java +++ b/liquibase-core/src/main/java/liquibase/command/CommandBuilder.java @@ -21,6 +21,13 @@ public CommandArgumentDefinition.Building argument(String n return new CommandArgumentDefinition.Building<>(commandNames, new CommandArgumentDefinition<>(name, type)); } + /** + * Starts the building of a new {@link CommandArgumentDefinition}. + */ + public CommandArgumentDefinition.Building argument(CommonArgumentNames argument, Class type) { + return new CommandArgumentDefinition.Building<>(commandNames, new CommandArgumentDefinition<>(argument.getArgumentName(), type)); + } + /** * Starts the building of a new {@link CommandResultDefinition}. */ diff --git a/liquibase-core/src/main/java/liquibase/command/CommonArgumentNames.java b/liquibase-core/src/main/java/liquibase/command/CommonArgumentNames.java new file mode 100644 index 00000000000..d3b150a5219 --- /dev/null +++ b/liquibase-core/src/main/java/liquibase/command/CommonArgumentNames.java @@ -0,0 +1,21 @@ +package liquibase.command; + +/** + * A common place to store commonly used command argument names. + */ +public enum CommonArgumentNames { + USERNAME("username"), + PASSWORD("password"), + URL("url"), + CHANGELOG_FILE("changelogFile"); + + private final String argumentName; + + CommonArgumentNames(String argumentName) { + this.argumentName = argumentName; + } + + public String getArgumentName() { + return argumentName; + } +} diff --git a/liquibase-core/src/main/java/liquibase/command/core/CalculateChecksumCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/CalculateChecksumCommandStep.java index c1ac3116a20..f65b66e3852 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/CalculateChecksumCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/CalculateChecksumCommandStep.java @@ -20,9 +20,9 @@ public class CalculateChecksumCommandStep extends AbstractCliWrapperCommandStep static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - CHANGELOG_FILE_ARG = builder.argument("changelogFile", String.class).required() + CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class).required() .description("The root changelog file").build(); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC database connection URL").build(); DEFAULT_SCHEMA_NAME_ARG = builder.argument("defaultSchemaName", String.class) .description("The default schema name to use for the database connection").build(); @@ -32,9 +32,9 @@ public class CalculateChecksumCommandStep extends AbstractCliWrapperCommandStep .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("The database username").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .description("The database password") .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .build(); diff --git a/liquibase-core/src/main/java/liquibase/command/core/ChangelogSyncCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/ChangelogSyncCommandStep.java index 3749f4c29ae..246ee3db46e 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/ChangelogSyncCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/ChangelogSyncCommandStep.java @@ -21,9 +21,9 @@ public class ChangelogSyncCommandStep extends AbstractCliWrapperCommandStep { static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - CHANGELOG_FILE_ARG = builder.argument("changelogFile", String.class).required() + CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class).required() .description("The root changelog file").build(); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC database connection URL").build(); DEFAULT_SCHEMA_NAME_ARG = builder.argument("defaultSchemaName", String.class) .description("The default schema name to use for the database connection").build(); @@ -33,9 +33,9 @@ public class ChangelogSyncCommandStep extends AbstractCliWrapperCommandStep { .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("The database username").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .description("The database password") .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .build(); diff --git a/liquibase-core/src/main/java/liquibase/command/core/ChangelogSyncSqlCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/ChangelogSyncSqlCommandStep.java index 808e395cc07..4c2d17912d9 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/ChangelogSyncSqlCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/ChangelogSyncSqlCommandStep.java @@ -21,9 +21,9 @@ public class ChangelogSyncSqlCommandStep extends AbstractCliWrapperCommandStep { static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - CHANGELOG_FILE_ARG = builder.argument("changelogFile", String.class).required() + CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class).required() .description("The root changelog file").build(); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC database connection URL").build(); DEFAULT_SCHEMA_NAME_ARG = builder.argument("defaultSchemaName", String.class) .description("The default schema name to use for the database connection").build(); @@ -33,9 +33,9 @@ public class ChangelogSyncSqlCommandStep extends AbstractCliWrapperCommandStep { .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("The database username").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .description("The database password").build(); LABELS_ARG = builder.argument("labels", String.class) diff --git a/liquibase-core/src/main/java/liquibase/command/core/ChangelogSyncToTagCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/ChangelogSyncToTagCommandStep.java index 473f8888a8a..5eeece3e3f2 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/ChangelogSyncToTagCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/ChangelogSyncToTagCommandStep.java @@ -22,9 +22,9 @@ public class ChangelogSyncToTagCommandStep extends AbstractCliWrapperCommandStep static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - CHANGELOG_FILE_ARG = builder.argument("changelogFile", String.class).required() + CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class).required() .description("The root changelog file").build(); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC database connection URL").build(); DEFAULT_SCHEMA_NAME_ARG = builder.argument("defaultSchemaName", String.class) .description("The default schema name to use for the database connection").build(); @@ -34,9 +34,9 @@ public class ChangelogSyncToTagCommandStep extends AbstractCliWrapperCommandStep .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("The database username").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .description("The database password").build(); LABELS_ARG = builder.argument("labels", String.class) diff --git a/liquibase-core/src/main/java/liquibase/command/core/ChangelogSyncToTagSqlCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/ChangelogSyncToTagSqlCommandStep.java index 39028c42e72..db3570851da 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/ChangelogSyncToTagSqlCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/ChangelogSyncToTagSqlCommandStep.java @@ -22,9 +22,9 @@ public class ChangelogSyncToTagSqlCommandStep extends AbstractCliWrapperCommandS static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - CHANGELOG_FILE_ARG = builder.argument("changelogFile", String.class).required() + CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class).required() .description("The root changelog file").build(); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC database connection URL").build(); DEFAULT_SCHEMA_NAME_ARG = builder.argument("defaultSchemaName", String.class) .description("The default schema name to use for the database connection").build(); @@ -34,9 +34,9 @@ public class ChangelogSyncToTagSqlCommandStep extends AbstractCliWrapperCommandS .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("The database username").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .description("The database password").build(); LABELS_ARG = builder.argument("labels", String.class) diff --git a/liquibase-core/src/main/java/liquibase/command/core/ClearChecksumsCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/ClearChecksumsCommandStep.java index e603869c630..09d79e16750 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/ClearChecksumsCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/ClearChecksumsCommandStep.java @@ -18,7 +18,7 @@ public class ClearChecksumsCommandStep extends AbstractCliWrapperCommandStep { static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC database connection URL").build(); DEFAULT_SCHEMA_NAME_ARG = builder.argument("defaultSchemaName", String.class) .description("The default schema name to use for the database connection").build(); @@ -28,9 +28,9 @@ public class ClearChecksumsCommandStep extends AbstractCliWrapperCommandStep { .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("The database username").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .description("The database password").build(); } diff --git a/liquibase-core/src/main/java/liquibase/command/core/DbDocCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/DbDocCommandStep.java index 89652d6d313..3ac52b11cd3 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/DbDocCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/DbDocCommandStep.java @@ -20,9 +20,9 @@ public class DbDocCommandStep extends AbstractCliWrapperCommandStep { static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - CHANGELOG_FILE_ARG = builder.argument("changelogFile", String.class) + CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class) .description("The root changelog").required().build(); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC database connection URL").build(); DEFAULT_SCHEMA_NAME_ARG = builder.argument("defaultSchemaName", String.class) .description("The default schema name to use for the database connection").build(); @@ -32,9 +32,9 @@ public class DbDocCommandStep extends AbstractCliWrapperCommandStep { .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("The database username").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .description("The database password") .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .build(); diff --git a/liquibase-core/src/main/java/liquibase/command/core/DeactivateChangelogCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/DeactivateChangelogCommandStep.java index 8b98aa8eeb5..1bbc809fc6e 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/DeactivateChangelogCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/DeactivateChangelogCommandStep.java @@ -25,7 +25,7 @@ public class DeactivateChangelogCommandStep extends AbstractCommandStep { static { final CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - CHANGELOG_FILE_ARG = builder.argument("changelogFile", String.class).required() + CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class).required() .description("The root changelog").build(); } diff --git a/liquibase-core/src/main/java/liquibase/command/core/DiffChangelogCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/DiffChangelogCommandStep.java index ba967ff3086..dd389ad5844 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/DiffChangelogCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/DiffChangelogCommandStep.java @@ -42,7 +42,7 @@ public class DiffChangelogCommandStep extends AbstractCliWrapperCommandStep { .description("The reference default schema name to use for the database connection").build(); REFERENCE_DEFAULT_CATALOG_NAME_ARG = builder.argument("referenceDefaultCatalogName", String.class) .description("The reference default catalog name to use for the database connection").build(); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC target database connection URL").build(); DEFAULT_SCHEMA_NAME_ARG = builder.argument("defaultSchemaName", String.class) .description("The default schema name to use for the database connection").build(); @@ -52,13 +52,13 @@ public class DiffChangelogCommandStep extends AbstractCliWrapperCommandStep { .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("The target database username").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .description("The target database password") .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .build(); - CHANGELOG_FILE_ARG = builder.argument("changelogFile", String.class).required() + CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class).required() .description("Changelog file to write results").build(); EXCLUDE_OBJECTS_ARG = builder.argument("excludeObjects", String.class) .description("Objects to exclude from diff").build(); diff --git a/liquibase-core/src/main/java/liquibase/command/core/DiffCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/DiffCommandStep.java index 01eedd47c46..3819c9b3afd 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/DiffCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/DiffCommandStep.java @@ -33,11 +33,11 @@ public class DiffCommandStep extends AbstractCliWrapperCommandStep { .description("The reference database password") .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .build(); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC target database connection URL").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("The target database username").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .description("The target database password") .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .build(); diff --git a/liquibase-core/src/main/java/liquibase/command/core/DropAllCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/DropAllCommandStep.java index 7a355f6fe3a..3e9a8ebb48f 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/DropAllCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/DropAllCommandStep.java @@ -24,9 +24,9 @@ public class DropAllCommandStep extends AbstractCliWrapperCommandStep { static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC database connection URL").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("Username to use to connect to the database").build(); SCHEMAS_ARG = builder.argument("schemas", String.class) .description("Schemas to include in drop").build(); @@ -38,11 +38,11 @@ public class DropAllCommandStep extends AbstractCliWrapperCommandStep { .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .description("Password to use to connect to the database") .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .build(); - CHANGELOG_FILE_ARG = builder.argument("changelogFile", String.class) + CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class) .description("The root changelog").build(); HUB_CONNECTION_ID_ARG = builder.argument("hubConnectionId", UUID.class) .description("Used to identify the specific Connection in which to record or extract data at Liquibase Hub. Available in your Liquibase Hub Project at https://hub.liquibase.com.").build(); diff --git a/liquibase-core/src/main/java/liquibase/command/core/ExecuteSqlCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/ExecuteSqlCommandStep.java index 052217518b9..52454659ae5 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/ExecuteSqlCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/ExecuteSqlCommandStep.java @@ -23,7 +23,7 @@ public class ExecuteSqlCommandStep extends AbstractCliWrapperCommandStep { static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC database connection URL").build(); DEFAULT_SCHEMA_NAME_ARG = builder.argument("defaultSchemaName", String.class) .description("The default schema name to use for the database connection").build(); @@ -33,9 +33,9 @@ public class ExecuteSqlCommandStep extends AbstractCliWrapperCommandStep { .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("Username to use to connect to the database").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .description("Password to use to connect to the database") .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .build(); diff --git a/liquibase-core/src/main/java/liquibase/command/core/FutureRollbackCountSqlCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/FutureRollbackCountSqlCommandStep.java index 442c9696f9b..cbe623329d4 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/FutureRollbackCountSqlCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/FutureRollbackCountSqlCommandStep.java @@ -22,9 +22,9 @@ public class FutureRollbackCountSqlCommandStep extends AbstractCliWrapperCommand static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - CHANGELOG_FILE_ARG = builder.argument("changelogFile", String.class).required() + CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class).required() .description("The root changelog").build(); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC database connection URL").build(); DEFAULT_SCHEMA_NAME_ARG = builder.argument("defaultSchemaName", String.class) .description("The default schema name to use for the database connection").build(); @@ -34,9 +34,9 @@ public class FutureRollbackCountSqlCommandStep extends AbstractCliWrapperCommand .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("The database username").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .description("The database password") .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .build(); diff --git a/liquibase-core/src/main/java/liquibase/command/core/FutureRollbackFromTagSqlCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/FutureRollbackFromTagSqlCommandStep.java index 444d15fb925..7867cff43f8 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/FutureRollbackFromTagSqlCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/FutureRollbackFromTagSqlCommandStep.java @@ -22,9 +22,9 @@ public class FutureRollbackFromTagSqlCommandStep extends AbstractCliWrapperComma static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - CHANGELOG_FILE_ARG = builder.argument("changelogFile", String.class).required() + CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class).required() .description("The root changelog").build(); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC database connection URL").build(); DEFAULT_SCHEMA_NAME_ARG = builder.argument("defaultSchemaName", String.class) .description("The default schema name to use for the database connection").build(); @@ -34,9 +34,9 @@ public class FutureRollbackFromTagSqlCommandStep extends AbstractCliWrapperComma .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("Username to use to connect to the database").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .description("Password to use to connect to the database") .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .build(); diff --git a/liquibase-core/src/main/java/liquibase/command/core/FutureRollbackSqlCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/FutureRollbackSqlCommandStep.java index 881d42e4ad1..23554867ca2 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/FutureRollbackSqlCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/FutureRollbackSqlCommandStep.java @@ -21,9 +21,9 @@ public class FutureRollbackSqlCommandStep extends AbstractCliWrapperCommandStep static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - CHANGELOG_FILE_ARG = builder.argument("changelogFile", String.class).required() + CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class).required() .description("The root changelog").build(); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC Database connection URL").build(); DEFAULT_SCHEMA_NAME_ARG = builder.argument("defaultSchemaName", String.class) .description("The default schema name to use for the database connection").build(); @@ -33,9 +33,9 @@ public class FutureRollbackSqlCommandStep extends AbstractCliWrapperCommandStep .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("Username to use to connect to the database").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .description("Password to use to connect to the database") .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .build(); diff --git a/liquibase-core/src/main/java/liquibase/command/core/GenerateChangelogCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/GenerateChangelogCommandStep.java index 41f119137d7..358bb34a982 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/GenerateChangelogCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/GenerateChangelogCommandStep.java @@ -28,11 +28,11 @@ public class GenerateChangelogCommandStep extends AbstractCliWrapperCommandStep static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC database connection URL").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("Username to use to connect to the database").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .description("Password to use to connect to the database") .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .build(); @@ -40,7 +40,7 @@ public class GenerateChangelogCommandStep extends AbstractCliWrapperCommandStep .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - CHANGELOG_FILE_ARG = builder.argument("changelogFile", String.class).required() + CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class).required() .description("File to write changelog to").build(); DATA_OUTPUT_DIRECTORY = builder.argument("dataOutputDirectory", String.class) .description("Directory to write table data to").build(); diff --git a/liquibase-core/src/main/java/liquibase/command/core/HistoryCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/HistoryCommandStep.java index 42331438752..5889bd67d3c 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/HistoryCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/HistoryCommandStep.java @@ -19,7 +19,7 @@ public class HistoryCommandStep extends AbstractCliWrapperCommandStep { static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC database connection URL").build(); DEFAULT_SCHEMA_NAME_ARG = builder.argument("defaultSchemaName", String.class) .description("The default schema name to use for the database connection").build(); @@ -29,13 +29,13 @@ public class HistoryCommandStep extends AbstractCliWrapperCommandStep { .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("Username to use to connect to the database").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .description("Password to use to connect to the database") .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .build(); - CHANGELOG_FILE_ARG = builder.argument("changelogFile", String.class) + CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class) .description("The root changelog").build(); } diff --git a/liquibase-core/src/main/java/liquibase/command/core/InternalDiffChangelogCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/InternalDiffChangelogCommandStep.java index ea37b0c5c08..c1486587f67 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/InternalDiffChangelogCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/InternalDiffChangelogCommandStep.java @@ -21,7 +21,7 @@ public class InternalDiffChangelogCommandStep extends InternalDiffCommandStep { static { final CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - CHANGELOG_FILE_ARG = builder.argument("changelogFile", String.class).required().build(); + CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class).required().build(); DIFF_OUTPUT_CONTROL_ARG = builder.argument("diffOutputControl", DiffOutputControl.class).required().build(); } diff --git a/liquibase-core/src/main/java/liquibase/command/core/InternalSyncHubCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/InternalSyncHubCommandStep.java index b80fe1c8e78..8bc545a50c2 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/InternalSyncHubCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/InternalSyncHubCommandStep.java @@ -33,8 +33,8 @@ public class InternalSyncHubCommandStep extends AbstractCommandStep { static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - URL_ARG = builder.argument("url", String.class).build(); - CHANGELOG_FILE_ARG = builder.argument("changelogFile", String.class).build(); + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).build(); + CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class).build(); HUB_CONNECTION_ID_ARG = builder.argument("hubConnectionId", UUID.class).build(); HUB_PROJECT_ID_ARG = builder.argument("hubProjectId", UUID.class).build(); CONTINUE_IF_CONNECTION_AND_PROJECT_ID_BOTH_SET_ARG = builder.argument("continueIfConnectionAndProjectIdBothSet", Boolean.class) diff --git a/liquibase-core/src/main/java/liquibase/command/core/ListLocksCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/ListLocksCommandStep.java index 0f7ab3b0ee1..f89d52fedc6 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/ListLocksCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/ListLocksCommandStep.java @@ -19,7 +19,7 @@ public class ListLocksCommandStep extends AbstractCliWrapperCommandStep { static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC database connection URL").build(); DEFAULT_SCHEMA_NAME_ARG = builder.argument("defaultSchemaName", String.class) .description("The default schema name to use for the database connection").build(); @@ -29,13 +29,13 @@ public class ListLocksCommandStep extends AbstractCliWrapperCommandStep { .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("Username to use to connect to the database").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .description("Password to use to connect to the database") .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .build(); - CHANGELOG_FILE_ARG = builder.argument("changelogFile", String.class) + CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class) .description("The root changelog").build(); } diff --git a/liquibase-core/src/main/java/liquibase/command/core/MarkNextChangesetRanCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/MarkNextChangesetRanCommandStep.java index ffe8bfe339a..2d87f5bad7b 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/MarkNextChangesetRanCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/MarkNextChangesetRanCommandStep.java @@ -19,7 +19,7 @@ public class MarkNextChangesetRanCommandStep extends AbstractCliWrapperCommandSt static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC database connection URL").build(); DEFAULT_SCHEMA_NAME_ARG = builder.argument("defaultSchemaName", String.class) .description("The default schema name to use for the database connection").build(); @@ -29,13 +29,13 @@ public class MarkNextChangesetRanCommandStep extends AbstractCliWrapperCommandSt .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("Username to use to connect to the database").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .description("Password to use to connect to the database") .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .build(); - CHANGELOG_FILE_ARG = builder.argument("changelogFile", String.class).required() + CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class).required() .description("The root changelog").build(); } diff --git a/liquibase-core/src/main/java/liquibase/command/core/MarkNextChangesetRanSqlCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/MarkNextChangesetRanSqlCommandStep.java index a25347b65f5..23b8f9c7018 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/MarkNextChangesetRanSqlCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/MarkNextChangesetRanSqlCommandStep.java @@ -19,7 +19,7 @@ public class MarkNextChangesetRanSqlCommandStep extends AbstractCliWrapperComman static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC database connection URL").build(); DEFAULT_SCHEMA_NAME_ARG = builder.argument("defaultSchemaName", String.class) .description("The default schema name to use for the database connection").build(); @@ -29,13 +29,13 @@ public class MarkNextChangesetRanSqlCommandStep extends AbstractCliWrapperComman .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("Username to use to connect to the database").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .description("Password to use to connect to the database") .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .build(); - CHANGELOG_FILE_ARG = builder.argument("changelogFile", String.class).required() + CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class).required() .description("The root changelog").build(); } diff --git a/liquibase-core/src/main/java/liquibase/command/core/RegisterChangelogCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/RegisterChangelogCommandStep.java index b36a47ccf13..2e41ea8a89b 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/RegisterChangelogCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/RegisterChangelogCommandStep.java @@ -35,7 +35,7 @@ public class RegisterChangelogCommandStep extends AbstractCommandStep { static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - CHANGELOG_FILE_ARG = builder.argument("changelogFile", String.class).required() + CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class).required() .description("The root changelog").build(); HUB_PROJECT_ID_ARG = builder.argument("hubProjectId", UUID.class).optional() .description("Used to identify the specific Project in which to record or extract data at Liquibase Hub. Available in your Liquibase Hub account at https://hub.liquibase.com.").build(); diff --git a/liquibase-core/src/main/java/liquibase/command/core/ReleaseLocksCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/ReleaseLocksCommandStep.java index 11c4ae3e453..c422f69dff4 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/ReleaseLocksCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/ReleaseLocksCommandStep.java @@ -19,7 +19,7 @@ public class ReleaseLocksCommandStep extends AbstractCliWrapperCommandStep { static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC database connection URL").build(); DEFAULT_SCHEMA_NAME_ARG = builder.argument("defaultSchemaName", String.class) .description("The default schema name to use for the database connection").build(); @@ -29,13 +29,13 @@ public class ReleaseLocksCommandStep extends AbstractCliWrapperCommandStep { .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("Username to use to connect to the database").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .description("Password to use to connect to the database") .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .build(); - CHANGELOG_FILE_ARG = builder.argument("changelogFile", String.class) + CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class) .description("The root changelog").build(); } diff --git a/liquibase-core/src/main/java/liquibase/command/core/RollbackCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/RollbackCommandStep.java index 328cf7394eb..64ccbe3fe22 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/RollbackCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/RollbackCommandStep.java @@ -25,7 +25,7 @@ public class RollbackCommandStep extends AbstractCliWrapperCommandStep { static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC database connection URL").build(); DEFAULT_SCHEMA_NAME_ARG = builder.argument("defaultSchemaName", String.class) .description("The default schema name to use for the database connection").build(); @@ -35,13 +35,13 @@ public class RollbackCommandStep extends AbstractCliWrapperCommandStep { .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("Username to use to connect to the database").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .description("Password to use to connect to the database") .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .build(); - CHANGELOG_FILE_ARG = builder.argument("changelogFile", String.class).required() + CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class).required() .description("The root changelog").build(); LABELS_ARG = builder.argument("labels", String.class) .description("Changeset labels to match").build(); diff --git a/liquibase-core/src/main/java/liquibase/command/core/RollbackCountCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/RollbackCountCommandStep.java index 9a713c13b17..e28b123b85e 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/RollbackCountCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/RollbackCountCommandStep.java @@ -25,7 +25,7 @@ public class RollbackCountCommandStep extends AbstractCliWrapperCommandStep { static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC database connection URL").build(); DEFAULT_SCHEMA_NAME_ARG = builder.argument("defaultSchemaName", String.class) .description("The default schema name to use for the database connection").build(); @@ -35,13 +35,13 @@ public class RollbackCountCommandStep extends AbstractCliWrapperCommandStep { .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("Username to use to connect to the database").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .description("Password to use to connect to the database") .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .build(); - CHANGELOG_FILE_ARG = builder.argument("changelogFile", String.class).required() + CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class).required() .description("The root changelog").build(); LABELS_ARG = builder.argument("labels", String.class) .description("Changeset labels to match").build(); diff --git a/liquibase-core/src/main/java/liquibase/command/core/RollbackCountSqlCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/RollbackCountSqlCommandStep.java index 8a9f554c654..ccd1a5f23fb 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/RollbackCountSqlCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/RollbackCountSqlCommandStep.java @@ -25,7 +25,7 @@ public class RollbackCountSqlCommandStep extends AbstractCliWrapperCommandStep { static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC database connection URL").build(); DEFAULT_SCHEMA_NAME_ARG = builder.argument("defaultSchemaName", String.class) .description("The default schema name to use for the database connection").build(); @@ -35,13 +35,13 @@ public class RollbackCountSqlCommandStep extends AbstractCliWrapperCommandStep { .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("Username to use to connect to the database").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .description("Password to use to connect to the database") .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .build(); - CHANGELOG_FILE_ARG = builder.argument("changelogFile", String.class).required() + CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class).required() .description("The root changelog").build(); LABELS_ARG = builder.argument("labels", String.class) .description("Changeset labels to match").build(); diff --git a/liquibase-core/src/main/java/liquibase/command/core/RollbackSqlCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/RollbackSqlCommandStep.java index 399fae72c61..aa6533d82d3 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/RollbackSqlCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/RollbackSqlCommandStep.java @@ -25,7 +25,7 @@ public class RollbackSqlCommandStep extends AbstractCliWrapperCommandStep { static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC database connection URL").build(); DEFAULT_SCHEMA_NAME_ARG = builder.argument("defaultSchemaName", String.class) .description("The default schema name to use for the database connection").build(); @@ -35,13 +35,13 @@ public class RollbackSqlCommandStep extends AbstractCliWrapperCommandStep { .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("Username to use to connect to the database").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .description("Password to use to connect to the database") .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .build(); - CHANGELOG_FILE_ARG = builder.argument("changelogFile", String.class).required() + CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class).required() .description("File to write changelog to").build(); LABELS_ARG = builder.argument("labels", String.class) .description("Changeset labels to match").build(); diff --git a/liquibase-core/src/main/java/liquibase/command/core/RollbackToDateCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/RollbackToDateCommandStep.java index 38d06759881..d210a28b48c 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/RollbackToDateCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/RollbackToDateCommandStep.java @@ -27,7 +27,7 @@ public class RollbackToDateCommandStep extends AbstractCliWrapperCommandStep { static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC database connection URL").build(); DEFAULT_SCHEMA_NAME_ARG = builder.argument("defaultSchemaName", String.class) .description("The default schema name to use for the database connection").build(); @@ -37,13 +37,13 @@ public class RollbackToDateCommandStep extends AbstractCliWrapperCommandStep { .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("Username to use to connect to the database").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .description("Password to use to connect to the database") .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .build(); - CHANGELOG_FILE_ARG = builder.argument("changelogFile", String.class).required() + CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class).required() .description("File to write changelog to").build(); LABELS_ARG = builder.argument("labels", String.class) .description("Changeset labels to match").build(); diff --git a/liquibase-core/src/main/java/liquibase/command/core/RollbackToDateSqlCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/RollbackToDateSqlCommandStep.java index 73ba0a7f032..0f284633366 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/RollbackToDateSqlCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/RollbackToDateSqlCommandStep.java @@ -27,7 +27,7 @@ public class RollbackToDateSqlCommandStep extends AbstractCliWrapperCommandStep static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC database connection URL").build(); DEFAULT_SCHEMA_NAME_ARG = builder.argument("defaultSchemaName", String.class) .description("The default schema name to use for the database connection").build(); @@ -37,13 +37,13 @@ public class RollbackToDateSqlCommandStep extends AbstractCliWrapperCommandStep .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("Username to use to connect to the database").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .description("Password to use to connect to the database") .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .build(); - CHANGELOG_FILE_ARG = builder.argument("changelogFile", String.class).required() + CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class).required() .description("The root changelog").build(); LABELS_ARG = builder.argument("labels", String.class) .description("Changeset labels to match").build(); diff --git a/liquibase-core/src/main/java/liquibase/command/core/SnapshotCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/SnapshotCommandStep.java index 4fdcd246b3e..42ce354caba 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/SnapshotCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/SnapshotCommandStep.java @@ -21,7 +21,7 @@ public class SnapshotCommandStep extends AbstractCliWrapperCommandStep { static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC database connection URL").build(); DEFAULT_SCHEMA_NAME_ARG = builder.argument("defaultSchemaName", String.class) .description("The default schema name to use for the database connection").build(); @@ -31,9 +31,9 @@ public class SnapshotCommandStep extends AbstractCliWrapperCommandStep { .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("Username to use to connect to the database").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .description("Password to use to connect to the database") .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .build(); diff --git a/liquibase-core/src/main/java/liquibase/command/core/StatusCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/StatusCommandStep.java index 325667a7406..4c8952fc9ff 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/StatusCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/StatusCommandStep.java @@ -24,7 +24,7 @@ public class StatusCommandStep extends AbstractCliWrapperCommandStep { static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC database connection URL").build(); DEFAULT_SCHEMA_NAME_ARG = builder.argument("defaultSchemaName", String.class) .description("The default schema name to use for the database connection").build(); @@ -34,13 +34,13 @@ public class StatusCommandStep extends AbstractCliWrapperCommandStep { .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("Username to use to connect to the database").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .description("Password to use to connect to the database") .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .build(); - CHANGELOG_FILE_ARG = builder.argument("changelogFile", String.class).required() + CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class).required() .description("The root changelog").build(); CONTEXTS_ARG = builder.argument("contexts", String.class) .description("Changeset contexts to match").build(); diff --git a/liquibase-core/src/main/java/liquibase/command/core/SyncHubCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/SyncHubCommandStep.java index 87ab074d299..557135a81bd 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/SyncHubCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/SyncHubCommandStep.java @@ -23,15 +23,15 @@ public class SyncHubCommandStep extends AbstractCliWrapperCommandStep { static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC database connection URL").build(); DEFAULT_SCHEMA_NAME_ARG = builder.argument("defaultSchemaName", String.class) .description("The default schema name to use for the database connection").build(); DEFAULT_CATALOG_NAME_ARG = builder.argument("defaultCatalogName", String.class) .description("The default catalog name to use for the database connection").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("Username to use to connect to the database").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .description("Password to use to connect to the database") .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .build(); @@ -39,7 +39,7 @@ public class SyncHubCommandStep extends AbstractCliWrapperCommandStep { .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - CHANGELOG_FILE_ARG = builder.argument("changelogFile", String.class) + CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class) .description("The root changelog").build(); HUB_CONNECTION_ID_ARG = builder.argument("hubConnectionId", UUID.class) .description("Used to identify the specific Connection in which to record or extract data at Liquibase Hub. Available in your Liquibase Hub Project at https://hub.liquibase.com.").build(); diff --git a/liquibase-core/src/main/java/liquibase/command/core/TagCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/TagCommandStep.java index 5cd17c96955..620bbd5252a 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/TagCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/TagCommandStep.java @@ -19,7 +19,7 @@ public class TagCommandStep extends AbstractCliWrapperCommandStep { static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC database connection URL").build(); DEFAULT_SCHEMA_NAME_ARG = builder.argument("defaultSchemaName", String.class) .description("The default schema name to use for the database connection").build(); @@ -29,9 +29,9 @@ public class TagCommandStep extends AbstractCliWrapperCommandStep { .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("Username to use to connect to the database").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .description("Password to use to connect to the database") .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .build(); diff --git a/liquibase-core/src/main/java/liquibase/command/core/TagExistsCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/TagExistsCommandStep.java index 61e9ce4f46c..392368f88da 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/TagExistsCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/TagExistsCommandStep.java @@ -19,7 +19,7 @@ public class TagExistsCommandStep extends AbstractCliWrapperCommandStep { static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC database connection URL").build(); DEFAULT_SCHEMA_NAME_ARG = builder.argument("defaultSchemaName", String.class) .description("The default schema name to use for the database connection").build(); @@ -29,9 +29,9 @@ public class TagExistsCommandStep extends AbstractCliWrapperCommandStep { .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("Username to use to connect to the database").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .description("Password to use to connect to the database") .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .build(); diff --git a/liquibase-core/src/main/java/liquibase/command/core/UnexpectedChangesetsCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/UnexpectedChangesetsCommandStep.java index 3a62027c0bd..4ba72f9171c 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/UnexpectedChangesetsCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/UnexpectedChangesetsCommandStep.java @@ -21,7 +21,7 @@ public class UnexpectedChangesetsCommandStep extends AbstractCliWrapperCommandSt static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC database connection URL").build(); DEFAULT_SCHEMA_NAME_ARG = builder.argument("defaultSchemaName", String.class) .description("The default schema name to use for the database connection").build(); @@ -31,13 +31,13 @@ public class UnexpectedChangesetsCommandStep extends AbstractCliWrapperCommandSt .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("Username to use to connect to the database").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .description("Password to use to connect to the database") .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .build(); - CHANGELOG_FILE_ARG = builder.argument("changelogFile", String.class).required() + CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class).required() .description("The root changelog").build(); CONTEXTS_ARG = builder.argument("contexts", String.class) .description("Changeset contexts to match").build(); diff --git a/liquibase-core/src/main/java/liquibase/command/core/UpdateCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/UpdateCommandStep.java index 9c74e496517..bc0c1dcaae4 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/UpdateCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/UpdateCommandStep.java @@ -25,7 +25,7 @@ public class UpdateCommandStep extends AbstractCliWrapperCommandStep { static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME, LEGACY_COMMAND_NAME); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC database connection URL").build(); DEFAULT_SCHEMA_NAME = builder.argument("defaultSchemaName", String.class) .description("The default schema name to use for the database connection").build(); @@ -35,13 +35,13 @@ public class UpdateCommandStep extends AbstractCliWrapperCommandStep { .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("Username to use to connect to the database").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .description("Password to use to connect to the database") .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .build(); - CHANGELOG_FILE_ARG = builder.argument("changelogFile", String.class).required() + CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class).required() .description("The root changelog").build(); LABELS_ARG = builder.argument("labels", String.class) .description("Changeset labels to match").build(); diff --git a/liquibase-core/src/main/java/liquibase/command/core/UpdateCountCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/UpdateCountCommandStep.java index b302274b6c3..4944e4013f7 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/UpdateCountCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/UpdateCountCommandStep.java @@ -24,7 +24,7 @@ public class UpdateCountCommandStep extends AbstractCliWrapperCommandStep { static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC database connection URL").build(); DEFAULT_SCHEMA_NAME_ARG = builder.argument("defaultSchemaName", String.class) .description("The default schema name to use for the database connection").build(); @@ -34,13 +34,13 @@ public class UpdateCountCommandStep extends AbstractCliWrapperCommandStep { .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("Username to use to connect to the database").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .description("Password to use to connect to the database") .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .build(); - CHANGELOG_FILE_ARG = builder.argument("changelogFile", String.class).required() + CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class).required() .description("The root changelog").build(); LABELS_ARG = builder.argument("labels", String.class) .description("Changeset labels to match").build(); diff --git a/liquibase-core/src/main/java/liquibase/command/core/UpdateCountSqlCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/UpdateCountSqlCommandStep.java index 3f93a93b196..686dab2fc92 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/UpdateCountSqlCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/UpdateCountSqlCommandStep.java @@ -24,7 +24,7 @@ public class UpdateCountSqlCommandStep extends AbstractCliWrapperCommandStep { static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC database connection URL").build(); DEFAULT_SCHEMA_NAME_ARG = builder.argument("defaultSchemaName", String.class) .description("The default schema name to use for the database connection").build(); @@ -34,13 +34,13 @@ public class UpdateCountSqlCommandStep extends AbstractCliWrapperCommandStep { .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("Username to use to connect to the database").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .description("Password to use to connect to the database") .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .build(); - CHANGELOG_FILE_ARG = builder.argument("changelogFile", String.class).required() + CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class).required() .description("The root changelog").build(); LABELS_ARG = builder.argument("labels", String.class) .description("Changeset labels to match").build(); diff --git a/liquibase-core/src/main/java/liquibase/command/core/UpdateSqlCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/UpdateSqlCommandStep.java index 7f3a9d05b1f..f8ecb361ace 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/UpdateSqlCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/UpdateSqlCommandStep.java @@ -24,7 +24,7 @@ public class UpdateSqlCommandStep extends AbstractCliWrapperCommandStep { static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME, LEGACY_COMMAND_NAME); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC database connection URL").build(); DEFAULT_SCHEMA_NAME_ARG = builder.argument("defaultSchemaName", String.class) .description("The default schema name to use for the database connection").build(); @@ -34,13 +34,13 @@ public class UpdateSqlCommandStep extends AbstractCliWrapperCommandStep { .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("Username to use to connect to the database").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .description("Password to use to connect to the database") .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .build(); - CHANGELOG_FILE_ARG = builder.argument("changelogFile", String.class).required() + CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class).required() .description("The root changelog").build(); LABELS_ARG = builder.argument("labels", String.class) .description("Changeset labels to match").build(); diff --git a/liquibase-core/src/main/java/liquibase/command/core/UpdateTestingRollbackCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/UpdateTestingRollbackCommandStep.java index f631d414958..aa2d5b9052a 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/UpdateTestingRollbackCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/UpdateTestingRollbackCommandStep.java @@ -24,7 +24,7 @@ public class UpdateTestingRollbackCommandStep extends AbstractCliWrapperCommandS static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC database connection URL").build(); DEFAULT_SCHEMA_NAME = builder.argument("defaultSchemaName", String.class) .description("The default schema name to use for the database connection").build(); @@ -34,13 +34,13 @@ public class UpdateTestingRollbackCommandStep extends AbstractCliWrapperCommandS .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("Username to use to connect to the database").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .description("Password to use to connect to the database") .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .build(); - CHANGELOG_FILE_ARG = builder.argument("changelogFile", String.class).required() + CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class).required() .description("The root changelog").build(); LABELS_ARG = builder.argument("labels", String.class) .description("Changeset labels to match").build(); diff --git a/liquibase-core/src/main/java/liquibase/command/core/UpdateToTagCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/UpdateToTagCommandStep.java index 3d1a8cb3856..5ea2aaf61fe 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/UpdateToTagCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/UpdateToTagCommandStep.java @@ -24,7 +24,7 @@ public class UpdateToTagCommandStep extends AbstractCliWrapperCommandStep { static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC database connection URL").build(); DEFAULT_SCHEMA_NAME_ARG = builder.argument("defaultSchemaName", String.class) .description("The default schema name to use for the database connection").build(); @@ -34,13 +34,13 @@ public class UpdateToTagCommandStep extends AbstractCliWrapperCommandStep { .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("Username to use to connect to the database").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .description("Password to use to connect to the database") .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .build(); - CHANGELOG_FILE_ARG = builder.argument("changelogFile", String.class).required() + CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class).required() .description("The root changelog").build(); LABELS_ARG = builder.argument("labels", String.class) .description("Changeset labels to match").build(); diff --git a/liquibase-core/src/main/java/liquibase/command/core/UpdateToTagSqlCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/UpdateToTagSqlCommandStep.java index fe2ff4e4e97..ec0cffe18cb 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/UpdateToTagSqlCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/UpdateToTagSqlCommandStep.java @@ -24,7 +24,7 @@ public class UpdateToTagSqlCommandStep extends AbstractCliWrapperCommandStep { static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC database connection URL").build(); DEFAULT_SCHEMA_NAME_ARG = builder.argument("defaultSchemaName", String.class) .description("The default schema name to use for the database connection").build(); @@ -34,13 +34,13 @@ public class UpdateToTagSqlCommandStep extends AbstractCliWrapperCommandStep { .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("Username to use to connect to the database").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .description("Password to use to connect to the database") .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .build(); - CHANGELOG_FILE_ARG = builder.argument("changelogFile", String.class).required() + CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class).required() .description("The root changelog").build(); LABELS_ARG = builder.argument("labels", String.class) .description("Changeset labels to match").build(); diff --git a/liquibase-core/src/main/java/liquibase/command/core/ValidateCommandStep.java b/liquibase-core/src/main/java/liquibase/command/core/ValidateCommandStep.java index 6e774e57dc6..b5856b0c7c1 100644 --- a/liquibase-core/src/main/java/liquibase/command/core/ValidateCommandStep.java +++ b/liquibase-core/src/main/java/liquibase/command/core/ValidateCommandStep.java @@ -19,7 +19,7 @@ public class ValidateCommandStep extends AbstractCliWrapperCommandStep { static { CommandBuilder builder = new CommandBuilder(COMMAND_NAME); - URL_ARG = builder.argument("url", String.class).required() + URL_ARG = builder.argument(CommonArgumentNames.URL, String.class).required() .description("The JDBC database connection URL").build(); DEFAULT_SCHEMA_NAME_ARG = builder.argument("defaultSchemaName", String.class) .description("The default schema name to use for the database connection").build(); @@ -29,13 +29,13 @@ public class ValidateCommandStep extends AbstractCliWrapperCommandStep { .description("The JDBC driver class").build(); DRIVER_PROPERTIES_FILE_ARG = builder.argument("driverPropertiesFile", String.class) .description("The JDBC driver properties file").build(); - USERNAME_ARG = builder.argument("username", String.class) + USERNAME_ARG = builder.argument(CommonArgumentNames.USERNAME, String.class) .description("Username to use to connect to the database").build(); - PASSWORD_ARG = builder.argument("password", String.class) + PASSWORD_ARG = builder.argument(CommonArgumentNames.PASSWORD, String.class) .description("Password to use to connect to the database") .setValueObfuscator(ConfigurationValueObfuscator.STANDARD) .build(); - CHANGELOG_FILE_ARG = builder.argument("changelogFile", String.class).required() + CHANGELOG_FILE_ARG = builder.argument(CommonArgumentNames.CHANGELOG_FILE, String.class).required() .description("The root changelog").build(); } diff --git a/liquibase-core/src/main/java/liquibase/exception/CommandValidationException.java b/liquibase-core/src/main/java/liquibase/exception/CommandValidationException.java index 8e003bbec64..cd78ced0d04 100644 --- a/liquibase-core/src/main/java/liquibase/exception/CommandValidationException.java +++ b/liquibase-core/src/main/java/liquibase/exception/CommandValidationException.java @@ -6,10 +6,18 @@ public class CommandValidationException extends CommandExecutionException { public CommandValidationException(String argument, String message) { - super("Invalid argument '" + argument + "': " + message); + super(buildMessage(argument, message)); } public CommandValidationException(String message) { super(message); } + + public CommandValidationException(String argument, String message, Throwable cause) { + super(buildMessage(argument, message), cause); + } + + private static String buildMessage(String argument, String message) { + return "Invalid argument '" + argument + "': " + message; + } } diff --git a/liquibase-core/src/main/java/liquibase/exception/MissingRequiredArgumentException.java b/liquibase-core/src/main/java/liquibase/exception/MissingRequiredArgumentException.java new file mode 100644 index 00000000000..a49db8160c4 --- /dev/null +++ b/liquibase-core/src/main/java/liquibase/exception/MissingRequiredArgumentException.java @@ -0,0 +1,17 @@ +package liquibase.exception; + +/** + * Exception indicating that the required argument is missing. + */ +public class MissingRequiredArgumentException extends Exception { + + private final String argumentName; + + public MissingRequiredArgumentException(String argumentName) { + this.argumentName = argumentName; + } + + public String getArgumentName() { + return argumentName; + } +} diff --git a/liquibase-integration-tests/src/test/resources/liquibase/extension/testing/command/diff.test.groovy b/liquibase-integration-tests/src/test/resources/liquibase/extension/testing/command/diff.test.groovy index 99138ae019a..ac8e686c29d 100644 --- a/liquibase-integration-tests/src/test/resources/liquibase/extension/testing/command/diff.test.groovy +++ b/liquibase-integration-tests/src/test/resources/liquibase/extension/testing/command/diff.test.groovy @@ -386,6 +386,7 @@ Changed Column(s): NONE } expectedException = CommandValidationException.class + expectedExceptionMessage = "Invalid argument 'referenceUrl': missing required argument" } run "Run without any arguments throws an exception", {