git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@267900 13f79535-47bb-0310-9956-ffa450edef68master
| @@ -82,7 +82,7 @@ import java.util.StringTokenizer; | |||||
| * @author thomas.haas@softwired-inc.com | * @author thomas.haas@softwired-inc.com | ||||
| * @author <a href="mailto:stefan.bodewig@megabit.net">Stefan Bodewig</a> | * @author <a href="mailto:stefan.bodewig@megabit.net">Stefan Bodewig</a> | ||||
| */ | */ | ||||
| public class Commandline { | |||||
| public class Commandline implements Clonable { | |||||
| private Vector arguments = new Vector(); | private Vector arguments = new Vector(); | ||||
| private String executable = null; | private String executable = null; | ||||
| @@ -335,4 +335,11 @@ public class Commandline { | |||||
| return getCommandline().length; | return getCommandline().length; | ||||
| } | } | ||||
| public Object clone() { | |||||
| Commandline c = new Commandline(); | |||||
| c.setExecutable(executable); | |||||
| c.addArguments(getArguments()); | |||||
| return c; | |||||
| } | |||||
| } | } | ||||
| @@ -60,7 +60,7 @@ import org.apache.tools.ant.Project; | |||||
| * | * | ||||
| * @author thomas.haas@softwired-inc.com | * @author thomas.haas@softwired-inc.com | ||||
| */ | */ | ||||
| public class CommandlineJava { | |||||
| public class CommandlineJava implements Cloneable { | |||||
| private Commandline vmCommand = new Commandline(); | private Commandline vmCommand = new Commandline(); | ||||
| private Commandline javaCommand = new Commandline(); | private Commandline javaCommand = new Commandline(); | ||||
| @@ -151,4 +151,13 @@ public class CommandlineJava { | |||||
| public Path getClasspath() { | public Path getClasspath() { | ||||
| return classpath; | return classpath; | ||||
| } | } | ||||
| public Object clone() { | |||||
| CommandlineJava c = new CommandlineJava(); | |||||
| c.vmCommand = (Commandline) vmCommand.clone(); | |||||
| c.javaCommand = (Commandline) javaCommand.clone(); | |||||
| c.classpath = (Path) classpath.clone(); | |||||
| c.vmVersion = vmVersion; | |||||
| return c; | |||||
| } | |||||
| } | } | ||||
| @@ -93,7 +93,7 @@ import java.text.StringCharacterIterator; | |||||
| * @author <a href="mailto:stefan.bodewig@megabit.net">Stefan Bodewig</a> | * @author <a href="mailto:stefan.bodewig@megabit.net">Stefan Bodewig</a> | ||||
| */ | */ | ||||
| public class Path { | |||||
| public class Path implements Cloneable { | |||||
| private Vector elements; | private Vector elements; | ||||
| private Project project; | private Project project; | ||||
| @@ -309,6 +309,12 @@ public class Path { | |||||
| return list().length; | return list().length; | ||||
| } | } | ||||
| public Object clone() { | |||||
| Path p = new Path(project); | |||||
| p.append(this); | |||||
| return p; | |||||
| } | |||||
| private static String resolveFile(Project project, String relativeName) { | private static String resolveFile(Project project, String relativeName) { | ||||
| if (project != null) { | if (project != null) { | ||||
| return project.resolveFile(relativeName).getAbsolutePath(); | return project.resolveFile(relativeName).getAbsolutePath(); | ||||