diff --git a/src/main/java/io/openliberty/tools/ant/ServerTask.java b/src/main/java/io/openliberty/tools/ant/ServerTask.java index 20757d7..8c4fce5 100644 --- a/src/main/java/io/openliberty/tools/ant/ServerTask.java +++ b/src/main/java/io/openliberty/tools/ant/ServerTask.java @@ -88,6 +88,8 @@ public class ServerTask extends AbstractTask { private Map environmentVariables; private String serverRoot; + + private boolean usePosixRules = false; @Override protected void initTask() { @@ -480,6 +482,7 @@ private void addArchiveOption(List command) { if (archive.isDirectory()) { throw new BuildException("The archive attribute must specify a file"); } + if (isWindows) { String archivePath = archive.toString(); if (archivePath.contains(" ")) { @@ -490,6 +493,11 @@ private void addArchiveOption(List command) { command.add("--archive=" + "\"" + archivePath + "\""); } } else { + if(isUsePosixRules()){ + command.add("--archive=" + archive.toString()); + log("Setting archive option based on latest POSIX rules"); + return; + } command.add("--archive=" + archive.toString().replaceAll(" ", "\\\\ ")); } } @@ -685,4 +693,11 @@ public void setEnvironmentVariables(Map environmentVariables) { this.environmentVariables = environmentVariables; } + public boolean isUsePosixRules() { + return usePosixRules; + } + + public void setUsePosixRules(boolean usePosixRules) { + this.usePosixRules = usePosixRules; + } }