Not needed since moving out of Ant.

git-svn-id: https://svn.apache.org/repos/asf/incubator/easyant/tasks/trunk@1136141 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/command-line-debugger/build.xml b/command-line-debugger/build.xml
index 47cb67a..c1d9483 100644
--- a/command-line-debugger/build.xml
+++ b/command-line-debugger/build.xml
@@ -32,7 +32,7 @@
 		<mkdir dir="${build.dir}" />
 		<mkdir dir="${build.classes}" />
 
-		<javac srcdir="${java.dir}" includeantruntime="true" destdir="${build.classes}" debug="on" target="1.4" source="1.4" />
+		<javac srcdir="${java.dir}" includeantruntime="true" destdir="${build.classes}" debug="on" target="1.2" source="1.2" />
 
 		<copy todir="${build.classes}">
 			<fileset dir="${java.dir}">
diff --git a/command-line-debugger/patch/patch.txt b/command-line-debugger/patch/patch.txt
deleted file mode 100644
index 59eae5d..0000000
--- a/command-line-debugger/patch/patch.txt
+++ /dev/null
@@ -1,451 +0,0 @@
-Index: src/main/org/apache/tools/ant/helper/ProjectHelper2.java
-===================================================================
---- src/main/org/apache/tools/ant/helper/ProjectHelper2.java	(revision 1132928)
-+++ src/main/org/apache/tools/ant/helper/ProjectHelper2.java	(working copy)
-@@ -27,6 +27,7 @@
- import org.apache.tools.ant.Target;
- import org.apache.tools.ant.Task;
- import org.apache.tools.ant.UnknownElement;
-+import org.apache.tools.ant.DebugTask;
- import org.apache.tools.ant.types.Resource;
- import org.apache.tools.ant.types.resources.FileProvider;
- import org.apache.tools.ant.types.resources.URLProvider;
-@@ -923,7 +924,11 @@
-             target.setProject(project);
-             target.setLocation(new Location(context.getLocator()));
-             context.addTarget(target);
--
-+            boolean isTarget = false;
-+            if(!(target instanceof ExtensionPoint)) {
-+            	isTarget = true;
-+            }
-+            
-             for (int i = 0; i < attrs.getLength(); i++) {
-                 String attrUri = attrs.getURI(i);
-                 if (attrUri != null && !attrUri.equals("") && !attrUri.equals(uri)) {
-@@ -1015,6 +1020,18 @@
-                     }
-                 }
-             }
-+
-+        	if(isTarget && name.equals(project.getBreakAt())) {
-+        		// If the current element is a target and it is the same one as specified
-+        		// for Ant to suspend execution at, then add an internal dependency on
-+        		// the Debug Target
-+        		DebugTask.createDebugTarget(project);
-+        		
-+        		// add this dependency to the end of the dependency list so that this target 
-+        		// executes immediately ahead of the -breakAt target
-+        		target.addDependency(DebugTask.DEBUG_TARGET_NAME);
-+        	}
-+
-             if (!isInIncludeMode && context.isIgnoringProjectTag()
-                 && (prefix = getTargetPrefix(context)) != null) {
-                 // In an imported file (and not completely
-Index: src/main/org/apache/tools/ant/Project.java
-===================================================================
---- src/main/org/apache/tools/ant/Project.java	(revision 1132928)
-+++ src/main/org/apache/tools/ant/Project.java	(working copy)
-@@ -210,6 +210,19 @@
-     private boolean keepGoingMode = false;
- 
-     /**
-+     * Contains the target to break the execution at.
-+     */
-+	protected String breakAt;
-+	
-+	public void setBreakAt(String breakAt) {
-+		this.breakAt = breakAt;
-+	}
-+	
-+	public String getBreakAt() {
-+		return breakAt;
-+	}
-+	
-+    /**
-      * Set the input handler.
-      *
-      * @param handler the InputHandler instance to use for gathering input.
-Index: src/main/org/apache/tools/ant/DebugTask.java
-===================================================================
---- src/main/org/apache/tools/ant/DebugTask.java	(revision 0)
-+++ src/main/org/apache/tools/ant/DebugTask.java	(revision 0)
-@@ -0,0 +1,329 @@
-+package org.apache.tools.ant;
-+
-+import java.util.ArrayList;
-+import java.util.Date;
-+import java.util.HashSet;
-+import java.util.Iterator;
-+import java.util.List;
-+import java.util.Map;
-+import java.util.Set;
-+
-+import org.apache.tools.ant.BuildException;
-+import org.apache.tools.ant.ComponentHelper;
-+import org.apache.tools.ant.Project;
-+import org.apache.tools.ant.Target;
-+import org.apache.tools.ant.Task;
-+import org.apache.tools.ant.input.DefaultInputHandler;
-+import org.apache.tools.ant.input.InputHandler;
-+import org.apache.tools.ant.input.InputRequest;
-+import org.apache.tools.ant.taskdefs.PathConvert;
-+import org.apache.tools.ant.taskdefs.Property;
-+import org.apache.tools.ant.types.Path;
-+import org.apache.tools.ant.types.Reference;
-+import org.apache.tools.ant.types.ResourceCollection;
-+import org.apache.tools.ant.util.StringUtils;
-+
-+/**
-+ * A stand alone debug task that plugs into the build through projecthelper
-+ * class by injecting a dependency at the end of a target. This is a POC and
-+ * does not yet work for Extension-Points.
-+ */
-+public class DebugTask extends Task {
-+	/**
-+	 * Debugger prompt
-+	 */
-+	public static final String PROMPT = "DEBUGGER> ";
-+
-+	/**
-+	 * Standard target name for the internal debugger
-+	 */
-+	public static final String DEBUG_TARGET_NAME = "-internal-debugger";
-+
-+	/*
-+	 * A static final debug target that is injected as a dependency. We may need
-+	 * to have more than one such target if we are to allow multiple
-+	 * break-points in the build.
-+	 */
-+	private static final Target debugTarget = new Target();
-+
-+	/*
-+	 * Set of all commands that can be interpreted at runtime.
-+	 */
-+	private static Set supportedCommands = new HashSet();
-+
-+	static {
-+		// add any more commands to be supported here
-+		// if need be, this can be considered to be
-+		// moved to a separate properties file
-+		supportedCommands.add("locate");
-+		supportedCommands.add("inspect");
-+		supportedCommands.add("return");
-+	}
-+
-+	public void execute() throws BuildException {
-+		// expect input here
-+		InputRequest ir = new InputRequest(PROMPT);
-+		InputHandler ih = new DefaultInputHandler();
-+		String command = null;
-+		getProject().log(
-+				StringUtils.LINE_SEP
-+						+ "-------- Ant Command Line Debugger --------"
-+						+ StringUtils.LINE_SEP + StringUtils.LINE_SEP);
-+
-+		// keep accepting inputs, until the user enters the return command
-+		do {
-+			ih.handleInput(ir);
-+			command = ir.getInput();
-+			handleCommand(command);
-+			getProject().log(""); // log a new line
-+		} while (!"return".equals(command));
-+
-+		// resume build execution on this
-+		getProject().log(
-+				StringUtils.LINE_SEP
-+						+ "--------- Resuming Ant Execution ----------"
-+						+ StringUtils.LINE_SEP);
-+	}
-+
-+	/**
-+	 * Static method to create a runtime-debug target. For purposes of Command
-+	 * Line Debugger (CLD), the target returned by this method, and identified
-+	 * by DEBUG_TARGET_NAME must be added at the end of the dependency list of
-+	 * the target where the break point exists.
-+	 * 
-+	 * @param project
-+	 * @return
-+	 */
-+	public static Target createDebugTarget(Project project) {
-+		// see what is the best value for the Location to assume?
-+		// Location loc = new Location(??);
-+
-+		debugTarget.setProject(project);
-+		debugTarget.setName(DEBUG_TARGET_NAME);
-+		project.addTarget(debugTarget);
-+		// create an instance of debug task and attach it to this project
-+		Task debugtask = project.createTask("debug");
-+		debugtask.setProject(project);
-+		debugtask.setTaskName("Debugger");
-+		debugTarget.addTask(debugtask);
-+		return debugTarget;
-+	}
-+
-+	/*
-+	 * Interprets user input and decides if the command is supported or should
-+	 * be rejected.
-+	 */
-+	protected void handleCommand(String command) {
-+		if (command == null || command.trim().length() == 0) {
-+			getProject().log("Invalid command. Use /? for more information.");
-+		}
-+		command = command.trim();
-+		if (command.equals("/?")) {
-+			printUsage();
-+			return;
-+		}
-+
-+		String[] tokens = command.split(" ");
-+		if (!supportedCommands.contains(tokens[0])) {
-+			printUsage();
-+			return;
-+		}
-+
-+		DebugSupport[] debuggers = new DebugSupport[] { new NoOp(),
-+				new Inspector(), new Locator() };
-+		DebugSupport selected = null;
-+		for (int j = 0; j < debuggers.length; j++) {
-+			if (debuggers[j].commandSupported(tokens[0]))
-+				selected = debuggers[j];
-+		}
-+		selected.execute(getProject(), tokens);
-+	}
-+
-+	protected void printUsage() {
-+		// log all help stuff here
-+		getProject()
-+				.log(
-+						"You may use one of the following commands: locate, inspect, return");
-+		getProject()
-+				.log(
-+						"Type the command followed by /? for more information. Eg. inspect /?");
-+	}
-+
-+	protected static List searchTask(Class expectedTaskClass, Project project) {
-+		List result = new ArrayList();
-+		for (Iterator iterator = project.getTargets().values().iterator(); iterator
-+				.hasNext();) {
-+			Target t = (Target) iterator.next();
-+			for (int i = 0; i < t.getTasks().length; i++) {
-+				Task task = t.getTasks()[i];
-+				Class taskClass = ComponentHelper.getComponentHelper(project)
-+						.getComponentClass(task.getTaskType());
-+				// will need to see in what cases it could return a null type
-+				// perhaps failing when the task is using a custom antlib
-+				// defined task
-+				if (taskClass != null && taskClass.equals(expectedTaskClass)) {
-+					result.add(task);
-+				}
-+			}
-+		}
-+		return result;
-+	}
-+
-+	/**
-+	 * An interface for supporting debug commands.
-+	 */
-+	public static interface DebugSupport {
-+
-+		/**
-+		 * Check if this command is supported.
-+		 * 
-+		 * @param command
-+		 * @return
-+		 */
-+		public boolean commandSupported(String command);
-+
-+		/**
-+		 * Main execution body of the class. Pass all command parameters.
-+		 * 
-+		 * @param project
-+		 * @param params
-+		 */
-+		public void execute(Project project, String[] params);
-+
-+		/**
-+		 * Prints usage of the command.
-+		 * 
-+		 * @param project
-+		 */
-+		public void printUsage(Project project);
-+
-+	}
-+
-+	/**
-+	 * Used to implement commands that should not be handled by
-+	 * {@link DebugSupport} at all. Example, the 'return' command
-+	 */
-+	public static final class NoOp implements DebugSupport {
-+
-+		public boolean commandSupported(String command) {
-+			return "return".equalsIgnoreCase(command);
-+		}
-+
-+		public void execute(Project project, String[] params) {
-+			// do nothing
-+		}
-+
-+		public void printUsage(Project project) {
-+		};
-+	}
-+
-+	/**
-+	 * Locates properties / paths in static build sources
-+	 */
-+	public static final class Locator implements DebugSupport {
-+
-+		public boolean commandSupported(String command) {
-+			return "locate".equalsIgnoreCase(command);
-+		}
-+
-+		public void execute(Project project, String[] params) {
-+			// the command syntax is 'locate property some.property'
-+			// or 'locate path some.path
-+			if (params.length != 3 || "/?".equals(params[1])) {
-+				printUsage(project);
-+				return;
-+			}
-+
-+			List matches = null;
-+			String key = null;
-+			if ("property".equalsIgnoreCase(params[1])) {
-+				// locate and publish the property
-+				matches = DebugTask.searchTask(Property.class, project);
-+				key = "name";
-+			} else if ("path".equalsIgnoreCase(params[1])) {
-+				// locate and publish the path
-+				matches = DebugTask.searchTask(Path.class, project);
-+				key = "id";
-+			} else {
-+				// see if any other component may be supported
-+				project.log("Unexpected component: " + params[1]);
-+				project.log("Supported components are property, path.");
-+				return;
-+			}
-+
-+			// probably accept some kind of a query from end user and select the
-+			// target object based on the query
-+			for (Iterator iterator = matches.iterator(); iterator.hasNext();) {
-+				Task task = (Task) iterator.next();
-+				// display attributes
-+				Map attributeMap = task.getWrapper().getAttributeMap();
-+				if (!params[2].equals(attributeMap.get(key))) {
-+					continue;
-+				}
-+				String value = (String) attributeMap.get("value");
-+				project.log("Detected a property by name [" + params[2]
-+						+ "]. Build file value: " + value);
-+				// and their respected location
-+				project.log("Located at: " + task.getLocation().toString());
-+			}
-+		}
-+
-+		public void printUsage(Project project) {
-+			project.log("Incorrect Parameters");
-+			project.log("Usage: locate property/path propertyname/pathname");
-+		}
-+	}
-+
-+	/**
-+	 * Inspects the current value of a property, path or some reference.
-+	 */
-+	public static final class Inspector implements DebugSupport {
-+
-+		public boolean commandSupported(String command) {
-+			return "inspect".equalsIgnoreCase(command);
-+		}
-+
-+		public void execute(Project project, String[] params) {
-+			if (params.length < 3 || "/?".equals(params[1])) {
-+				printUsage(project);
-+			}
-+
-+			if ("property".equalsIgnoreCase(params[1])) {
-+				// show all matches for a property
-+				Object value = PropertyHelper.getProperty(project, params[2]);
-+				if (value != null) {
-+					project.log("Detected a property by name [" + params[1]
-+							+ "]. Current value: " + value);
-+				} else {
-+					project.log("Found no such property.");
-+				}
-+			} else if ("path".equalsIgnoreCase(params[1])) {
-+				// look optional component
-+				// the remaining part of the string could be:
-+				// id=<someid> or refid=<somerefid>
-+				Object ref = project.getReference(params[2]);
-+				if (ref instanceof ResourceCollection) {
-+					if (ref != null) {
-+						PathConvert path = (PathConvert) project
-+								.createTask("pathconvert");
-+						path.setProject(project);
-+						path.setPathSep(StringUtils.LINE_SEP + "    - ");
-+						path.add((ResourceCollection) ref);
-+						path.execute();
-+					} else {
-+						project.log("No path-reference found for " + params[2]);
-+					}
-+				} else {
-+					project.log("No path found for reference id: " + params[2]);
-+				}
-+			}
-+
-+		}
-+
-+		public void printUsage(Project project) {
-+			project.log("Incorrect Parameters");
-+			project.log("Usage: inspect property some.property");
-+			project.log("       inspect path path.id");
-+		}
-+	}
-+}
-
-Property changes on: src\main\org\apache\tools\ant\DebugTask.java
-___________________________________________________________________
-Added: svn:eol-style
-   + native
-
-Index: src/main/org/apache/tools/ant/taskdefs/defaults.properties
-===================================================================
---- src/main/org/apache/tools/ant/taskdefs/defaults.properties	(revision 1132928)
-+++ src/main/org/apache/tools/ant/taskdefs/defaults.properties	(working copy)
-@@ -230,3 +230,4 @@
- renameext=org.apache.tools.ant.taskdefs.optional.RenameExtensions
- starteam=org.apache.tools.ant.taskdefs.optional.scm.AntStarTeamCheckOut
- style=org.apache.tools.ant.taskdefs.XSLTProcess
-+debug=org.apache.tools.ant.DebugTask
-Index: src/main/org/apache/tools/ant/Main.java
-===================================================================
---- src/main/org/apache/tools/ant/Main.java	(revision 1132928)
-+++ src/main/org/apache/tools/ant/Main.java	(working copy)
-@@ -149,6 +149,11 @@
-     private boolean proxy = false;
- 
-     /**
-+     * Target at which to break execution sequence
-+     */
-+    private String breakAt = null;
-+    
-+    /**
-      * Prints the message of the Throwable if it (the message) is not
-      * <code>null</code>.
-      *
-@@ -382,6 +387,8 @@
-                 throw new BuildException(msg);
-             } else if (arg.equals("-autoproxy")) {
-                 proxy = true;
-+            } else if (arg.equals("-breakAt")) {
-+            	breakAt = args[++i];
-             } else if (arg.startsWith("-")) {
-                 // we don't have any more args to recognize!
-                 String msg = "Unknown argument: " + arg;
-@@ -761,7 +768,7 @@
- 
- 
-                 project.init();
--
-+                project.setBreakAt(breakAt);
-                 // resolve properties
-                 PropertyHelper propertyHelper
-                     = (PropertyHelper) PropertyHelper.getPropertyHelper(project);
diff --git a/command-line-debugger/patch/status.txt b/command-line-debugger/patch/status.txt
deleted file mode 100644
index 9ccb7aa..0000000
--- a/command-line-debugger/patch/status.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-M       src\main\org\apache\tools\ant\helper\ProjectHelper2.java
-M       src\main\org\apache\tools\ant\Project.java
-A       src\main\org\apache\tools\ant\DebugTask.java
-M       src\main\org\apache\tools\ant\taskdefs\defaults.properties
-M       src\main\org\apache\tools\ant\Main.java
\ No newline at end of file