diff --git a/src/main/java/org/apache/maven/shared/utils/cli/shell/BourneShell.java b/src/main/java/org/apache/maven/shared/utils/cli/shell/BourneShell.java index 5363fc3f..a5be07f4 100644 --- a/src/main/java/org/apache/maven/shared/utils/cli/shell/BourneShell.java +++ b/src/main/java/org/apache/maven/shared/utils/cli/shell/BourneShell.java @@ -32,18 +32,13 @@ public class BourneShell extends Shell { * Create instance of BourneShell. */ public BourneShell() { - setUnconditionalQuoting(true); setShellCommand("/bin/sh"); - setArgumentQuoteDelimiter('\''); - setExecutableQuoteDelimiter('\''); - setSingleQuotedArgumentEscaped(true); - setSingleQuotedExecutableEscaped(false); - setQuotedExecutableEnabled(true); } /** * {@inheritDoc} */ + @Override public String getExecutable() { if (Os.isFamily(Os.FAMILY_WINDOWS)) { return super.getExecutable(); @@ -55,6 +50,7 @@ public String getExecutable() { /** * {@inheritDoc} */ + @Override public List getShellArgsList() { List shellArgs = new ArrayList<>(); List existingShellArgs = super.getShellArgsList(); @@ -71,6 +67,7 @@ public List getShellArgsList() { /** * {@inheritDoc} */ + @Override public String[] getShellArgs() { String[] shellArgs = super.getShellArgs(); if (shellArgs == null) { @@ -92,6 +89,7 @@ public String[] getShellArgs() { /** * {@inheritDoc} */ + @Override protected String getExecutionPreamble() { if (getWorkingDirectoryAsString() == null) { return null; @@ -118,6 +116,7 @@ protected String getExecutionPreamble() { * @param path not null path * @return the path unified correctly for the Bourne shell */ + @Override protected String quoteOneItem(String path, boolean isExecutable) { if (path == null) { return null; diff --git a/src/main/java/org/apache/maven/shared/utils/cli/shell/CmdShell.java b/src/main/java/org/apache/maven/shared/utils/cli/shell/CmdShell.java index b84e19d8..b63cd0d4 100644 --- a/src/main/java/org/apache/maven/shared/utils/cli/shell/CmdShell.java +++ b/src/main/java/org/apache/maven/shared/utils/cli/shell/CmdShell.java @@ -32,7 +32,6 @@ public class CmdShell extends Shell { */ public CmdShell() { setShellCommand("cmd.exe"); - setQuotedExecutableEnabled(true); setShellArgs(new String[] {"/X", "/C"}); } @@ -77,6 +76,7 @@ public CmdShell() { * @param arguments the arguments for the executable * @return the resulting command line */ + @Override public List getCommandLine(String executable, String... arguments) { StringBuilder sb = new StringBuilder(); sb.append('"'); diff --git a/src/main/java/org/apache/maven/shared/utils/cli/shell/Shell.java b/src/main/java/org/apache/maven/shared/utils/cli/shell/Shell.java index c03d7685..83596553 100644 --- a/src/main/java/org/apache/maven/shared/utils/cli/shell/Shell.java +++ b/src/main/java/org/apache/maven/shared/utils/cli/shell/Shell.java @@ -23,8 +23,6 @@ import java.util.Arrays; import java.util.List; -import org.apache.maven.shared.utils.StringUtils; - /** * Class that abstracts the Shell functionality, * with subclasses for shells that behave particularly, like @@ -51,15 +49,7 @@ public class Shell { private String workingDir; - private boolean quotedExecutableEnabled = true; - - private boolean singleQuotedArgumentEscaped = false; - - private boolean singleQuotedExecutableEscaped = false; - - private char argQuoteDelimiter = '\"'; - - private char exeQuoteDelimiter = '\"'; + private final boolean singleQuotedArgumentEscaped = false; /** * Set the command to execute the shell (e.g. COMMAND.COM, /bin/bash,...). @@ -104,14 +94,7 @@ String[] getShellArgs() { } protected String quoteOneItem(String inputString, boolean isExecutable) { - char[] escapeChars = getEscapeChars(isSingleQuotedExecutableEscaped(), isDoubleQuotedExecutableEscaped()); - return StringUtils.quoteAndEscape( - inputString, - isExecutable ? getExecutableQuoteDelimiter() : getArgumentQuoteDelimiter(), - escapeChars, - getQuotingTriggerChars(), - '\\', - unconditionalQuoting); + return inputString; } /** @@ -140,18 +123,14 @@ List getRawCommandLine(String executableParameter, String... argumentsPa sb.append(preamble); } - if (isQuotedExecutableEnabled()) { - sb.append(quoteOneItem(executableParameter, true)); - } else { - sb.append(executableParameter); - } + sb.append(quoteOneItem(executableParameter, true)); } for (String argument : argumentsParameter) { if (sb.length() > 0) { sb.append(' '); } - if (isQuotedArgumentsEnabled()) { + if (quotedArgumentsEnabled) { sb.append(quoteOneItem(argument, false)); } else { sb.append(argument); @@ -171,22 +150,6 @@ String getExecutionPreamble() { return null; } - char[] getEscapeChars(boolean includeSingleQuote, boolean includeDoubleQuote) { - StringBuilder buf = new StringBuilder(2); - if (includeSingleQuote) { - buf.append('\''); - } - - if (includeDoubleQuote) { - buf.append('\"'); - } - - char[] result = new char[buf.length()]; - buf.getChars(0, buf.length(), result, 0); - - return result; - } - /** * @return false in all cases */ @@ -201,36 +164,6 @@ protected boolean isSingleQuotedArgumentEscaped() { return singleQuotedArgumentEscaped; } - boolean isDoubleQuotedExecutableEscaped() { - return false; - } - - boolean isSingleQuotedExecutableEscaped() { - return singleQuotedExecutableEscaped; - } - - /** - * @param argQuoteDelimiterParameter {@link #argQuoteDelimiter} - */ - void setArgumentQuoteDelimiter(char argQuoteDelimiterParameter) { - this.argQuoteDelimiter = argQuoteDelimiterParameter; - } - - char getArgumentQuoteDelimiter() { - return argQuoteDelimiter; - } - - /** - * @param exeQuoteDelimiterParameter {@link #exeQuoteDelimiter} - */ - void setExecutableQuoteDelimiter(char exeQuoteDelimiterParameter) { - this.exeQuoteDelimiter = exeQuoteDelimiterParameter; - } - - char getExecutableQuoteDelimiter() { - return exeQuoteDelimiter; - } - /** * Get the full command line to execute, including shell command, shell arguments, * executable and executable arguments. @@ -267,18 +200,6 @@ public void setQuotedArgumentsEnabled(boolean quotedArgumentsEnabled) { this.quotedArgumentsEnabled = quotedArgumentsEnabled; } - boolean isQuotedArgumentsEnabled() { - return quotedArgumentsEnabled; - } - - void setQuotedExecutableEnabled(boolean quotedExecutableEnabled) { - this.quotedExecutableEnabled = quotedExecutableEnabled; - } - - boolean isQuotedExecutableEnabled() { - return quotedExecutableEnabled; - } - /** * Sets the executable to run. * @@ -331,14 +252,6 @@ String getWorkingDirectoryAsString() { return workingDir; } - void setSingleQuotedArgumentEscaped(boolean singleQuotedArgumentEscaped) { - this.singleQuotedArgumentEscaped = singleQuotedArgumentEscaped; - } - - void setSingleQuotedExecutableEscaped(boolean singleQuotedExecutableEscaped) { - this.singleQuotedExecutableEscaped = singleQuotedExecutableEscaped; - } - public boolean isUnconditionalQuoting() { return unconditionalQuoting; }