Revert "Bug 395421 - Update to Ant 1.9.2"
This reverts commit 22637807d4259640c13623980463e0b10ea9f453.
diff --git a/ant/org.eclipse.ant.core/META-INF/MANIFEST.MF b/ant/org.eclipse.ant.core/META-INF/MANIFEST.MF
index 69f0879..8b91a3d 100644
--- a/ant/org.eclipse.ant.core/META-INF/MANIFEST.MF
+++ b/ant/org.eclipse.ant.core/META-INF/MANIFEST.MF
@@ -16,7 +16,7 @@
org.eclipse.ant.internal.core.contentDescriber;x-internal:=true
Require-Bundle: org.eclipse.core.variables;bundle-version="[3.1.0,4.0.0)",
org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
- org.apache.ant;bundle-version="1.9.2"
+ org.apache.ant;bundle-version="1.8.4"
Bundle-ActivationPolicy: lazy;exclude:="org.eclipse.ant.internal.core.contentDescriber"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ClassPath: .
diff --git a/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/EclipseAntMain.java b/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/EclipseAntMain.java
index 614a15c..92fb588 100644
--- a/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/EclipseAntMain.java
+++ b/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/EclipseAntMain.java
@@ -11,6 +11,9 @@
package org.eclipse.ant.internal.core.ant;
+import java.util.Iterator;
+import java.util.Vector;
+
import org.apache.tools.ant.BuildListener;
import org.apache.tools.ant.Main;
import org.apache.tools.ant.Project;
@@ -28,22 +31,22 @@
Main projectHelpMain = new EclipseAntMain(eclipseAntProject);
projectHelpMain.startAnt(args, null, null);
}
-
+
/*
* @see org.apache.tools.ant.Main#exit(int)
*/
- @Override
protected void exit(int exitCode) {
- // disallow system exit
+ //disallow system exit
}
-
+
/*
* @see org.apache.tools.ant.Main#addBuildListeners(org.apache.tools.ant.Project)
*/
- @Override
protected void addBuildListeners(Project project) {
- for (BuildListener listener : fEclipseAntProject.getBuildListeners()) {
- project.addBuildListener(listener);
+ //TODO ANT-1.9.1 API USE
+ Vector<?> list = fEclipseAntProject.getBuildListeners();
+ for (Iterator<?> i = list.iterator(); i.hasNext();) {
+ project.addBuildListener((BuildListener) i.next());
}
}
}
diff --git a/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InternalAntRunner.java b/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InternalAntRunner.java
index 66aa3ae..b86234c 100644
--- a/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InternalAntRunner.java
+++ b/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InternalAntRunner.java
@@ -11,7 +11,7 @@
*******************************************************************************/
package org.eclipse.ant.internal.core.ant;
-
+
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
@@ -24,7 +24,6 @@
import java.util.Arrays;
import java.util.Enumeration;
import java.util.HashMap;
-import java.util.Hashtable;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
@@ -72,8 +71,8 @@
import org.osgi.framework.Bundle;
/**
- * Eclipse application entry point into Ant. Derived from the original Ant Main class to ensure that the functionality is equivalent when running in
- * the platform.
+ * Eclipse application entry point into Ant. Derived from the original Ant Main class
+ * to ensure that the functionality is equivalent when running in the platform.
*/
public class InternalAntRunner {
@@ -81,24 +80,24 @@
private ArrayList<String> buildListeners;
private String buildFileLocation;
- /**
+ /**
* Targets we want to run.
*/
private Vector<String> targets;
private Map<String, String> userProperties;
- private boolean noExplicitUserProperties = true;
-
+ private boolean noExplicitUserProperties= true;
+
private Project currentProject;
-
+
private String defaultTarget;
-
- private BuildLogger buildLogger = null;
-
+
+ private BuildLogger buildLogger= null;
+
/**
* Cache of the Ant version number when it has been loaded
*/
- private String antVersionNumber = null;
+ private String antVersionNumber= null;
/** Current message output status. Follows Project.MSG_XXX */
private int messageOutputLevel = Project.MSG_INFO;
@@ -116,51 +115,50 @@
private PrintStream err = System.err;
/**
- * The Ant logger class. There may be only one logger. It will have the right to use the 'out' PrintStream. The class must implement the
- * BuildLogger interface. An empty String indicates that no logger is to be used. A <code>null</code> name indicates that the
- * <code>org.apache.tools.ant.DefaultLogger</code> will be used.
+ * The Ant logger class. There may be only one logger. It will have the
+ * right to use the 'out' PrintStream. The class must implement the BuildLogger
+ * interface. An empty String indicates that no logger is to be used. A <code>null</code>
+ * name indicates that the <code>org.apache.tools.ant.DefaultLogger</code> will be used.
*/
private String loggerClassname = null;
/** Extra arguments to be parsed as command line arguments. */
private String[] extraArguments = null;
-
+
private boolean executed = false;
-
- private ArrayList<String> propertyFiles = new ArrayList<String>();
-
- private URL[] customClasspath = null;
-
+
+ private ArrayList<String> propertyFiles= new ArrayList<String>();
+
+ private URL[] customClasspath= null;
+
/**
- * The Ant InputHandler class. There may be only one input handler.
- */
- private String inputHandlerClassname = null;
+ * The Ant InputHandler class. There may be only one input handler.
+ */
+ private String inputHandlerClassname = null;
+
+ private String buildAntHome= null;
+
+ /**
+ * Indicates whether to execute all targets that
+ * do not depend on failed targets
+ * @since Ant 1.6.0
+ */
+ private boolean keepGoing= false;
- private String buildAntHome = null;
-
- /**
- * Indicates whether to execute all targets that do not depend on failed targets
- *
- * @since Ant 1.6.0
- */
- private boolean keepGoing = false;
-
- /**
- * Indicates whether this build is to support interactive input
- *
- * @since Ant 1.6.0
- */
- private boolean allowInput = true;
-
- private String fEarlyErrorMessage = null;
+ /**
+ * Indicates whether this build is to support interactive input
+ * @since Ant 1.6.0
+ */
+ private boolean allowInput = true;
+
+ private String fEarlyErrorMessage= null;
private boolean unknownTargetsFound = false;
-
+
/**
* Adds a build listener.
*
- * @param classNames
- * the fully qualified names of the build listeners to be added
+ * @param classNames the fully qualified names of the build listeners to be added
*/
public void addBuildListeners(List<String> classNames) {
if (buildListeners == null) {
@@ -170,17 +168,15 @@
}
protected void addBuildListener(String clazz) {
- if (buildListeners == null) {
+ if(buildListeners == null) {
buildListeners = new ArrayList<String>();
}
buildListeners.add(clazz);
}
-
+
/**
* Adds a build logger. There can be only one build logger.
- *
- * @param className
- * The fully qualified name of the build logger to add
+ * @param className The fully qualified name of the build logger to add
*/
public void addBuildLogger(String className) {
loggerClassname = className;
@@ -188,9 +184,7 @@
/**
* Adds user properties to the current collection of user properties.
- *
- * @param properties
- * The user properties to be added
+ * @param properties The user properties to be added
*/
public void addUserProperties(Map<String, String> properties) {
if (userProperties == null) {
@@ -200,12 +194,10 @@
}
noExplicitUserProperties = false;
}
-
+
/**
* Adds user property files.
- *
- * @param additionalPropertyFiles
- * The property files to add
+ * @param additionalPropertyFiles The property files to add
* @since 2.1
*/
public void addPropertyFiles(String[] additionalPropertyFiles) {
@@ -215,15 +207,13 @@
/**
* Tries to add the build listeners to the backing {@link Project}
*
- * @param project
- * the project to add the listeners to
- * @param log
- * if we should be logging {@link ClassCastException}s here or not.
+ * @param project the project to add the listeners to
+ * @param log if we should be logging {@link ClassCastException}s here or not.
*/
protected void addBuildListeners(Project project, boolean log) {
- String className = null;
+ String className= null;
try {
- BuildLogger logger = createLogger();
+ BuildLogger logger= createLogger();
if (logger != null) {
project.addBuildListener(logger);
}
@@ -234,18 +224,15 @@
project.addBuildListener((BuildListener) listener.newInstance());
}
}
- }
- catch (ClassCastException e) {
- String message = MessageFormat.format(InternalAntMessages.InternalAntRunner_not_an_instance_of_apache_ant_BuildListener, new Object[] { className });
- if (log) {
+ } catch (ClassCastException e) {
+ String message = MessageFormat.format(InternalAntMessages.InternalAntRunner_not_an_instance_of_apache_ant_BuildListener, new Object[]{className});
+ if(log) {
logMessage(null, message, Project.MSG_ERR);
}
throw new BuildException(message, e);
- }
- catch (BuildException e) {
+ } catch (BuildException e) {
throw e;
- }
- catch (Exception e) {
+ } catch (Exception e) {
throw new BuildException(e);
}
}
@@ -259,16 +246,15 @@
if (substituteVariables && value != null) {
try {
value = VariablesPlugin.getDefault().getStringVariableManager().performStringSubstitution(value);
- }
- catch (CoreException e) {
- // do nothing
+ } catch (CoreException e) {
+ //do nothing
}
}
project.setUserProperty(entry.getKey(), value);
}
- // may have properties set (always have the Ant process ID)
- // using the Arguments and not the Properties page
- // if set using the arguments, still include the global properties
+ //may have properties set (always have the Ant process ID)
+ //using the Arguments and not the Properties page
+ //if set using the arguments, still include the global properties
if (noExplicitUserProperties) {
setGlobalProperties(project, substituteVariables);
}
@@ -278,22 +264,23 @@
}
/**
- * Sets the default <code>ant.file</code> and <code>ant.version</code> properties in the given {@link Project}
+ * Sets the default <code>ant.file</code> and <code>ant.version</code>
+ * properties in the given {@link Project}
*
* @param project
*/
protected void setBuiltInProperties(Project project) {
- // note also see processAntHome for system properties that are set
+ //note also see processAntHome for system properties that are set
project.setUserProperty("ant.file", getBuildFileLocation()); //$NON-NLS-1$
project.setUserProperty("ant.version", Main.getAntVersion()); //$NON-NLS-1$
}
-
+
private void setGlobalProperties(Project project, boolean substituteVariables) {
AntCorePreferences prefs = AntCorePlugin.getPlugin().getPreferences();
List<Property> properties = prefs.getProperties();
if (properties != null) {
for (Property property : properties) {
- String value = property.getValue(substituteVariables);
+ String value= property.getValue(substituteVariables);
if (value != null) {
project.setUserProperty(property.getName(), value);
}
@@ -305,32 +292,29 @@
List<Task> tasks = AntCorePlugin.getPlugin().getPreferences().getTasks();
for (Task task : tasks) {
if (isVersionCompatible("1.6")) { //$NON-NLS-1$
- AntTypeDefinition def = new AntTypeDefinition();
- String name = ProjectHelper.genComponentName(task.getURI(), task.getTaskName());
+ AntTypeDefinition def= new AntTypeDefinition();
+ String name = ProjectHelper.genComponentName(task.getURI(),task.getTaskName());
def.setName(name);
- def.setClassName(task.getClassName());
- def.setClassLoader(this.getClass().getClassLoader());
- def.setAdaptToClass(org.apache.tools.ant.Task.class);
- def.setAdapterClass(TaskAdapter.class);
- ComponentHelper.getComponentHelper(project).addDataTypeDefinition(def);
+ def.setClassName(task.getClassName());
+ def.setClassLoader(this.getClass().getClassLoader());
+ def.setAdaptToClass(org.apache.tools.ant.Task.class);
+ def.setAdapterClass(TaskAdapter.class);
+ ComponentHelper.getComponentHelper(project).addDataTypeDefinition(def);
} else {
try {
Class<?> taskClass = Class.forName(task.getClassName());
if (isVersionCompatible("1.5")) { //$NON-NLS-1$
try {
project.checkTaskClass(taskClass);
- }
- catch (BuildException e) {
- IStatus status = new Status(IStatus.ERROR, AntCorePlugin.PI_ANTCORE, AntCorePlugin.ERROR_RUNNING_BUILD, MessageFormat.format(InternalAntMessages.InternalAntRunner_Error_setting_Ant_task, new Object[] { task.getTaskName() }), e);
+ } catch (BuildException e) {
+ IStatus status = new Status(IStatus.ERROR, AntCorePlugin.PI_ANTCORE, AntCorePlugin.ERROR_RUNNING_BUILD, MessageFormat.format(InternalAntMessages.InternalAntRunner_Error_setting_Ant_task, new Object[]{task.getTaskName()}), e);
AntCorePlugin.getPlugin().getLog().log(status);
continue;
}
}
project.addTaskDefinition(task.getTaskName(), taskClass);
- }
- catch (ClassNotFoundException e) {
- IStatus status = new Status(IStatus.ERROR, AntCorePlugin.PI_ANTCORE, AntCorePlugin.ERROR_RUNNING_BUILD, MessageFormat.format(InternalAntMessages.InternalAntRunner_Class_not_found_for_task, new Object[] {
- task.getClassName(), task.getTaskName() }), e);
+ } catch (ClassNotFoundException e) {
+ IStatus status = new Status(IStatus.ERROR, AntCorePlugin.PI_ANTCORE, AntCorePlugin.ERROR_RUNNING_BUILD, MessageFormat.format(InternalAntMessages.InternalAntRunner_Class_not_found_for_task, new Object[]{task.getClassName(), task.getTaskName()}), e);
AntCorePlugin.getPlugin().getLog().log(status);
}
}
@@ -343,19 +327,17 @@
Type type = iterator.next();
if (isVersionCompatible("1.6")) { //$NON-NLS-1$
AntTypeDefinition def = new AntTypeDefinition();
- String name = ProjectHelper.genComponentName(type.getURI(), type.getTypeName());
- def.setName(name);
- def.setClassName(type.getClassName());
- def.setClassLoader(this.getClass().getClassLoader());
- ComponentHelper.getComponentHelper(project).addDataTypeDefinition(def);
+ String name= ProjectHelper.genComponentName(type.getURI(), type.getTypeName());
+ def.setName(name);
+ def.setClassName(type.getClassName());
+ def.setClassLoader(this.getClass().getClassLoader());
+ ComponentHelper.getComponentHelper(project).addDataTypeDefinition(def);
} else {
try {
Class<?> typeClass = Class.forName(type.getClassName());
project.addDataTypeDefinition(type.getTypeName(), typeClass);
- }
- catch (ClassNotFoundException e) {
- IStatus status = new Status(IStatus.ERROR, AntCorePlugin.PI_ANTCORE, AntCorePlugin.ERROR_RUNNING_BUILD, MessageFormat.format(InternalAntMessages.InternalAntRunner_Class_not_found_for_type, new Object[] {
- type.getClassName(), type.getTypeName() }), e);
+ } catch (ClassNotFoundException e) {
+ IStatus status = new Status(IStatus.ERROR, AntCorePlugin.PI_ANTCORE, AntCorePlugin.ERROR_RUNNING_BUILD, MessageFormat.format(InternalAntMessages.InternalAntRunner_Class_not_found_for_type, new Object[]{type.getClassName(), type.getTypeName()}), e);
AntCorePlugin.getPlugin().getLog().log(status);
}
}
@@ -363,81 +345,86 @@
}
/**
- * Parses the build file and adds necessary information into the given project.
- *
- * @param project
- * The project to configure
+ * Parses the build file and adds necessary information into
+ * the given project.
+ * @param project The project to configure
*/
protected void parseBuildFile(Project project) {
File buildFile = new File(getBuildFileLocation());
if (!buildFile.exists()) {
- throw new BuildException(MessageFormat.format(InternalAntMessages.InternalAntRunner_Buildfile_does_not_exist, new Object[] { buildFile.getAbsolutePath() }));
+ throw new BuildException(MessageFormat.format(InternalAntMessages.InternalAntRunner_Buildfile_does_not_exist,
+ new Object[]{buildFile.getAbsolutePath()}));
}
if (!buildFile.isFile()) {
- throw new BuildException(MessageFormat.format(InternalAntMessages.InternalAntRunner_Buildfile_is_not_a_file, new Object[] { buildFile.getAbsolutePath() }));
+ throw new BuildException(MessageFormat.format(InternalAntMessages.InternalAntRunner_Buildfile_is_not_a_file,
+ new Object[]{buildFile.getAbsolutePath()}));
}
-
- if (!isVersionCompatible("1.5")) { //$NON-NLS-1$
- parseBuildFile(project, buildFile);
- } else {
- ProjectHelper helper = ProjectHelper.getProjectHelper();
- project.addReference("ant.projectHelper", helper); //$NON-NLS-1$
- helper.parse(project, buildFile);
- }
+
+ if (!isVersionCompatible("1.5")) { //$NON-NLS-1$
+ parseBuildFile(project, buildFile);
+ } else {
+ ProjectHelper helper = ProjectHelper.getProjectHelper();
+ project.addReference("ant.projectHelper", helper); //$NON-NLS-1$
+ helper.parse(project, buildFile);
+ }
}
+
+ /**
+ * @deprecated support for Ant older than 1.5
+ */
+ private void parseBuildFile(Project project, File buildFile) {
+ ProjectHelper.configureProject(project, buildFile);
+ }
/**
- * @deprecated support for Ant older than 1.5
- */
- @Deprecated
- private void parseBuildFile(Project project, File buildFile) {
- ProjectHelper.configureProject(project, buildFile);
- }
-
- /**
- * Gets all the target information from the build script. Returns a list of lists. Each item in the enclosing list represents a target, where the
- * first element is the name, the second element is the description, the third element is the project name, and the last elements is an array of
- * dependencies.
- *
+ * Gets all the target information from the build script.
+ * Returns a list of lists. Each item in the enclosing list represents a
+ * target, where the first element is the name, the
+ * second element is the description, the third element is the
+ * project name, and the last elements is an array of dependencies.
* @return a list of {@link TargetInfo} objects
*/
public List<TargetInfo> getTargets() {
try {
- setJavaClassPath();
+ setJavaClassPath();
Project antProject = getProject();
processAntHome(false);
antProject.init();
setTypes(antProject);
- boolean exceptionState = processProperties(AntCoreUtil.getArrayList(extraArguments));
- if (fEarlyErrorMessage != null) {
- if (exceptionState) {
- throw new BuildException(fEarlyErrorMessage);
- }
- }
-
+ boolean exceptionState= processProperties(AntCoreUtil.getArrayList(extraArguments));
+ if (fEarlyErrorMessage != null) {
+ if (exceptionState) {
+ throw new BuildException(fEarlyErrorMessage);
+ }
+ }
+
setProperties(antProject, false);
if (isVersionCompatible("1.5")) { //$NON-NLS-1$
new InputHandlerSetter().setInputHandler(antProject, "org.eclipse.ant.internal.core.ant.NullInputHandler"); //$NON-NLS-1$
}
parseBuildFile(antProject);
defaultTarget = antProject.getDefaultTarget();
- Hashtable<String, Target> projectTargets = antProject.getTargets();
- ArrayList<TargetInfo> infos = new ArrayList<TargetInfo>();
+ //TODO ANT-1.9.1 API USE
+ Enumeration<?> projectTargets = antProject.getTargets().elements();
+ ArrayList<TargetInfo> infos= new ArrayList<TargetInfo>();
ProjectInfo pinfo = new ProjectInfo(antProject.getName(), antProject.getDescription());
- boolean defaultFound = false;
- for (Target target : projectTargets.values()) {
- String name = target.getName();
+ Target target;
+ boolean defaultFound= false;
+ while (projectTargets.hasMoreElements()) {
+ target = (Target) projectTargets.nextElement();
+ String name= target.getName();
if (name.length() == 0) {
- // "no name" implicit target of Ant 1.6
+ //"no name" implicit target of Ant 1.6
continue;
}
if (target.getName().equals(defaultTarget)) {
- defaultFound = true;
+ defaultFound= true;
}
ArrayList<String> dependencies = new ArrayList<String>();
- Enumeration<String> enumeration = target.getDependencies();
+ //TODO ANT-1.9.1 API USE
+ Enumeration<?> enumeration = target.getDependencies();
while (enumeration.hasMoreElements()) {
- dependencies.add(enumeration.nextElement());
+ dependencies.add((String) enumeration.nextElement());
}
String[] dependencyArray = new String[dependencies.size()];
dependencies.toArray(dependencyArray);
@@ -445,17 +432,15 @@
infos.add(info);
}
if (!defaultFound) {
- // default target must exist
- throw new BuildException(MessageFormat.format(InternalAntMessages.InternalAntRunner_Default_target_does_not_exist, new Object[] {
- "'", defaultTarget, "'" })); //$NON-NLS-1$ //$NON-NLS-2$
+ //default target must exist
+ throw new BuildException(MessageFormat.format(InternalAntMessages.InternalAntRunner_Default_target_does_not_exist, new Object[]{"'", defaultTarget, "'"})); //$NON-NLS-1$ //$NON-NLS-2$
}
return infos;
- }
- finally {
+ } finally {
processAntHome(true);
}
}
-
+
/**
* Returns a list of target names in the build script.
*
@@ -463,55 +448,56 @@
*/
private List<String> getTargetNames() {
try {
- setJavaClassPath();
+ setJavaClassPath();
Project antProject;
-
+
antProject = getProject();
processAntHome(false);
antProject.init();
setTypes(antProject);
processProperties(AntCoreUtil.getArrayList(extraArguments));
-
+
setProperties(antProject, false);
if (isVersionCompatible("1.5")) { //$NON-NLS-1$
new InputHandlerSetter().setInputHandler(antProject, "org.eclipse.ant.internal.core.ant.NullInputHandler"); //$NON-NLS-1$
}
parseBuildFile(antProject);
- Hashtable<String, Target> projectTargets = antProject.getTargets();
+ Enumeration<?> projectTargets = antProject.getTargets().elements();
ArrayList<String> names = new ArrayList<String>();
- for (Target target : projectTargets.values()) {
- String name = target.getName();
+ Target target;
+ while (projectTargets.hasMoreElements()) {
+ target = (Target) projectTargets.nextElement();
+ String name= target.getName();
if (name.length() == 0) {
- // "no name" implicit target of Ant 1.6
+ //"no name" implicit target of Ant 1.6
continue;
}
names.add(name);
}
return names;
- }
- finally {
+ } finally {
processAntHome(true);
}
- }
+ }
private Project getProject() {
Project antProject;
if (isVersionCompatible("1.6")) { //$NON-NLS-1$
- // in Ant version 1.6 or greater all tasks can exist outside the scope of a target
+ //in Ant version 1.6 or greater all tasks can exist outside the scope of a target
if (isVersionCompatible("1.6.3")) { //$NON-NLS-1$
- antProject = new InternalProject2();
+ antProject= new InternalProject2();
} else {
- antProject = new Project();
+ antProject= new Project();
}
} else {
- antProject = new InternalProject();
+ antProject= new InternalProject();
}
return antProject;
}
-
+
/**
- * Returns the default target name that was last computed or <code>null</code> if no default target has been computed.
- *
+ * Returns the default target name that was last computed or <code>null</code>
+ * if no default target has been computed.
* @return the default target name
*/
public String getDefaultTarget() {
@@ -534,7 +520,7 @@
sb.append(extraArguments[i]);
sb.append(' ');
}
- project.log(MessageFormat.format(InternalAntMessages.InternalAntRunner_Arguments, new Object[] { sb.toString().trim() }));
+ project.log(MessageFormat.format(InternalAntMessages.InternalAntRunner_Arguments, new Object[]{sb.toString().trim()}));
}
private void createMonitorBuildListener(Project project) {
@@ -544,7 +530,7 @@
Vector<String> chosenTargets = targets;
if (chosenTargets == null || chosenTargets.isEmpty()) {
chosenTargets = new Vector<String>(1);
- String defltTarget = project.getDefaultTarget();
+ String defltTarget= project.getDefaultTarget();
if (defltTarget != null) {
chosenTargets.add(defltTarget);
}
@@ -553,41 +539,38 @@
}
/**
- * Invokes the building of a project object and executes a build using either a given target or the default target. This method is called if
- * running in headless mode.
- *
+ * Invokes the building of a project object and executes a build using either a given
+ * target or the default target. This method is called if running in
+ * headless mode.
* @see org.eclipse.ant.core.AntRunner#run(Object)
- * @param argArray
- * the command line arguments
- * @exception Exception
- * execution exceptions
+ * @param argArray the command line arguments
+ * @exception Exception execution exceptions
*/
public void run(Object argArray) throws Exception {
run(AntCoreUtil.getArrayList((String[]) argArray));
}
/**
- * Attempts to run the given list of command line arguments. Note that the list passed to this method must support {@link List#remove(Object)}. <br>
- * <br>
+ * Attempts to run the given list of command line arguments. Note that the list passed to this method must support
+ * {@link List#remove(Object)}.
+ * <br><br>
* This method directly processes the following arguments:
* <ul>
* <li><b>-projecthelp</b>, <b>-p</b> - print project help information</li>
* </ul>
- *
- * @param argList
- * the raw list of command line arguments
+ * @param argList the raw list of command line arguments
*/
private void run(List<String> argList) {
setCurrentProject(new Project());
- if (isVersionCompatible("1.6.3")) { //$NON-NLS-1$
- new ExecutorSetter().setExecutor(currentProject);
- }
+ if (isVersionCompatible("1.6.3")) { //$NON-NLS-1$
+ new ExecutorSetter().setExecutor(currentProject);
+ }
Throwable error = null;
PrintStream originalErr = System.err;
PrintStream originalOut = System.out;
- InputStream originalIn = System.in;
-
- SecurityManager originalSM = System.getSecurityManager();
+ InputStream originalIn= System.in;
+
+ SecurityManager originalSM= System.getSecurityManager();
setJavaClassPath();
executed = true;
processAntHome(false);
@@ -602,40 +585,39 @@
return;
}
}
-
- boolean exceptionState = processProperties(argList);
-
+
+ boolean exceptionState= processProperties(argList);
+
addBuildListeners(getCurrentProject(), true);
-
+
addInputHandler(getCurrentProject());
-
+
remapSystemIn();
System.setOut(new PrintStream(new DemuxOutputStream(getCurrentProject(), false)));
System.setErr(new PrintStream(new DemuxOutputStream(getCurrentProject(), true)));
-
+
if (!projectHelp) {
fireBuildStarted(getCurrentProject());
}
-
- if (fEarlyErrorMessage != null) {
- // an error occurred processing the properties
- // build started has fired and we have
- // listeners/loggers to report the error
- logMessage(getCurrentProject(), fEarlyErrorMessage, Project.MSG_ERR);
- if (exceptionState) {
- throw new BuildException(fEarlyErrorMessage);
- }
- }
-
- // properties can only be set after buildStarted as some listeners/loggers
- // depend on this (e.g. XMLLogger)
- setProperties(getCurrentProject(), true);
-
+
+ if (fEarlyErrorMessage != null) {
+ //an error occurred processing the properties
+ //build started has fired and we have
+ //listeners/loggers to report the error
+ logMessage(getCurrentProject(), fEarlyErrorMessage, Project.MSG_ERR);
+ if (exceptionState) {
+ throw new BuildException(fEarlyErrorMessage);
+ }
+ }
+
+ //properties can only be set after buildStarted as some listeners/loggers
+ //depend on this (e.g. XMLLogger)
+ setProperties(getCurrentProject(), true);
+
if (argList != null && !argList.isEmpty()) {
try {
executed = processCommandLine(argList);
- }
- catch (BuildException e) {
+ } catch (BuildException e) {
executed = false;
throw e;
}
@@ -643,26 +625,26 @@
if (!executed) {
return;
}
-
- // needs to occur after processCommandLine(List)
+
+ //needs to occur after processCommandLine(List)
if (allowInput && (inputHandlerClassname != null && inputHandlerClassname.length() > 0)) {
if (isVersionCompatible("1.6")) { //$NON-NLS-1$
- // https://bugs.eclipse.org/bugs/show_bug.cgi?id=182577
- // getCurrentProject().setDefaultInputStream(originalIn);
- System.getProperties().remove("eclipse.ant.noInput"); //$NON-NLS-1$
+ //https://bugs.eclipse.org/bugs/show_bug.cgi?id=182577
+ //getCurrentProject().setDefaultInputStream(originalIn);
+ System.getProperties().remove("eclipse.ant.noInput"); //$NON-NLS-1$
}
} else {
- // set the system property that any input handler
- // can check to see if handling input is allowed
- System.setProperty("eclipse.ant.noInput", "true"); //$NON-NLS-1$//$NON-NLS-2$
+ //set the system property that any input handler
+ //can check to see if handling input is allowed
+ System.setProperty("eclipse.ant.noInput", "true"); //$NON-NLS-1$//$NON-NLS-2$
if (isVersionCompatible("1.5") && (inputHandlerClassname == null || inputHandlerClassname.length() == 0)) { //$NON-NLS-1$
- InputHandlerSetter setter = new InputHandlerSetter();
+ InputHandlerSetter setter= new InputHandlerSetter();
setter.setInputHandler(getCurrentProject(), "org.eclipse.ant.internal.core.ant.FailInputHandler"); //$NON-NLS-1$
}
}
- if (!projectHelp) {
- logMessage(currentProject, MessageFormat.format(InternalAntMessages.InternalAntRunner_Build_file, new Object[] { getBuildFileLocation() }), Project.MSG_INFO);
+ if(!projectHelp) {
+ logMessage(currentProject, MessageFormat.format(InternalAntMessages.InternalAntRunner_Build_file, new Object[]{getBuildFileLocation()}), Project.MSG_INFO);
setTasks(getCurrentProject());
setTypes(getCurrentProject());
@@ -672,82 +654,77 @@
}
parseBuildFile(getCurrentProject());
}
-
+
createMonitorBuildListener(getCurrentProject());
-
+
if (projectHelp) {
if (isVersionCompatible("1.7")) { //$NON-NLS-1$
new EclipseMainHelper().runProjectHelp(getBuildFileLocation(), getCurrentProject());
return;
- }
+ }
logMessage(currentProject, InternalAntMessages.InternalAntRunner_ant_1_7_needed_for_help_info, Project.MSG_ERR);
executed = false;
return;
}
-
+
if (extraArguments != null) {
printArguments(getCurrentProject());
}
System.setSecurityManager(new AntSecurityManager(originalSM, Thread.currentThread()));
-
+
if (targets == null) {
- targets = new Vector<String>(1);
- }
+ targets = new Vector<String>(1);
+ }
String dtarget = currentProject.getDefaultTarget();
- if (targets.isEmpty() && dtarget != null) {
- targets.add(dtarget);
- }
- if (!isVersionCompatible("1.6.3")) { //$NON-NLS-1$
- getCurrentProject().addReference("eclipse.ant.targetVector", targets); //$NON-NLS-1$
+ if (targets.isEmpty() && dtarget != null) {
+ targets.add(dtarget);
+ }
+ if (!isVersionCompatible("1.6.3")) { //$NON-NLS-1$
+ getCurrentProject().addReference("eclipse.ant.targetVector", targets); //$NON-NLS-1$
}
getCurrentProject().executeTargets(targets);
- }
- catch (OperationCanceledException e) {
+ } catch (OperationCanceledException e) {
executed = false;
logMessage(currentProject, e.getMessage(), Project.MSG_INFO);
throw e;
- }
- catch (AntSecurityException e) {
- // expected
- }
- catch (RuntimeException e) {
+ } catch (AntSecurityException e) {
+ //expected
+ } catch (RuntimeException e) {
error = e;
throw e;
- }
- catch (Error e) {
+ } catch (Error e) {
error = e;
throw e;
- }
- finally {
+ } finally {
System.setErr(originalErr);
System.setOut(originalOut);
System.setIn(originalIn);
if (System.getSecurityManager() instanceof AntSecurityManager) {
System.setSecurityManager(originalSM);
}
-
- if (!projectHelp) {
+
+ if (!projectHelp) {
if (AntCorePlugin.getPlugin().getBundle().getState() != Bundle.ACTIVE) {
return;
}
fireBuildFinished(getCurrentProject(), error);
}
-
- // close any user specified build log
+
+ //close any user specified build log
if (err != originalErr) {
err.close();
}
if (out != originalOut) {
out.close();
}
-
+
processAntHome(true);
if (!allowInput) {
- System.getProperties().remove("eclipse.ant.noInput"); //$NON-NLS-1$
+ System.getProperties().remove("eclipse.ant.noInput"); //$NON-NLS-1$
}
}
}
-
+
/**
* Re-maps {@link System.in} to the Ant input stream setter
*/
@@ -755,79 +732,81 @@
if (!isVersionCompatible("1.6")) { //$NON-NLS-1$
return;
}
- DemuxInputStreamSetter setter = new DemuxInputStreamSetter();
+ DemuxInputStreamSetter setter= new DemuxInputStreamSetter();
setter.remapSystemIn(currentProject);
}
private void processAntHome(boolean finished) {
- AntCorePreferences prefs = AntCorePlugin.getPlugin().getPreferences();
- String antHome = prefs.getAntHome();
+ AntCorePreferences prefs= AntCorePlugin.getPlugin().getPreferences();
+ String antHome= prefs.getAntHome();
if (buildAntHome != null && !finished) {
- antHome = buildAntHome;
+ antHome= buildAntHome;
}
if (antHome == null || antHome.length() == 0) {
System.getProperties().remove("ant.home"); //$NON-NLS-1$
System.getProperties().remove("ant.library.dir"); //$NON-NLS-1$
} else {
System.setProperty("ant.home", antHome); //$NON-NLS-1$
- File antLibDir = new File(antHome, "lib"); //$NON-NLS-1$
+ File antLibDir= new File(antHome, "lib"); //$NON-NLS-1$
System.setProperty("ant.library.dir", antLibDir.getAbsolutePath()); //$NON-NLS-1$
}
}
-
+
public void setAntHome(String antHome) {
- this.buildAntHome = antHome;
+ this.buildAntHome= antHome;
}
/**
* Creates and returns the default build logger for logging build events to the ant log.
*
- * @return the default build logger for logging build events to the ant log can return <code>null</code> if no logging is to occur
+ * @return the default build logger for logging build events to the ant log
+ * can return <code>null</code> if no logging is to occur
*/
protected BuildLogger createLogger() {
if (loggerClassname == null) {
- buildLogger = new DefaultLogger();
+ buildLogger= new DefaultLogger();
} else if (!IAntCoreConstants.EMPTY_STRING.equals(loggerClassname)) {
try {
buildLogger = (BuildLogger) (Class.forName(loggerClassname).newInstance());
- }
- catch (ClassCastException e) {
- String message = MessageFormat.format(InternalAntMessages.InternalAntRunner_not_an_instance_of_apache_ant_BuildLogger, new Object[] { loggerClassname });
+ } catch (ClassCastException e) {
+ String message = MessageFormat.format(InternalAntMessages.InternalAntRunner_not_an_instance_of_apache_ant_BuildLogger, new Object[]{loggerClassname});
+ logMessage(null, message, Project.MSG_ERR);
+ throw new BuildException(message, e);
+ } catch (Exception e) {
+ String message = MessageFormat.format(InternalAntMessages.InternalAntRunner_Unable_to_instantiate_logger, new Object[]{loggerClassname});
logMessage(null, message, Project.MSG_ERR);
throw new BuildException(message, e);
}
- catch (Exception e) {
- String message = MessageFormat.format(InternalAntMessages.InternalAntRunner_Unable_to_instantiate_logger, new Object[] { loggerClassname });
- logMessage(null, message, Project.MSG_ERR);
- throw new BuildException(message, e);
- }
- }
-
+ }
+
if (buildLogger != null) {
buildLogger.setMessageOutputLevel(messageOutputLevel);
buildLogger.setOutputPrintStream(out);
buildLogger.setErrorPrintStream(err);
buildLogger.setEmacsMode(emacsMode);
- if (buildLogger instanceof AbstractEclipseBuildLogger) {
- ((AbstractEclipseBuildLogger) buildLogger).configure(userProperties);
- }
+ if (buildLogger instanceof AbstractEclipseBuildLogger) {
+ ((AbstractEclipseBuildLogger) buildLogger).configure(userProperties);
+ }
}
return buildLogger;
}
/**
- * Project.fireBuildStarted is protected in Ant earlier than 1.5.*. Provides backwards compatibility with old Ant installs.
+ * Project.fireBuildStarted is protected in Ant earlier than 1.5.*.
+ * Provides backwards compatibility with old Ant installs.
*/
protected void fireBuildStarted(Project project) {
- if (!isVersionCompatible("1.5")) { //$NON-NLS-1$
- BuildEvent event = new BuildEvent(project);
- for (BuildListener listener : project.getBuildListeners()) {
- listener.buildStarted(event);
- }
- } else {
- project.fireBuildStarted();
- }
+ if (!isVersionCompatible("1.5")) { //$NON-NLS-1$
+ BuildEvent event = new BuildEvent(project);
+ //TODO ANT-1.9.1 API USE
+ Vector<?> listeners = project.getBuildListeners();
+ for (Iterator<?> iterator = listeners.iterator(); iterator.hasNext();) {
+ ((BuildListener) iterator.next()).buildStarted(event);
+ }
+ } else {
+ project.fireBuildStarted();
+ }
}
/**
@@ -837,32 +816,35 @@
* @param error
*/
protected void fireBuildFinished(Project project, Throwable error) {
- if (usingXmlLogger()) {
- // generate the log file in the correct location
- String fileName = project.getProperty("XmlLogger.file"); //$NON-NLS-1$
+ if(usingXmlLogger()) {
+ //generate the log file in the correct location
+ String fileName= project.getProperty("XmlLogger.file"); //$NON-NLS-1$
if (fileName == null) {
- fileName = "log.xml"; //$NON-NLS-1$
+ fileName= "log.xml"; //$NON-NLS-1$
}
- String realPath = new Path(getBuildFileLocation()).toFile().getAbsolutePath();
- IPath path = new Path(realPath);
- path = path.removeLastSegments(1);
- path = path.addTrailingSeparator();
- path = path.append(fileName);
-
+ String realPath= new Path(getBuildFileLocation()).toFile().getAbsolutePath();
+ IPath path= new Path(realPath);
+ path= path.removeLastSegments(1);
+ path= path.addTrailingSeparator();
+ path= path.append(fileName);
+
project.setProperty("XmlLogger.file", path.toOSString()); //$NON-NLS-1$
}
if (error == null && executed) {
logMessage(project, InternalAntMessages.InternalAntRunner_BUILD_SUCCESSFUL_1, messageOutputLevel);
- }
- if (!isVersionCompatible("1.5")) { //$NON-NLS-1$
- BuildEvent event = new BuildEvent(project);
- event.setException(error);
- for (BuildListener listener : project.getBuildListeners()) {
- listener.buildFinished(event);
- }
- } else {
- project.fireBuildFinished(error);
- }
+ }
+ if (!isVersionCompatible("1.5")) { //$NON-NLS-1$
+ BuildEvent event = new BuildEvent(project);
+ event.setException(error);
+ //TODO ANT-1.9.1 API USE
+ Vector<?> listeners = project.getBuildListeners();
+ Iterator<?> iter = listeners.iterator();
+ while (iter.hasNext()) {
+ ((BuildListener) iter.next()).buildFinished(event);
+ }
+ } else {
+ project.fireBuildFinished(error);
+ }
}
private boolean usingXmlLogger() {
@@ -870,18 +852,23 @@
return true;
}
if (buildListeners != null) {
- for (BuildListener listener : currentProject.getBuildListeners()) {
- if (listener instanceof XmlLogger) {
+ //TODO ANT-1.9.1 API USE
+ Vector<?> listeners = currentProject.getBuildListeners();
+ Enumeration<?> e = listeners.elements();
+ while (e.hasMoreElements()) {
+ BuildListener element = (BuildListener) e.nextElement();
+ if (element instanceof XmlLogger) {
return true;
}
}
}
+
return false;
}
protected void logMessage(Project project, String message, int priority) {
if (project != null) {
- project.log(message, priority);
+ project.log(message, priority);
} else {
if (buildListeners != null) {
Project p = new Project();
@@ -897,8 +884,7 @@
/**
* Sets the buildFileLocation.
*
- * @param buildFileLocation
- * the file system location of the build file
+ * @param buildFileLocation the file system location of the build file
*/
public void setBuildFileLocation(String buildFileLocation) {
this.buildFileLocation = buildFileLocation;
@@ -906,15 +892,14 @@
currentProject.setUserProperty("ant.file", buildFileLocation); //$NON-NLS-1$
}
}
-
+
/**
* Sets the input handler class name.
*
- * @param inputHandlerClassname
- * the name of the class to use for the input handler
+ * @param inputHandlerClassname the name of the class to use for the input handler
*/
public void setInputHandler(String inputHandlerClassname) {
- this.inputHandlerClassname = inputHandlerClassname;
+ this.inputHandlerClassname= inputHandlerClassname;
}
/**
@@ -925,13 +910,14 @@
protected String getInputHandler() {
return this.inputHandlerClassname;
}
-
+
protected String getBuildLogger() {
return this.loggerClassname;
}
-
+
/**
- * Returns the location of the buildfile. If one has not been supplied the default location of <code>build.xml</code> will be returned
+ * Returns the location of the buildfile. If one has not been supplied
+ * the default location of <code>build.xml</code> will be returned
*
* @return the absolute location of the build file
*/
@@ -944,9 +930,7 @@
/**
* Sets the message output level. Use -1 for none.
- *
- * @param level
- * The message output level
+ * @param level The message output level
*/
public void setMessageOutputLevel(int level) {
messageOutputLevel = level;
@@ -957,9 +941,7 @@
/**
* Sets the extra user arguments
- *
- * @param args
- * The extra user arguments
+ * @param args The extra user arguments
*/
public void setArguments(String[] args) {
extraArguments = args;
@@ -967,9 +949,7 @@
/**
* Sets the execution targets.
- *
- * @param executionTargets
- * The targets to execute for the build
+ * @param executionTargets The targets to execute for the build
*/
public void setExecutionTargets(String[] executionTargets) {
targets = new Vector<String>(executionTargets.length);
@@ -977,9 +957,10 @@
targets.add(executionTargets[i]);
}
}
-
+
/*
- * Returns a String representation of the Ant version number as specified in the version.txt file.
+ * Returns a String representation of the Ant version number as specified
+ * in the version.txt file.
*/
protected String getAntVersionNumber() throws BuildException {
if (antVersionNumber == null) {
@@ -988,40 +969,37 @@
InputStream in = Main.class.getResourceAsStream("/org/apache/tools/ant/version.txt"); //$NON-NLS-1$
props.load(in);
in.close();
- String versionNumber = props.getProperty("VERSION"); //$NON-NLS-1$
- antVersionNumber = versionNumber;
- }
- catch (IOException ioe) {
- throw new BuildException(MessageFormat.format(InternalAntMessages.InternalAntRunner_Could_not_load_the_version_information, new Object[] { ioe.getMessage() }));
- }
- catch (NullPointerException npe) {
- throw new BuildException(MessageFormat.format(InternalAntMessages.InternalAntRunner_Could_not_load_the_version_information, new Object[] { npe.getMessage() }));
+ String versionNumber= props.getProperty("VERSION"); //$NON-NLS-1$
+ antVersionNumber= versionNumber;
+ } catch (IOException ioe) {
+ throw new BuildException(MessageFormat.format(InternalAntMessages.InternalAntRunner_Could_not_load_the_version_information, new Object[]{ioe.getMessage()}));
+ } catch (NullPointerException npe) {
+ throw new BuildException(MessageFormat.format(InternalAntMessages.InternalAntRunner_Could_not_load_the_version_information, new Object[] {npe.getMessage()}));
}
}
return antVersionNumber;
}
-
+
/*
- * Returns whether the given version is compatible with the current Ant version. A version is compatible if it is less than or equal to the
- * current version.
+ * Returns whether the given version is compatible with the
+ * current Ant version. A version is compatible if it is less
+ * than or equal to the current version.
*/
protected boolean isVersionCompatible(String comparison) {
String version = getAntVersionNumber();
return version.compareTo(comparison) >= 0;
}
-
+
/**
- * Pre-processes the raw command line to set up input handling and logging. <br>
- * <br>
+ * Pre-processes the raw command line to set up input handling and logging.
+ * <br><br>
* This method checks for the following command line arguments:
* <ul>
* <li><b>-inputhandler</b> <em><class></em> - the class which will handle input requests</li>
* <li><b>-logger</b> <em><classname></em> - the class which is to perform logging</li>
* <li><b>-listener</b> <em><classname></em> - add an instance of class as a project listener</li>
* </ul>
- *
- * @param commands
- * the raw command line arguments passed in from the application
+ * @param commands the raw command line arguments passed in from the application
* @return <code>true</code> if it is OK to run with the given list of arguments <code>false</code> otherwise
*/
protected boolean preprocessCommandLine(List<String> commands) {
@@ -1029,9 +1007,9 @@
while (arg != null) {
if (arg.length() == 0) {
throw new BuildException(InternalAntMessages.InternalAntRunner_specify_a_classname_using_the_listener_argument);
- }
+ }
if (buildListeners == null) {
- buildListeners = new ArrayList<String>(1);
+ buildListeners= new ArrayList<String>(1);
}
buildListeners.add(arg);
arg = AntCoreUtil.getArgument(commands, "-listener"); //$NON-NLS-1$
@@ -1041,14 +1019,14 @@
if (arg != null) {
if (arg.length() == 0) {
throw new BuildException(InternalAntMessages.InternalAntRunner_specify_a_classname_using_the_logger_argument);
- }
+ }
loggerClassname = arg;
}
arg = AntCoreUtil.getArgument(commands, "-logger"); //$NON-NLS-1$
if (arg != null) {
throw new BuildException(InternalAntMessages.InternalAntRunner_Only_one_logger_class_may_be_specified);
}
-
+
arg = AntCoreUtil.getArgument(commands, "-inputhandler"); //$NON-NLS-1$
if (arg != null) {
if (!isVersionCompatible("1.5")) { //$NON-NLS-1$
@@ -1056,7 +1034,7 @@
}
if (arg.length() == 0) {
throw new BuildException(InternalAntMessages.InternalAntRunner_specify_a_classname_the_inputhandler_argument);
- }
+ }
inputHandlerClassname = arg;
}
arg = AntCoreUtil.getArgument(commands, "-inputhandler"); //$NON-NLS-1$
@@ -1065,10 +1043,10 @@
}
return true;
}
-
+
/**
- * Process the command line arguments. <br>
- * <br>
+ * Process the command line arguments.
+ * <br><br>
* The listing of supported Ant command line arguments is:
* <ul>
* <li><b>-buildfile</b>, <b>-file</b>, <b>-f</b> <em><file></em> - use given buildfile</li>
@@ -1087,15 +1065,13 @@
* </ul>
* The list of other Ant command line arguments that we currently do not support:
* <ul>
- * <li><b>-nice</b> <em><number></em> - A niceness value for the main thread - 1 (lowest) to 10 (highest); 5 is the default</li>
+ * <li><b>-nice</b> <em><number></em> - A niceness value for the main thread - 1 (lowest) to 10 (highest); 5 is the default</li>
* <li><b>-nouserlib</b> - Run ant without using the jar files from ${user.home}/.ant/lib</li>
* <li><b>-noclasspath</b> - Run ant without using CLASSPATH</li>
* <li><b>-autoproxy</b> - Java 1.5+ : use the OS proxies</li>
* <li><b>-main</b> <em><class></em> - override Ant's normal entry point</li>
* </ul>
- *
- * @param list
- * the raw command line arguments passed in from the application
+ * @param list the raw command line arguments passed in from the application
* @return <code>true</code> if it is OK to run with the given list of arguments <code>false</code> otherwise
*/
private boolean processCommandLine(List<String> commands) {
@@ -1107,22 +1083,22 @@
}
return false;
}
-
+
if (commands.remove("-version")) { //$NON-NLS-1$
printVersion();
return false;
}
-
+
if (commands.remove("-verbose") || commands.remove("-v")) { //$NON-NLS-1$ //$NON-NLS-2$
printVersion();
setMessageOutputLevel(Project.MSG_VERBOSE);
}
-
+
if (commands.remove("-debug") || commands.remove("-d")) { //$NON-NLS-1$ //$NON-NLS-2$
printVersion();
setMessageOutputLevel(Project.MSG_DEBUG);
}
-
+
if (commands.remove("-quiet") || commands.remove("-q")) { //$NON-NLS-1$ //$NON-NLS-2$
setMessageOutputLevel(Project.MSG_WARN);
}
@@ -1133,39 +1109,37 @@
buildLogger.setEmacsMode(true);
}
}
-
+
if (commands.remove("-diagnostics")) { //$NON-NLS-1$
if (!isVersionCompatible("1.5")) { //$NON-NLS-1$
throw new BuildException(InternalAntMessages.InternalAntRunner_The_diagnositics_options_is_an_Ant_1_5_feature);
}
try {
Diagnostics.doReport(System.out);
- }
- catch (NullPointerException e) {
+ } catch (NullPointerException e) {
logMessage(currentProject, InternalAntMessages.InternalAntRunner_anthome_must_be_set_to_use_ant_diagnostics, Project.MSG_ERR);
}
return false;
}
-
+
String arg = AntCoreUtil.getArgument(commands, "-logfile"); //$NON-NLS-1$
if (arg == null) {
arg = AntCoreUtil.getArgument(commands, "-l"); //$NON-NLS-1$
}
if (arg != null) {
if (arg.length() == 0) {
- String message = InternalAntMessages.InternalAntRunner_specify_a_log_file_using_the_log_argument;
- logMessage(currentProject, message, Project.MSG_ERR);
+ String message= InternalAntMessages.InternalAntRunner_specify_a_log_file_using_the_log_argument;
+ logMessage(currentProject, message, Project.MSG_ERR);
throw new BuildException(message);
- }
+ }
try {
createLogFile(arg);
- }
- catch (IOException e) {
+ } catch (IOException e) {
// just log message and ignore exception
- logMessage(currentProject, MessageFormat.format(InternalAntMessages.InternalAntRunner_Could_not_write_to_log_file, new Object[] { arg }), Project.MSG_ERR);
+ logMessage(currentProject, MessageFormat.format(InternalAntMessages.InternalAntRunner_Could_not_write_to_log_file, new Object[]{arg}), Project.MSG_ERR);
return false;
}
-
+
}
arg = AntCoreUtil.getArgument(commands, "-buildfile"); //$NON-NLS-1$
if (arg == null) {
@@ -1176,29 +1150,29 @@
}
if (arg != null) {
if (arg.length() == 0) {
- String message = InternalAntMessages.InternalAntRunner_specify_a_buildfile_using_the_buildfile_argument;
- logMessage(currentProject, message, Project.MSG_ERR);
+ String message= InternalAntMessages.InternalAntRunner_specify_a_buildfile_using_the_buildfile_argument;
+ logMessage(currentProject, message, Project.MSG_ERR);
throw new BuildException(message);
- }
+ }
setBuildFileLocation(arg);
}
if (isVersionCompatible("1.6")) { //$NON-NLS-1$
if (commands.remove("-k") || commands.remove("-keep-going")) { //$NON-NLS-1$ //$NON-NLS-2$
- keepGoing = true;
+ keepGoing= true;
}
if (commands.remove("-noinput")) { //$NON-NLS-1$
- allowInput = false;
+ allowInput= false;
}
- arg = AntCoreUtil.getArgument(commands, "-lib"); //$NON-NLS-1$
+ arg= AntCoreUtil.getArgument(commands, "-lib"); //$NON-NLS-1$
if (arg != null) {
logMessage(currentProject, InternalAntMessages.InternalAntRunner_157, Project.MSG_ERR);
return false;
}
}
-
- arg = AntCoreUtil.getArgument(commands, "-find"); //$NON-NLS-1$
+
+ arg= AntCoreUtil.getArgument(commands, "-find"); //$NON-NLS-1$
if (arg == null) {
- arg = AntCoreUtil.getArgument(commands, "-s"); //$NON-NLS-1$
+ arg= AntCoreUtil.getArgument(commands, "-s"); //$NON-NLS-1$
}
if (arg != null) {
logMessage(currentProject, InternalAntMessages.InternalAntRunner_find_not_supported, Project.MSG_ERR);
@@ -1209,15 +1183,15 @@
processUnrecognizedCommands(commands);
}
- if (!commands.isEmpty()) {
+ if(!commands.isEmpty()) {
processUnrecognizedTargets(commands);
}
-
+
if (!commands.isEmpty()) {
processTargets(commands);
}
-
- if (unknownTargetsFound && (targets == null || targets.isEmpty())) {
+
+ if (unknownTargetsFound && (targets == null || targets.isEmpty())) {
// Some targets are specified but none of them are good. Hence quit
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=352536
logMessage(currentProject, InternalAntMessages.InternalAntRunner_no_known_target, Project.MSG_ERR);
@@ -1225,9 +1199,10 @@
}
return true;
}
-
+
/**
- * Checks for unrecognized targets on the command line and removes them.
+ * Checks for unrecognized targets on the command line and
+ * removes them.
*
* @since 3.6
*/
@@ -1238,17 +1213,23 @@
String target = iterator.next();
if (!names.contains(target)) {
iterator.remove();
- String message = MessageFormat.format(InternalAntMessages.InternalAntRunner_unknown_target, new Object[] { target });
+ String message = MessageFormat.format(InternalAntMessages.InternalAntRunner_unknown_target, new Object[]{target});
logMessage(currentProject, message, Project.MSG_WARN);
unknownTargetsFound = true;
}
}
}
+
/**
- * Checks for unrecognized arguments on the command line. Since there is no syntactic way to distinguish between ant -foo target1 target2 ant -foo
- * fooarg target we remove everything up to the last argument that begins with a '-'. In the latter case, above, that means that there will be an
- * extra target, 'fooarg', left lying around.
+ * Checks for unrecognized arguments on the command line.
+ * Since there is no syntactic way to distinguish between
+ * ant -foo target1 target2
+ * ant -foo fooarg target
+ * we remove everything up to the last argument that
+ * begins with a '-'. In the latter case, above, that
+ * means that there will be an extra target, 'fooarg',
+ * left lying around.
*/
protected void processUnrecognizedCommands(List<String> commands) {
int p = -1;
@@ -1260,9 +1241,7 @@
break;
}
}
- if (p < 0) {
- return;
- }
+ if (p < 0) { return; }
// remove everything preceding that last '-arg'
String s = IAntCoreConstants.EMPTY_STRING;
@@ -1270,11 +1249,12 @@
s += " " + (commands.get(0)); //$NON-NLS-1$
commands.remove(0);
}
-
+
// warn of ignored commands
- String message = MessageFormat.format(InternalAntMessages.InternalAntRunner_Unknown_argument, new Object[] { s.substring(1) });
- logMessage(currentProject, message, Project.MSG_WARN);
+ String message = MessageFormat.format(InternalAntMessages.InternalAntRunner_Unknown_argument, new Object[]{ s.substring(1) });
+ logMessage(currentProject, message, Project.MSG_WARN);
}
+
/**
* Checks for targets specified at the command line.
@@ -1289,15 +1269,17 @@
}
/**
- * Creates the log file with the name specified by the user. If the fileName is not absolute, the file will be created in the working directory if
- * specified or in the same directory as the location of the build file.
+ * Creates the log file with the name specified by the user.
+ * If the fileName is not absolute, the file will be created in the
+ * working directory if specified or in the same directory as the location
+ * of the build file.
*/
protected void createLogFile(String fileName) throws FileNotFoundException, IOException {
File logFile = AntCoreUtil.getFileRelativeToBaseDir(fileName, currentProject.getUserProperty("basedir"), getBuildFileLocation()); //$NON-NLS-1$
- // this stream is closed in the finally block of run(list)
+ //this stream is closed in the finally block of run(list)
out = new PrintStream(new FileOutputStream(logFile));
err = out;
- logMessage(currentProject, MessageFormat.format(InternalAntMessages.InternalAntRunner_Using_file_as_build_log, new Object[] { logFile.getCanonicalPath() }), Project.MSG_INFO);
+ logMessage(currentProject, MessageFormat.format(InternalAntMessages.InternalAntRunner_Using_file_as_build_log, new Object[]{logFile.getCanonicalPath()}), Project.MSG_INFO);
if (buildLogger != null) {
buildLogger.setErrorPrintStream(err);
buildLogger.setOutputPrintStream(out);
@@ -1305,10 +1287,11 @@
}
/**
- * Processes the command line properties and adds the user properties. <br>
- * <br>
- * Any user properties that have been explicitly set are set as well. Ensures that -D properties take precedence. <br>
- * <br>
+ * Processes the command line properties and adds the user properties.
+ * <br><br>
+ * Any user properties that have been explicitly set are set as well.
+ * Ensures that -D properties take precedence.
+ * <br><br>
* This command lie arguments used are:
* <ul>
* <li><b>-D</b> <em><property>=<value></em> - use value for given property</li>
@@ -1316,44 +1299,44 @@
* </ul>
*/
private boolean processProperties(List<String> commands) {
- boolean exceptionToBeThrown = false;
- // MULTIPLE property files are allowed
- String arg = AntCoreUtil.getArgument(commands, "-propertyfile"); //$NON-NLS-1$
+ boolean exceptionToBeThrown= false;
+ //MULTIPLE property files are allowed
+ String arg= AntCoreUtil.getArgument(commands, "-propertyfile"); //$NON-NLS-1$
while (arg != null) {
if (!isVersionCompatible("1.5")) { //$NON-NLS-1$
- fEarlyErrorMessage = InternalAntMessages.InternalAntRunner_Specifying_property_files_is_a_Ant_1_5_feature;
+ fEarlyErrorMessage= InternalAntMessages.InternalAntRunner_Specifying_property_files_is_a_Ant_1_5_feature;
break;
}
if (arg.length() == 0) {
- fEarlyErrorMessage = InternalAntMessages.InternalAntRunner_specify_a_property_filename_when_using_propertyfile_argument;
- exceptionToBeThrown = true;
- break;
- }
-
+ fEarlyErrorMessage= InternalAntMessages.InternalAntRunner_specify_a_property_filename_when_using_propertyfile_argument;
+ exceptionToBeThrown= true;
+ break;
+ }
+
propertyFiles.add(arg);
- arg = AntCoreUtil.getArgument(commands, "-propertyfile"); //$NON-NLS-1$
+ arg= AntCoreUtil.getArgument(commands, "-propertyfile"); //$NON-NLS-1$
}
-
- String[] globalPropertyFiles = AntCorePlugin.getPlugin().getPreferences().getCustomPropertyFiles();
+
+ String[] globalPropertyFiles= AntCorePlugin.getPlugin().getPreferences().getCustomPropertyFiles();
if (globalPropertyFiles.length > 0) {
- if (!isVersionCompatible("1.5")) { //$NON-NLS-1$
- fEarlyErrorMessage = InternalAntMessages.InternalAntRunner_Specifying_property_files_is_a_Ant_1_5_feature;
- } else {
- if (propertyFiles == null) {
- propertyFiles = new ArrayList<String>(globalPropertyFiles.length);
- }
- propertyFiles.addAll(Arrays.asList(globalPropertyFiles));
- }
+ if (!isVersionCompatible("1.5")) { //$NON-NLS-1$
+ fEarlyErrorMessage= InternalAntMessages.InternalAntRunner_Specifying_property_files_is_a_Ant_1_5_feature;
+ } else {
+ if (propertyFiles == null) {
+ propertyFiles = new ArrayList<String>(globalPropertyFiles.length);
+ }
+ propertyFiles.addAll(Arrays.asList(globalPropertyFiles));
+ }
}
-
+
if (propertyFiles != null && !propertyFiles.isEmpty()) {
- loadPropertyFiles();
+ loadPropertyFiles();
}
-
+
if (commands != null) {
processMinusDProperties(commands);
- }
- return exceptionToBeThrown;
+ }
+ return exceptionToBeThrown;
}
/**
@@ -1362,24 +1345,24 @@
* @param commands
*/
protected void processMinusDProperties(List<String> commands) {
- if (!commands.isEmpty() && userProperties == null) {
+ if (!commands.isEmpty() && userProperties == null) {
userProperties = new HashMap<String, String>();
}
AntCoreUtil.processMinusDProperties(commands, userProperties);
}
/**
- * Logs a message with the client indicating the version of <b>Ant</b> that this class fronts.
+ * Logs a message with the client indicating the version of <b>Ant</b> that this class
+ * fronts.
*/
protected void printVersion() {
logMessage(currentProject, Main.getAntVersion(), Project.MSG_INFO);
}
+
/**
* Sets the build progress monitor.
- *
- * @param monitor
- * The progress monitor to use
+ * @param monitor The progress monitor to use
*/
public void setProgressMonitor(IProgressMonitor monitor) {
this.monitor = monitor;
@@ -1397,100 +1380,96 @@
/**
* Sets the current {@link Project} context
*
- * @param currentProject
- * the new {@link Project}
+ * @param currentProject the new {@link Project}
*/
protected void setCurrentProject(Project currentProject) {
this.currentProject = currentProject;
}
-
+
public String getBuildExceptionErrorMessage(Throwable t) {
if (t instanceof BuildException) {
return t.toString();
}
return null;
}
-
+
/**
- * Load all properties from the files specified by -propertyfile.
+ * Load all properties from the files
+ * specified by -propertyfile.
*/
protected void loadPropertyFiles() {
- if (userProperties == null) {
- userProperties = new HashMap<String, String>();
- }
- try {
- List<Properties> allProperties = AntCoreUtil.loadPropertyFiles(propertyFiles, currentProject.getUserProperty("basedir"), getBuildFileLocation()); //$NON-NLS-1$
- Iterator<Properties> iter = allProperties.iterator();
- while (iter.hasNext()) {
- Properties props = iter.next();
- Enumeration<?> propertyNames = props.propertyNames();
- while (propertyNames.hasMoreElements()) {
- String name = (String) propertyNames.nextElement();
- // most specific to global
- // do not overwrite specific with a global property
- if (userProperties.get(name) == null) {
- userProperties.put(name, props.getProperty(name));
- }
- }
- }
- }
- catch (IOException e) {
- fEarlyErrorMessage = MessageFormat.format(InternalAntMessages.InternalAntRunner_could_not_load_property_file, new Object[] { e.getMessage() });
- }
+ if (userProperties == null) {
+ userProperties = new HashMap<String, String>();
+ }
+ try {
+ List<Properties> allProperties = AntCoreUtil.loadPropertyFiles(propertyFiles, currentProject.getUserProperty("basedir"), getBuildFileLocation()); //$NON-NLS-1$
+ Iterator<Properties> iter= allProperties.iterator();
+ while (iter.hasNext()) {
+ Properties props = iter.next();
+ Enumeration<?> propertyNames = props.propertyNames();
+ while (propertyNames.hasMoreElements()) {
+ String name = (String) propertyNames.nextElement();
+ //most specific to global
+ //do not overwrite specific with a global property
+ if (userProperties.get(name) == null) {
+ userProperties.put(name, props.getProperty(name));
+ }
+ }
+ }
+ } catch (IOException e) {
+ fEarlyErrorMessage = MessageFormat.format(InternalAntMessages.InternalAntRunner_could_not_load_property_file, new Object[]{e.getMessage()});
+ }
}
-
+
/**
- * Creates the InputHandler and adds it to the project.
- *
- * @exception BuildException
- * if a specified InputHandler implementation could not be loaded.
- */
- protected void addInputHandler(Project project) {
- if (!isVersionCompatible("1.5") || (inputHandlerClassname != null && inputHandlerClassname.length() == 0)) { //$NON-NLS-1$
+ * Creates the InputHandler and adds it to the project.
+ *
+ * @exception BuildException if a specified InputHandler
+ * implementation could not be loaded.
+ */
+ protected void addInputHandler(Project project) {
+ if (!isVersionCompatible("1.5") || (inputHandlerClassname != null && inputHandlerClassname.length() == 0)) { //$NON-NLS-1$
return;
}
- InputHandlerSetter setter = new InputHandlerSetter();
+ InputHandlerSetter setter= new InputHandlerSetter();
setter.setInputHandler(project, inputHandlerClassname);
- }
+ }
/*
* Sets the Java class path in org.apache.tools.ant.types.Path
*/
private void setJavaClassPath() {
- URL[] antClasspath = null;
- AntCorePreferences prefs = AntCorePlugin.getPlugin().getPreferences();
+ URL[] antClasspath= null;
+ AntCorePreferences prefs= AntCorePlugin.getPlugin().getPreferences();
if (customClasspath == null) {
- antClasspath = prefs.getURLs();
+ antClasspath= prefs.getURLs();
} else {
- URL[] extraClasspath = prefs.getExtraClasspathURLs();
- antClasspath = new URL[customClasspath.length + extraClasspath.length];
+ URL[] extraClasspath= prefs.getExtraClasspathURLs();
+ antClasspath= new URL[customClasspath.length + extraClasspath.length];
System.arraycopy(customClasspath, 0, antClasspath, 0, customClasspath.length);
System.arraycopy(extraClasspath, 0, antClasspath, customClasspath.length, extraClasspath.length);
}
- StringBuffer buff = new StringBuffer();
- File file = null;
+ StringBuffer buff= new StringBuffer();
+ File file= null;
for (int i = 0; i < antClasspath.length; i++) {
try {
file = new File(FileLocator.toFileURL(antClasspath[i]).getPath());
- }
- catch (IOException e) {
+ } catch (IOException e) {
continue;
}
buff.append(file.getAbsolutePath());
buff.append("; "); //$NON-NLS-1$
}
- org.apache.tools.ant.types.Path systemClasspath = new org.apache.tools.ant.types.Path(null, buff.substring(0, buff.length() - 2));
- org.apache.tools.ant.types.Path.systemClasspath = systemClasspath;
+ org.apache.tools.ant.types.Path systemClasspath= new org.apache.tools.ant.types.Path(null, buff.substring(0, buff.length() - 2));
+ org.apache.tools.ant.types.Path.systemClasspath= systemClasspath;
}
-
+
/**
* Sets the custom classpath to be included when setting the Java classpath for this build.
- *
- * @param classpath
- * The custom classpath for this build.
+ * @param classpath The custom classpath for this build.
*/
public void setCustomClasspath(URL[] classpath) {
- customClasspath = classpath;
+ customClasspath= classpath;
}
}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InternalProject.java b/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InternalProject.java
index c213683..b79292d 100644
--- a/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InternalProject.java
+++ b/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InternalProject.java
@@ -25,11 +25,13 @@
import org.apache.tools.ant.ProjectComponent;
/**
- * A subclass of Project to facilitate "faster" parsing with less garbage generated. This class is not used on Ant 1.6 and newer due to the
- * improvements in lazy loading of these Ant versions.
+ * A subclass of Project to facilitate "faster" parsing with
+ * less garbage generated. This class is not used on Ant 1.6 and newer
+ * due to the improvements in lazy loading of these Ant versions.
*
- * Only three tasks are loaded (property, taskdef and typedef: three tasks that can be defined outside of a target on Ant 1.5.1 or older).
- *
+ * Only three tasks are loaded (property, taskdef and
+ * typedef: three tasks that can be defined outside of a target on Ant 1.5.1 or older).
+ *
* Datatypes are loaded if requested.
*
* Derived from the original Ant Project class
@@ -37,17 +39,14 @@
public class InternalProject extends Project {
private Hashtable<String, Class<?>> typeNameToClass = null;
-
+
public InternalProject() {
super();
}
- /*
- * (non-Javadoc)
- *
+ /* (non-Javadoc)
* @see org.apache.tools.ant.Project#init()
*/
- @Override
public void init() throws BuildException {
setJavaVersionProperty();
@@ -58,23 +57,18 @@
addTaskDefinition("typedef", taskClass); //$NON-NLS-1$
taskClass = Class.forName("org.apache.tools.ant.taskdefs.Taskdef"); //$NON-NLS-1$
addTaskDefinition("taskdef", taskClass); //$NON-NLS-1$
- }
- catch (NoClassDefFoundError e) {
+ } catch (NoClassDefFoundError e) {
throw new BuildException(InternalAntMessages.InternalAntRunner_Missing_Class, e);
- }
- catch (ClassNotFoundException c) {
+ } catch (ClassNotFoundException c) {
throw new BuildException(InternalAntMessages.InternalAntRunner_Missing_Class, c);
}
setSystemProperties();
}
- /*
- * (non-Javadoc)
- *
+ /* (non-Javadoc)
* @see org.apache.tools.ant.Project#createDataType(java.lang.String)
*/
- @Override
public Object createDataType(String typeName) throws BuildException {
if (typeNameToClass == null) {
initializeTypes();
@@ -94,8 +88,7 @@
try {
ctor = typeClass.getConstructor(new Class[0]);
noArg = true;
- }
- catch (NoSuchMethodException nse) {
+ } catch (NoSuchMethodException nse) {
ctor = typeClass.getConstructor(new Class[] { Project.class });
noArg = false;
}
@@ -110,28 +103,21 @@
((ProjectComponent) o).setProject(this);
}
return o;
- }
- catch (InvocationTargetException ite) {
+ } catch (InvocationTargetException ite) {
thrown = ite.getTargetException();
- }
- catch (IllegalArgumentException e) {
+ } catch (IllegalArgumentException e) {
thrown = e;
- }
- catch (InstantiationException e) {
+ } catch (InstantiationException e) {
thrown = e;
- }
- catch (IllegalAccessException e) {
+ } catch (IllegalAccessException e) {
thrown = e;
- }
- catch (NoSuchMethodException nse) {
+ } catch (NoSuchMethodException nse) {
thrown = nse;
- }
- catch (NoClassDefFoundError ncdfe) {
+ } catch (NoClassDefFoundError ncdfe) {
thrown = ncdfe;
}
if (thrown != null) {
- String message = MessageFormat.format(InternalAntMessages.InternalProject_could_not_create_type, new Object[] { typeName,
- thrown.toString() });
+ String message= MessageFormat.format(InternalAntMessages.InternalProject_could_not_create_type, new Object[]{typeName, thrown.toString()});
throw new BuildException(message, thrown);
}
// this line is actually unreachable
@@ -158,26 +144,21 @@
String typeName = (String) enumeration.nextElement();
String className = props.getProperty(typeName);
try {
- Class<?> typeClass = Class.forName(className);
+ Class<?> typeClass= Class.forName(className);
typeNameToClass.put(typeName, typeClass);
- }
- catch (NoClassDefFoundError e) {
- // ignore
- }
- catch (ClassNotFoundException c) {
- // ignore
+ } catch (NoClassDefFoundError e) {
+ //ignore
+ } catch (ClassNotFoundException c) {
+ //ignore
}
}
- }
- catch (IOException ioe) {
+ } catch (IOException ioe) {
return;
}
}
-
- /*
- * (non-Javadoc)
- *
+
+ /* (non-Javadoc)
* @see org.apache.tools.ant.Project#getDataTypeDefinitions()
*/
@Override
@@ -187,14 +168,13 @@
}
return typeNameToClass;
}
-
- /*
- * (non-Javadoc)
- *
+
+ /* (non-Javadoc)
* @see org.apache.tools.ant.Project#addDataTypeDefinition(java.lang.String, java.lang.Class)
*/
@Override
- public void addDataTypeDefinition(String typeName, Class<?> typeClass) {
+ public void addDataTypeDefinition(String typeName, Class typeClass) {
+ //TODO ANT-1.9.1 API USE
getDataTypeDefinitions();
typeNameToClass.put(typeName, typeClass);
}
diff --git a/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/ProgressBuildListener.java b/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/ProgressBuildListener.java
index 5fb0c9d..9481139 100644
--- a/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/ProgressBuildListener.java
+++ b/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/ProgressBuildListener.java
@@ -10,6 +10,7 @@
*******************************************************************************/
package org.eclipse.ant.internal.core.ant;
+
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.HashMap;
@@ -34,7 +35,7 @@
import org.eclipse.core.runtime.SubProgressMonitor;
/**
- * Reports progress and checks for cancellation of a script execution.
+ * Reports progress and checks for cancelation of a script execution.
*/
public class ProgressBuildListener implements BuildListener {
@@ -44,17 +45,18 @@
private Thread currentTaskThread;
/**
- * Contains the progress monitor instances for the various projects in a chain.
+ * Contains the progress monitor instances for the various
+ * projects in a chain.
*/
protected class ProjectMonitors {
/**
- * This field is null for the main project
+ * This field is null for the main project
*/
private Target mainTarget;
private IProgressMonitor mainMonitor;
private IProgressMonitor targetMonitor;
private IProgressMonitor taskMonitor;
-
+
protected IProgressMonitor getMainMonitor() {
return mainMonitor;
}
@@ -95,13 +97,13 @@
ProjectMonitors monitors = new ProjectMonitors();
IProgressMonitor localmonitor = monitor;
if (localmonitor == null) {
- localmonitor = new NullProgressMonitor();
+ localmonitor= new NullProgressMonitor();
}
monitors.setMainMonitor(localmonitor);
projects.put(mainProject, monitors);
- ArrayList<Target> targets = new ArrayList<Target>(targetNames.size());
+ ArrayList<Target> targets= new ArrayList<Target>(targetNames.size());
for (String targetName : targetNames) {
- Target target = mainProject.getTargets().get(targetName);
+ Target target = (Target) mainProject.getTargets().get(targetName);
if (target != null) {
targets.add(target);
}
@@ -110,12 +112,9 @@
monitors.getMainMonitor().beginTask(IAntCoreConstants.EMPTY_STRING, work);
}
- /*
- * (non-Javadoc)
- *
+ /* (non-Javadoc)
* @see org.apache.tools.ant.BuildListener#buildStarted(org.apache.tools.ant.BuildEvent)
*/
- @Override
public void buildStarted(BuildEvent event) {
checkCanceled();
}
@@ -131,16 +130,17 @@
protected int countTarget(Target target, List<String> alreadySeen) {
int result = 1;
Project project = target.getProject();
- Hashtable<String, Target> targets = project.getTargets();
- String targetName;
- Target dependency;
- for (Enumeration<String> dependencies = target.getDependencies(); dependencies.hasMoreElements();) {
- targetName = dependencies.nextElement();
- if (alreadySeen.contains(targetName)) { // circular dependency or common dependency
+ //TODO ANT-1.9.1 API USE
+ Hashtable<?, ?> targets = project.getTargets();
+ String targetName;
+ Target dependency;
+ for (Enumeration<?> dependencies = target.getDependencies(); dependencies.hasMoreElements();) {
+ targetName = (String) dependencies.nextElement();
+ if (alreadySeen.contains(targetName)) { //circular dependency or common dependency
return result;
- }
- alreadySeen.add(targetName);
- dependency = targets.get(targetName);
+ }
+ alreadySeen.add(targetName);
+ dependency = (Target) targets.get(targetName);
if (dependency != null) {
result = result + countTarget(dependency, alreadySeen);
}
@@ -158,17 +158,14 @@
return result;
}
- /*
- * (non-Javadoc)
- *
+ /* (non-Javadoc)
* @see org.apache.tools.ant.BuildListener#buildFinished(org.apache.tools.ant.BuildEvent)
*/
- @Override
public void buildFinished(BuildEvent event) {
ProjectMonitors monitors = projects.get(mainProject);
monitors.getMainMonitor().done();
- Set<Project> keys = projects.keySet();
- Iterator<Project> itr = keys.iterator();
+ Set<Project> keys= projects.keySet();
+ Iterator<Project> itr= keys.iterator();
while (itr.hasNext()) {
Project project = itr.next();
project.removeBuildListener(this);
@@ -176,12 +173,9 @@
}
}
- /*
- * (non-Javadoc)
- *
+ /* (non-Javadoc)
* @see org.apache.tools.ant.BuildListener#targetStarted(org.apache.tools.ant.BuildEvent)
*/
- @Override
public void targetStarted(BuildEvent event) {
checkCanceled();
Project currentProject = event.getProject();
@@ -205,7 +199,7 @@
ProjectMonitors monitors = new ProjectMonitors();
// remember the target so we can remove this monitors object later
monitors.setMainTarget(target);
- ArrayList<Target> targets = new ArrayList<Target>(1);
+ ArrayList<Target> targets= new ArrayList<Target>(1);
targets.add(target);
int work = computeWork(targets);
ProjectMonitors parentMonitors = null;
@@ -222,12 +216,9 @@
return monitors;
}
- /*
- * (non-Javadoc)
- *
+ /* (non-Javadoc)
* @see org.apache.tools.ant.BuildListener#targetFinished(org.apache.tools.ant.BuildEvent)
*/
- @Override
public void targetFinished(BuildEvent event) {
checkCanceled();
Project currentProject = event.getProject();
@@ -246,12 +237,9 @@
}
}
- /*
- * (non-Javadoc)
- *
+ /* (non-Javadoc)
* @see org.apache.tools.ant.BuildListener#taskStarted(org.apache.tools.ant.BuildEvent)
*/
- @Override
public void taskStarted(BuildEvent event) {
checkCanceled();
Project currentProject = event.getProject();
@@ -267,7 +255,7 @@
if (task == null) {
return;
}
- currentTaskThread = Thread.currentThread();
+ currentTaskThread= Thread.currentThread();
monitors.setTaskMonitor(subMonitorFor(monitors.getTargetMonitor(), 1));
monitors.getTaskMonitor().beginTask(IAntCoreConstants.EMPTY_STRING, 1);
// If this script is calling another one, track the project chain.
@@ -278,12 +266,9 @@
}
}
- /*
- * (non-Javadoc)
- *
+ /* (non-Javadoc)
* @see org.apache.tools.ant.BuildListener#taskFinished(org.apache.tools.ant.BuildEvent)
*/
- @Override
public void taskFinished(BuildEvent event) {
checkCanceled();
Project project = event.getProject();
@@ -296,29 +281,26 @@
return;
}
monitors.getTaskMonitor().done();
- currentTaskThread = null;
+ currentTaskThread= null;
}
- /*
- * (non-Javadoc)
- *
+ /* (non-Javadoc)
* @see org.apache.tools.ant.BuildListener#messageLogged(org.apache.tools.ant.BuildEvent)
*/
- @Override
public void messageLogged(BuildEvent event) {
checkCanceled();
}
protected void checkCanceled() {
- // only cancel if the current task thread matches the current thread
- // do not want to throw an exception in a separate thread or process
- // see bug 32657
+ //only cancel if the current task thread matches the current thread
+ //do not want to throw an exception in a separate thread or process
+ //see bug 32657
if (currentTaskThread != null && currentTaskThread != Thread.currentThread()) {
return;
}
ProjectMonitors monitors = projects.get(mainProject);
if (monitors.getMainMonitor().isCanceled()) {
- currentTaskThread = null;
+ currentTaskThread= null;
throw new OperationCanceledException(InternalAntMessages.ProgressBuildListener_Build_cancelled);
}
}
diff --git a/ant/org.eclipse.ant.launching/META-INF/MANIFEST.MF b/ant/org.eclipse.ant.launching/META-INF/MANIFEST.MF
index 525ee2c..cfc993f 100644
--- a/ant/org.eclipse.ant.launching/META-INF/MANIFEST.MF
+++ b/ant/org.eclipse.ant.launching/META-INF/MANIFEST.MF
@@ -10,7 +10,7 @@
org.eclipse.jdt.launching;bundle-version="[3.5.0,4.0.0)",
org.eclipse.core.variables;bundle-version="[3.2.0,4.0.0)",
org.eclipse.ant.core;bundle-version="[3.2.0,4.0.0)",
- org.apache.ant;bundle-version="1.9.2",
+ org.apache.ant;bundle-version="1.7.1",
org.eclipse.core.externaltools;bundle-version="[1.0.0,2.0.0)",
org.eclipse.text;bundle-version="[3.5.0,4.0.0)",
org.eclipse.jdt.core;bundle-version="[3.5.0,4.0.0)",
diff --git a/ant/org.eclipse.ant.launching/common/org/eclipse/ant/internal/launching/debug/AntDebugState.java b/ant/org.eclipse.ant.launching/common/org/eclipse/ant/internal/launching/debug/AntDebugState.java
index 280986f..c758410 100644
--- a/ant/org.eclipse.ant.launching/common/org/eclipse/ant/internal/launching/debug/AntDebugState.java
+++ b/ant/org.eclipse.ant.launching/common/org/eclipse/ant/internal/launching/debug/AntDebugState.java
@@ -28,70 +28,72 @@
import org.eclipse.ant.internal.launching.debug.model.DebugMessageIds;
public class AntDebugState {
-
- private static final String fgAntTaskName = "ant"; //$NON-NLS-1$
- private static final String fgAntCallTaskName = "antcall"; //$NON-NLS-1$
-
+
+ private static final String fgAntTaskName= "ant"; //$NON-NLS-1$
+ private static final String fgAntCallTaskName= "antcall"; //$NON-NLS-1$
+
private IDebugBuildLogger fLogger;
- private Stack<Task> fTasks = new Stack<Task>();
- private Map<Task, Object> fTaskToProxies = new HashMap<Task, Object>();
+ private Stack<Task> fTasks= new Stack<Task>();
+ private Map<Task, Object> fTaskToProxies= new HashMap<Task, Object>();
private Task fCurrentTask;
private Task fStepOverTask;
private Task fStepIntoTask;
private Task fLastTaskFinished;
-
- // properties set before execution
- private Map<String, Object> fInitialProperties = null;
- private Map<String, Object> fProperties = null;
-
- private Map<Project, Vector<?>> fProjectToTargetNames = null;
- private Map<Project, Map<Target, Vector<Target>>> fProjectToMapOfTargetToBuildSequence = null;
- private Stack<Target> fTargetsToExecute = new Stack<Target>();
- private Stack<Target> fTargetsExecuting = new Stack<Target>();
-
- private boolean fConsiderTargetBreakpoints = false;
+
+ //properties set before execution
+ //TODO ANT-1.9.1 API USE
+ private Map<?, ?> fInitialProperties= null;
+ private Map<?, ?> fProperties= null;
+
+ private Map<Project, Vector<?>> fProjectToTargetNames= null;
+ private Map<Project, Map<Target, Vector<?>>> fProjectToMapOfTargetToBuildSequence= null;
+ private Stack<Target> fTargetsToExecute= new Stack<Target>();
+ private Stack<Target> fTargetsExecuting= new Stack<Target>();
+
+ private boolean fConsiderTargetBreakpoints= false;
private boolean fShouldSuspend;
- private boolean fClientSuspend = false;
- private boolean fStepIntoSuspend = false;
- private boolean fIsAfterTaskEvent = false;
-
+ private boolean fClientSuspend= false;
+ private boolean fStepIntoSuspend= false;
+ private boolean fIsAfterTaskEvent= false;
+
+
public AntDebugState(IDebugBuildLogger logger) {
- fLogger = logger;
+ fLogger= logger;
}
public void buildStarted() {
- fProjectToTargetNames = new HashMap<Project, Vector<?>>();
- fProjectToMapOfTargetToBuildSequence = new HashMap<Project, Map<Target, Vector<Target>>>();
- }
-
- /**
- * Call-back from {@link org.eclipse.ant.internal.launching.runtime.logger.AntProcessDebugBuildLogger} when the build has finished
- *
- * @since 1.0.1
- */
- public void buildFinished() {
- if (fProjectToTargetNames != null) {
- fProjectToTargetNames.clear();
- }
- if (fProjectToMapOfTargetToBuildSequence != null) {
- fProjectToMapOfTargetToBuildSequence.clear();
- }
- fTargetsExecuting.clear();
- fTargetsToExecute.clear();
- if (fInitialProperties != null) {
- fInitialProperties.clear();
- }
- if (fProperties != null) {
- fProperties.clear();
- }
- if (fTaskToProxies != null) {
- fTaskToProxies.clear();
- }
- if (fTasks != null) {
- fTasks.clear();
- }
- }
-
+ fProjectToTargetNames= new HashMap<Project, Vector<?>>();
+ fProjectToMapOfTargetToBuildSequence= new HashMap<Project, Map<Target, Vector<?>>>();
+ }
+
+ /**
+ * Call-back from {@link org.eclipse.ant.internal.launching.runtime.logger.AntProcessDebugBuildLogger}
+ * when the build has finished
+ * @since 1.0.1
+ */
+ public void buildFinished() {
+ if(fProjectToTargetNames != null) {
+ fProjectToTargetNames.clear();
+ }
+ if(fProjectToMapOfTargetToBuildSequence != null) {
+ fProjectToMapOfTargetToBuildSequence.clear();
+ }
+ fTargetsExecuting.clear();
+ fTargetsToExecute.clear();
+ if(fInitialProperties != null) {
+ fInitialProperties.clear();
+ }
+ if(fProperties != null) {
+ fProperties.clear();
+ }
+ if(fTaskToProxies != null) {
+ fTaskToProxies.clear();
+ }
+ if(fTasks != null) {
+ fTasks.clear();
+ }
+ }
+
public void waitIfSuspended() {
fLogger.waitIfSuspended();
}
@@ -101,7 +103,7 @@
}
private void setLastTaskFinished(Task lastTaskFinished) {
- fLastTaskFinished = lastTaskFinished;
+ fLastTaskFinished= lastTaskFinished;
}
@@ -110,11 +112,11 @@
}
public void setCurrentTask(Task currentTask) {
- fCurrentTask = currentTask;
+ fCurrentTask= currentTask;
}
- private Map<String, Object> getInitialProperties() {
+ private Map<?, ?> getInitialProperties() {
return fInitialProperties;
}
@@ -123,7 +125,7 @@
}
public void setStepOverTask(Task stepOverTask) {
- fStepOverTask = stepOverTask;
+ fStepOverTask= stepOverTask;
}
@@ -132,54 +134,54 @@
}
private void setConsiderTargetBreakpoints(boolean considerTargetBreakpoints) {
- fConsiderTargetBreakpoints = considerTargetBreakpoints;
+ fConsiderTargetBreakpoints= considerTargetBreakpoints;
}
private Stack<Task> getTasks() {
return fTasks;
}
-
+
public void setShouldSuspend(boolean shouldSuspend) {
- fShouldSuspend = shouldSuspend;
+ fShouldSuspend= shouldSuspend;
}
public boolean shouldSuspend() {
return fShouldSuspend;
}
- private Map<Target, Vector<Target>> getTargetToBuildSequence(Project project) {
+ private Map<Target, Vector<?>> getTargetToBuildSequence(Project project) {
return fProjectToMapOfTargetToBuildSequence.get(project);
}
public void setTargetToExecute(Target target) {
- if (target == null) {
- fTargetsToExecute.pop();
- } else {
- fTargetsToExecute.push(target);
- }
+ if (target == null) {
+ fTargetsToExecute.pop();
+ } else {
+ fTargetsToExecute.push(target);
+ }
}
public void setTargetExecuting(Target target) {
- if (target == null) {
- if (!fTargetsExecuting.isEmpty()) {
- fTargetsExecuting.pop();
- }
- } else {
- fTargetsExecuting.push(target);
- }
+ if (target == null) {
+ if(!fTargetsExecuting.isEmpty()) {
+ fTargetsExecuting.pop();
+ }
+ } else {
+ fTargetsExecuting.push(target);
+ }
}
private Target getTargetToExecute() {
- if (fTargetsToExecute.isEmpty()) {
- return null;
- }
+ if (fTargetsToExecute.isEmpty()) {
+ return null;
+ }
return fTargetsToExecute.peek();
}
-
+
private Target getTargetExecuting() {
- if (fTargetsExecuting.isEmpty()) {
- return null;
- }
+ if (fTargetsExecuting.isEmpty()) {
+ return null;
+ }
return fTargetsExecuting.peek();
}
@@ -206,24 +208,24 @@
public void setStepIntoTask(Task stepIntoTask) {
fStepIntoTask = stepIntoTask;
}
-
+
public void resume() {
fLogger.notifyAll();
}
- public Map<String, Object> getProperties() {
+ public Map<?, ?> getProperties() {
return fProperties;
}
-
+
public Location getBreakpointLocation() {
if (isAfterTaskEvent() && getCurrentTask() != null) {
return getCurrentTask().getLocation();
}
if (considerTargetBreakpoints()) {
- Target targetExecuting = getTargetExecuting();
- if (targetExecuting != null) {
- return getLocation(targetExecuting);
- }
+ Target targetExecuting= getTargetExecuting();
+ if (targetExecuting != null) {
+ return getLocation(targetExecuting);
+ }
}
return null;
}
@@ -235,19 +237,19 @@
private void setAfterTaskEvent(boolean isAfterTaskEvent) {
fIsAfterTaskEvent = isAfterTaskEvent;
}
-
+
public void taskStarted(BuildEvent event) {
setAfterTaskEvent(true);
- if (getInitialProperties() == null) {// implicit or top level target does not fire targetStarted()
- fInitialProperties = event.getProject().getProperties();
+ if (getInitialProperties() == null) {//implicit or top level target does not fire targetStarted()
+ fInitialProperties= event.getProject().getProperties();
}
-
+
setCurrentTask(event.getTask());
setConsiderTargetBreakpoints(false);
Stack<Task> tasks = getTasks();
if (!tasks.isEmpty()) {
- // cache the parent task proxy as when that task is started or finished the
- // proxy is not yet available or is nulled out
+ //cache the parent task proxy as when that task is started or finished the
+ //proxy is not yet available or is nulled out
Task parentTask = tasks.peek();
Object proxy = parentTask.getRuntimeConfigurableWrapper().getProxy();
if (proxy != null) {
@@ -257,261 +259,262 @@
tasks.push(getCurrentTask());
waitIfSuspended();
}
+
- public void taskFinished() {
- Stack<Task> tasks = getTasks();
- if (!tasks.empty()) {
- Task lastTask = tasks.pop();
- setLastTaskFinished(lastTask);
- setCurrentTask(null);
- String taskName = lastTask.getTaskName();
+ public void taskFinished() {
+ Stack<Task> tasks = getTasks();
+ if(!tasks.empty()) {
+ Task lastTask= tasks.pop();
+ setLastTaskFinished(lastTask);
+ setCurrentTask(null);
+ String taskName= lastTask.getTaskName();
+
+ if (getStepOverTask() != null) {
+ if ((fgAntCallTaskName.equals(taskName) || fgAntTaskName.equals(taskName)) && (!fgAntCallTaskName.equals(getStepOverTask().getTaskName()) && !fgAntTaskName.equals(getStepOverTask().getTaskName()))) {
+ setShouldSuspend(true);
+ } else if (fTaskToProxies.remove(lastTask) instanceof MacroInstance) {
+ setShouldSuspend(true);
+ }
+ }
+ }
+ waitIfSuspended();
+ }
- if (getStepOverTask() != null) {
- if ((fgAntCallTaskName.equals(taskName) || fgAntTaskName.equals(taskName))
- && (!fgAntCallTaskName.equals(getStepOverTask().getTaskName()) && !fgAntTaskName.equals(getStepOverTask().getTaskName()))) {
- setShouldSuspend(true);
- } else if (fTaskToProxies.remove(lastTask) instanceof MacroInstance) {
- setShouldSuspend(true);
- }
- }
- }
- waitIfSuspended();
- }
+ public void stepOver() {
+ setStepOverTask(getCurrentTask());
+ if (getCurrentTask() == null) {
+ //stepping over target breakpoint
+ setShouldSuspend(true);
+ }
+ resume();
+ }
- public void stepOver() {
- setStepOverTask(getCurrentTask());
- if (getCurrentTask() == null) {
- // stepping over target breakpoint
- setShouldSuspend(true);
- }
- resume();
- }
-
- public void targetStarted(BuildEvent event) {
+ public void targetStarted(BuildEvent event) {
setAfterTaskEvent(false);
- Project eventProject = event.getProject();
- if (getInitialProperties() == null) {
- fInitialProperties = eventProject.getProperties();
- }
- if (fProjectToTargetNames.get(eventProject) == null) {
- Object ref = eventProject.getReference("eclipse.ant.targetVector"); //$NON-NLS-1$
- if (ref != null) {
- fProjectToTargetNames.put(eventProject, (Vector<?>) ref);
- HashMap<Target, Vector<Target>> targetToBuildSequence = new HashMap<Target, Vector<Target>>();
- setTargetToExecute(initializeBuildSequenceInformation(event, targetToBuildSequence));
- fProjectToMapOfTargetToBuildSequence.put(eventProject, targetToBuildSequence);
- }
- }
-
- setTargetExecuting(event.getTarget());
- if (event.getTarget().equals(getTargetToExecute())) {
- // the dependencies of the target to execute have been met
- // prepare for the next target
- Vector<?> targets = fProjectToTargetNames.get(eventProject);
- if (!targets.isEmpty()) {
- setTargetToExecute(eventProject.getTargets().get(targets.remove(0)));
- } else {
- setTargetToExecute(null);
- }
- }
- setConsiderTargetBreakpoints(true);
- }
+ Project eventProject = event.getProject();
+ if (getInitialProperties() == null) {
+ fInitialProperties= eventProject.getProperties();
+ }
+ if (fProjectToTargetNames.get(eventProject) == null) {
+ Object ref= eventProject.getReference("eclipse.ant.targetVector"); //$NON-NLS-1$
+ if (ref != null) {
+ fProjectToTargetNames.put(eventProject, (Vector<?>) ref);
+ HashMap<Target, Vector<?>> targetToBuildSequence = new HashMap<Target, Vector<?>>();
+ setTargetToExecute(initializeBuildSequenceInformation(event, targetToBuildSequence));
+ fProjectToMapOfTargetToBuildSequence.put(eventProject, targetToBuildSequence);
+ }
+ }
+
+ setTargetExecuting(event.getTarget());
+ if (event.getTarget().equals(getTargetToExecute())) {
+ //the dependencies of the target to execute have been met
+ //prepare for the next target
+ Vector<?> targets= fProjectToTargetNames.get(eventProject);
+ if (!targets.isEmpty()) {
+ setTargetToExecute((Target) eventProject.getTargets().get(targets.remove(0)));
+ } else {
+ setTargetToExecute(null);
+ }
+ }
+ setConsiderTargetBreakpoints(true);
+ }
public int getLineNumber(Location location) {
- try { // succeeds with Ant newer than 1.6
- return location.getLineNumber();
- }
- catch (NoSuchMethodError e) {
- // Ant before 1.6
- String locationString = location.toString();
- if (locationString.length() == 0) {
- return 0;
- }
- // filename: lineNumber: ("c:\buildfile.xml: 12: ")
- int lastIndex = locationString.lastIndexOf(':');
- int index = locationString.lastIndexOf(':', lastIndex - 1);
- if (index != -1) {
- try {
- return Integer.parseInt(locationString.substring(index + 1, lastIndex));
- }
- catch (NumberFormatException nfe) {
- return 0;
- }
- }
- return 0;
- }
+ try { //succeeds with Ant newer than 1.6
+ return location.getLineNumber();
+ } catch (NoSuchMethodError e) {
+ //Ant before 1.6
+ String locationString= location.toString();
+ if (locationString.length() == 0) {
+ return 0;
+ }
+ //filename: lineNumber: ("c:\buildfile.xml: 12: ")
+ int lastIndex= locationString.lastIndexOf(':');
+ int index =locationString.lastIndexOf(':', lastIndex - 1);
+ if (index != -1) {
+ try {
+ return Integer.parseInt(locationString.substring(index+1, lastIndex));
+ } catch (NumberFormatException nfe) {
+ return 0;
+ }
+ }
+ return 0;
+ }
}
public static Location getLocation(Target target) {
- try {// succeeds with Ant newer than 1.6.2
- return target.getLocation();
- }
- catch (NoSuchMethodError e) {
- return Location.UNKNOWN_LOCATION;
- }
+ try {//succeeds with Ant newer than 1.6.2
+ return target.getLocation();
+ } catch (NoSuchMethodError e) {
+ return Location.UNKNOWN_LOCATION;
+ }
}
public String getFileName(Location location) {
- try {// succeeds with Ant newer than 1.6
- return location.getFileName();
- }
- catch (NoSuchMethodError e) {
- // Ant before 1.6
- String locationString = location.toString();
- if (locationString.length() == 0) {
- return null;
- }
- // filename: lineNumber: ("c:\buildfile.xml: 12: ")
- int lastIndex = locationString.lastIndexOf(':');
- int index = locationString.lastIndexOf(':', lastIndex - 1);
- if (index == -1) {
- index = lastIndex; // only the filename is known
- }
- if (index != -1) {
- // bug 84403
- // if (locationString.startsWith("file:")) {
- // return FileUtils.newFileUtils().fromURI(locationString);
- // }
- // remove file:
- return locationString.substring(5, index);
- }
- return null;
- }
+ try {//succeeds with Ant newer than 1.6
+ return location.getFileName();
+ } catch (NoSuchMethodError e) {
+ //Ant before 1.6
+ String locationString= location.toString();
+ if (locationString.length() == 0) {
+ return null;
+ }
+ //filename: lineNumber: ("c:\buildfile.xml: 12: ")
+ int lastIndex= locationString.lastIndexOf(':');
+ int index =locationString.lastIndexOf(':', lastIndex-1);
+ if (index == -1) {
+ index= lastIndex; //only the filename is known
+ }
+ if (index != -1) {
+ //bug 84403
+ //if (locationString.startsWith("file:")) {
+ // return FileUtils.newFileUtils().fromURI(locationString);
+ //}
+ //remove file:
+ return locationString.substring(5, index);
+ }
+ return null;
+ }
}
private void appendToStack(StringBuffer stackRepresentation, String targetName, String taskName, Location location) {
- stackRepresentation.append(targetName);
- stackRepresentation.append(DebugMessageIds.MESSAGE_DELIMITER);
- stackRepresentation.append(taskName);
- stackRepresentation.append(DebugMessageIds.MESSAGE_DELIMITER);
-
- stackRepresentation.append(getFileName(location));
- stackRepresentation.append(DebugMessageIds.MESSAGE_DELIMITER);
- stackRepresentation.append(getLineNumber(location));
- stackRepresentation.append(DebugMessageIds.MESSAGE_DELIMITER);
+ stackRepresentation.append(targetName);
+ stackRepresentation.append(DebugMessageIds.MESSAGE_DELIMITER);
+ stackRepresentation.append(taskName);
+ stackRepresentation.append(DebugMessageIds.MESSAGE_DELIMITER);
+
+ stackRepresentation.append(getFileName(location));
+ stackRepresentation.append(DebugMessageIds.MESSAGE_DELIMITER);
+ stackRepresentation.append(getLineNumber(location));
+ stackRepresentation.append(DebugMessageIds.MESSAGE_DELIMITER);
}
public void marshalStack(StringBuffer stackRepresentation) {
- Stack<Task> tasks = getTasks();
-
- stackRepresentation.append(DebugMessageIds.STACK);
- stackRepresentation.append(DebugMessageIds.MESSAGE_DELIMITER);
-
- Target targetToExecute = getTargetToExecute();
- Target targetExecuting = getTargetExecuting();
-
- Project projectExecuting = null;
- if (targetExecuting != null) {
- projectExecuting = targetExecuting.getProject();
- } else if (!tasks.empty()) { // no target...must be a task
- Task task = tasks.peek();
- projectExecuting = task.getProject();
- }
-
+ Stack<Task> tasks= getTasks();
+
+ stackRepresentation.append(DebugMessageIds.STACK);
+ stackRepresentation.append(DebugMessageIds.MESSAGE_DELIMITER);
+
+ Target targetToExecute= getTargetToExecute();
+ Target targetExecuting= getTargetExecuting();
+
+ Project projectExecuting= null;
+ if (targetExecuting != null) {
+ projectExecuting= targetExecuting.getProject();
+ } else if(!tasks.empty()) { //no target...must be a task
+ Task task= tasks.peek();
+ projectExecuting= task.getProject();
+ }
+
if (!isAfterTaskEvent()) {
appendToStack(stackRepresentation, targetExecuting.getName(), IAntCoreConstants.EMPTY_STRING, getLocation(targetExecuting));
}
- for (int i = tasks.size() - 1; i >= 0; i--) {
- Task task = tasks.get(i);
- if (task.getProject() == projectExecuting) {
- appendToStack(stackRepresentation, task.getOwningTarget().getName(), task.getTaskName(), task.getLocation());
- } else {
- // sub build target dependencies
- String targetName = task.getOwningTarget().getName();
- if (targetName != null && targetName.length() != 0) { // skip for implicit target
- Iterator<Target> itr = fTargetsToExecute.iterator();
- while (itr.hasNext()) {
- Target target = itr.next();
- if (target.getProject() != projectExecuting) {
- targetToExecute = target;
- continue;
- }
- marshalTargetDependancyStack(stackRepresentation, target, targetExecuting);
- }
- }
- projectExecuting = task.getProject();
- targetExecuting = task.getOwningTarget();
- appendToStack(stackRepresentation, targetExecuting.getName(), task.getTaskName(), task.getLocation());
- }
+ for (int i = tasks.size() - 1; i >= 0 ; i--) {
+ Task task= tasks.get(i);
+ if (task.getProject() == projectExecuting) {
+ appendToStack(stackRepresentation, task.getOwningTarget().getName(), task.getTaskName(), task.getLocation());
+ } else {
+ //sub build target dependencies
+ String targetName= task.getOwningTarget().getName();
+ if (targetName != null && targetName.length() != 0) { //skip for implicit target
+ Iterator<Target> itr= fTargetsToExecute.iterator();
+ while (itr.hasNext()) {
+ Target target= itr.next();
+ if (target.getProject() != projectExecuting) {
+ targetToExecute= target;
+ continue;
+ }
+ marshalTargetDependancyStack(stackRepresentation, target, targetExecuting);
+ }
+ }
+ projectExecuting= task.getProject();
+ targetExecuting= task.getOwningTarget();
+ appendToStack(stackRepresentation, targetExecuting.getName(), task.getTaskName(), task.getLocation());
+ }
}
- // target dependency stack
+ //target dependency stack
marshalTargetDependancyStack(stackRepresentation, targetToExecute, targetExecuting);
}
- private void marshalTargetDependancyStack(StringBuffer stackRepresentation, Target targetToExecute, Target targetExecuting) {
- if (targetToExecute != null) {
- Vector<Target> buildSequence = getTargetToBuildSequence(targetToExecute.getProject()).get(targetToExecute);
- int startIndex = buildSequence.indexOf(targetExecuting) + 1;
- int dependancyStackDepth = buildSequence.indexOf(targetToExecute);
-
- Target stackTarget;
- for (int i = startIndex; i <= dependancyStackDepth; i++) {
- stackTarget = buildSequence.get(i);
- if (stackTarget.dependsOn(targetExecuting.getName())) {
- appendToStack(stackRepresentation, stackTarget.getName(), IAntCoreConstants.EMPTY_STRING, getLocation(stackTarget));
- }
- }
- }
- }
+ private void marshalTargetDependancyStack(StringBuffer stackRepresentation, Target targetToExecute, Target targetExecuting) {
+ if (targetToExecute != null) {
+ Vector<?> buildSequence= getTargetToBuildSequence(targetToExecute.getProject()).get(targetToExecute);
+ int startIndex= buildSequence.indexOf(targetExecuting) + 1;
+ int dependancyStackDepth= buildSequence.indexOf(targetToExecute);
+
+ Target stackTarget;
+ for (int i = startIndex; i <= dependancyStackDepth; i++) {
+ stackTarget= (Target) buildSequence.get(i);
+ if (stackTarget.dependsOn(targetExecuting.getName())) {
+ appendToStack(stackRepresentation, stackTarget.getName(), IAntCoreConstants.EMPTY_STRING, getLocation(stackTarget));
+ }
+ }
+ }
+ }
public void marshallProperties(StringBuffer propertiesRepresentation, boolean escapeLineSep) {
Stack<Task> tasks = getTasks();
if (tasks.isEmpty()) {
return;
}
- propertiesRepresentation.append(DebugMessageIds.PROPERTIES);
- propertiesRepresentation.append(DebugMessageIds.MESSAGE_DELIMITER);
-
- Project project = tasks.peek().getProject();
- Map<String, Object> lastProperties = getProperties();
-
- Map<String, Object> currentProperties = project.getProperties();
- if (lastProperties != null && currentProperties.size() == lastProperties.size()) {
- // no new properties
- return;
- }
-
- Map<String, Object> initialProperties = getInitialProperties();
- Map<String, Object> currentUserProperties = project.getUserProperties();
+ propertiesRepresentation.append(DebugMessageIds.PROPERTIES);
+ propertiesRepresentation.append(DebugMessageIds.MESSAGE_DELIMITER);
+
+ Project project= tasks.peek().getProject();
+ Map<?, ?> lastProperties= getProperties();
+
+ //TODO ANT-1.9.1 API USE
+ Map<?, ?> currentProperties= project.getProperties();
+ if (lastProperties != null && currentProperties.size() == lastProperties.size()) {
+ //no new properties
+ return;
+ }
+
+ Map<?, ?> initialProperties= getInitialProperties();
+ Map<?, ?> currentUserProperties= project.getUserProperties();
+ Iterator<?> iter= currentProperties.keySet().iterator();
+ String propertyName;
String originalPropertyName;
- String propertyValue;
- for (String propertyName : currentProperties.keySet()) {
- originalPropertyName = propertyName;
- if (lastProperties == null || lastProperties.get(propertyName) == null) { // new property
+ String propertyValue;
+ while (iter.hasNext()) {
+ propertyName = (String) iter.next();
+ originalPropertyName= propertyName;
+ if (lastProperties == null || lastProperties.get(propertyName) == null) { //new property
if (escapeLineSep) {
- propertyName = escapeLineSeparator(propertyName);
+ propertyName= escapeLineSeparator(propertyName);
}
- propertiesRepresentation.append(propertyName.length());
- propertiesRepresentation.append(DebugMessageIds.MESSAGE_DELIMITER);
- propertiesRepresentation.append(propertyName);
- propertiesRepresentation.append(DebugMessageIds.MESSAGE_DELIMITER);
- propertyValue = (String) currentProperties.get(originalPropertyName);
+ propertiesRepresentation.append(propertyName.length());
+ propertiesRepresentation.append(DebugMessageIds.MESSAGE_DELIMITER);
+ propertiesRepresentation.append(propertyName);
+ propertiesRepresentation.append(DebugMessageIds.MESSAGE_DELIMITER);
+ propertyValue= (String) currentProperties.get(originalPropertyName);
if (escapeLineSep) {
- propertyValue = escapeLineSeparator(propertyValue);
+ propertyValue= escapeLineSeparator(propertyValue);
}
- propertiesRepresentation.append(propertyValue.length());
- propertiesRepresentation.append(DebugMessageIds.MESSAGE_DELIMITER);
+ propertiesRepresentation.append(propertyValue.length());
+ propertiesRepresentation.append(DebugMessageIds.MESSAGE_DELIMITER);
propertiesRepresentation.append(propertyValue);
- propertiesRepresentation.append(DebugMessageIds.MESSAGE_DELIMITER);
- propertiesRepresentation.append(getPropertyType(initialProperties, currentUserProperties, originalPropertyName));
- propertiesRepresentation.append(DebugMessageIds.MESSAGE_DELIMITER);
- }
- }
- propertiesRepresentation.deleteCharAt(propertiesRepresentation.length() - 1);
- fProperties = currentProperties;
+ propertiesRepresentation.append(DebugMessageIds.MESSAGE_DELIMITER);
+ propertiesRepresentation.append(getPropertyType(initialProperties, currentUserProperties, originalPropertyName));
+ propertiesRepresentation.append(DebugMessageIds.MESSAGE_DELIMITER);
+ }
+ }
+
+ propertiesRepresentation.deleteCharAt(propertiesRepresentation.length() - 1);
+ fProperties= currentProperties;
}
- private int getPropertyType(Map<String, Object> initialProperties, Map<String, Object> currentUserProperties, String propertyName) {
- if (initialProperties.get(propertyName) != null) { // properties set before the start of the build
- if (currentUserProperties.get(propertyName) == null) {
- return DebugMessageIds.PROPERTY_SYSTEM;
- }
+ private int getPropertyType(Map<?, ?> initialProperties, Map<?, ?> currentUserProperties, String propertyName) {
+ if (initialProperties.get(propertyName) != null) { //properties set before the start of the build
+ if (currentUserProperties.get(propertyName) == null) {
+ return DebugMessageIds.PROPERTY_SYSTEM;
+ }
return DebugMessageIds.PROPERTY_USER;
- } else if (currentUserProperties.get(propertyName) == null) {
- return DebugMessageIds.PROPERTY_RUNTIME;
+ } else if (currentUserProperties.get(propertyName) == null){
+ return DebugMessageIds.PROPERTY_RUNTIME;
} else {
- return DebugMessageIds.PROPERTY_USER;
+ return DebugMessageIds.PROPERTY_USER;
}
}
@@ -519,44 +522,48 @@
if (!(stringToEscape.indexOf('\r') != -1 || stringToEscape.indexOf('\n') != -1 || stringToEscape.indexOf("\\r") != -1 || stringToEscape.indexOf("\\n") != -1)) { //$NON-NLS-1$ //$NON-NLS-2$
return stringToEscape;
}
- StringBuffer escapedValue = new StringBuffer(stringToEscape);
- for (int i = 0; i < escapedValue.length(); i++) {
+ StringBuffer escapedValue= new StringBuffer(stringToEscape);
+ for (int i= 0; i < escapedValue.length(); i++) {
switch (escapedValue.charAt(i)) {
- case '\r':
- escapedValue.replace(i, i + 1, "\\r"); //$NON-NLS-1$
+ case '\r':
+ escapedValue.replace(i, i+1, "\\r"); //$NON-NLS-1$
+ i++;
+ break;
+ case '\n':
+ escapedValue.replace(i, i+1, "\\n"); //$NON-NLS-1$
+ i++;
+ break;
+ case '\\':
+ if (escapedValue.charAt(i + 1) == 'r' || escapedValue.charAt(i + 1) == 'n') {
+ escapedValue.replace(i, i+1, "\\\\"); //$NON-NLS-1$
i++;
- break;
- case '\n':
- escapedValue.replace(i, i + 1, "\\n"); //$NON-NLS-1$
- i++;
- break;
- case '\\':
- if (escapedValue.charAt(i + 1) == 'r' || escapedValue.charAt(i + 1) == 'n') {
- escapedValue.replace(i, i + 1, "\\\\"); //$NON-NLS-1$
- i++;
- }
- break;
- default:
- break;
+ }
+ break;
+ default:
+ break;
}
}
return escapedValue.toString();
}
- private Target initializeBuildSequenceInformation(BuildEvent event, Map<Target, Vector<Target>> targetToBuildSequence) {
- Project antProject = event.getProject();
- Vector<String> targets = (Vector<String>) antProject.getReference("eclipse.ant.targetVector"); //$NON-NLS-1$
- if (targets == null) {
- return null;
- }
- Hashtable<String, Target> allTargets = antProject.getTargets();
- Vector<Target> sortedTargets;
- for (String targetName : targets) {
- sortedTargets = antProject.topoSort(targetName, allTargets);
- targetToBuildSequence.put(allTargets.get(targetName), sortedTargets);
- }
- // the target to execute
- return allTargets.get(targets.remove(0));
+ private Target initializeBuildSequenceInformation(BuildEvent event, Map<Target, Vector<?>> targetToBuildSequence) {
+ Project antProject= event.getProject();
+ Vector<?> targets= (Vector<?>) antProject.getReference("eclipse.ant.targetVector"); //$NON-NLS-1$
+ if (targets == null) {
+ return null;
+ }
+ Iterator<?> itr= targets.iterator();
+ //TODO ANT-1.9.1 API USE
+ Hashtable<?, ?> allTargets = antProject.getTargets();
+ String targetName;
+ Vector<?> sortedTargets;
+ while (itr.hasNext()) {
+ targetName= (String) itr.next();
+ sortedTargets= antProject.topoSort(targetName, allTargets);
+ targetToBuildSequence.put((Target) allTargets.get(targetName), sortedTargets);
+ }
+ //the target to execute
+ return (Target) allTargets.get(targets.remove(0));
}
}
diff --git a/ant/org.eclipse.ant.tests.core/META-INF/MANIFEST.MF b/ant/org.eclipse.ant.tests.core/META-INF/MANIFEST.MF
index d330e15..cc3bd08 100644
--- a/ant/org.eclipse.ant.tests.core/META-INF/MANIFEST.MF
+++ b/ant/org.eclipse.ant.tests.core/META-INF/MANIFEST.MF
@@ -11,7 +11,7 @@
org.eclipse.ant.tests.core.testplugin,
org.eclipse.ant.tests.core.tests
Require-Bundle: org.eclipse.ui.ide;resolution:=optional,
- org.apache.ant;bundle-version="1.9.2",
+ org.apache.ant;bundle-version="1.8.4",
org.junit,
org.eclipse.core.resources,
org.eclipse.ui,
diff --git a/ant/org.eclipse.ant.tests.core/buildfiles/buildAntTestsSupportJAR.xml b/ant/org.eclipse.ant.tests.core/buildfiles/buildAntTestsSupportJAR.xml
index 7dac400..8b57ae7 100644
--- a/ant/org.eclipse.ant.tests.core/buildfiles/buildAntTestsSupportJAR.xml
+++ b/ant/org.eclipse.ant.tests.core/buildfiles/buildAntTestsSupportJAR.xml
Binary files differ
diff --git a/ant/org.eclipse.ant.tests.core/test plugin/org/eclipse/ant/tests/core/testplugin/AntTestChecker.java b/ant/org.eclipse.ant.tests.core/test plugin/org/eclipse/ant/tests/core/testplugin/AntTestChecker.java
index 1f55391..e1e5509 100644
--- a/ant/org.eclipse.ant.tests.core/test plugin/org/eclipse/ant/tests/core/testplugin/AntTestChecker.java
+++ b/ant/org.eclipse.ant.tests.core/test plugin/org/eclipse/ant/tests/core/testplugin/AntTestChecker.java
@@ -10,51 +10,52 @@
*******************************************************************************/
package org.eclipse.ant.tests.core.testplugin;
+
import java.util.ArrayList;
import java.util.Hashtable;
import java.util.List;
public class AntTestChecker {
-
- private static AntTestChecker deflt = null;
-
+
+ private static AntTestChecker deflt= null;
+
private int taskStartedCount;
-
+
private int taskFinishedCount;
-
+
private int targetsStartedCount;
-
+
private int targetsFinishedCount;
-
+
private int buildsStartedCount;
-
+
private int buildsFinishedCount;
-
- private List<String> messages = new ArrayList<String>();
-
- private List<String> targets = new ArrayList<String>();
-
- private List<String> tasks = new ArrayList<String>();
-
- private List<String> projects = new ArrayList<String>();
-
- private Hashtable<String, Object> userProperties;
-
- private List<String> nameOfListeners = new ArrayList<String>();
-
- private AntTestChecker() {
+
+ private List<String> messages= new ArrayList<String>();
+
+ private List<String> targets= new ArrayList<String>();
+
+ private List<String> tasks= new ArrayList<String>();
+
+ private List<String> projects= new ArrayList<String>();
+
+ private Hashtable<String, String> userProperties;
+
+ private List<String> nameOfListeners= new ArrayList<String>();
+
+ private AntTestChecker() {
}
-
+
/**
* Returns the singleton AntTestChecker
*/
public static AntTestChecker getDefault() {
if (deflt == null) {
- deflt = new AntTestChecker();
+ deflt= new AntTestChecker();
}
return deflt;
}
-
+
/**
* Resets the singleton AntTestChecker
*/
@@ -63,7 +64,6 @@
deflt.resetState();
}
}
-
/**
* @see org.apache.tools.ant.BuildListener#buildFinished(org.apache.tools.ant.BuildEvent)
*/
@@ -71,11 +71,13 @@
buildsFinishedCount++;
}
+
public void buildStarted(String projectName) {
buildsStartedCount++;
projects.add(projectName);
}
+
public void messageLogged(String message) {
messages.add(message);
}
@@ -109,10 +111,9 @@
taskStartedCount++;
tasks.add(taskName);
}
-
+
/**
* Returns the buildsFinishedCount.
- *
* @return int
*/
public int getBuildsFinishedCount() {
@@ -121,7 +122,6 @@
/**
* Returns the buildsStartedCount.
- *
* @return int
*/
public int getBuildsStartedCount() {
@@ -130,7 +130,6 @@
/**
* Returns the messagesLoggedCount.
- *
* @return int
*/
public int getMessagesLoggedCount() {
@@ -139,7 +138,6 @@
/**
* Returns the targetsFinishedCount.
- *
* @return int
*/
public int getTargetsFinishedCount() {
@@ -148,7 +146,6 @@
/**
* Returns the targetsStartedCount.
- *
* @return int
*/
public int getTargetsStartedCount() {
@@ -157,7 +154,6 @@
/**
* Returns the taskFinishedCount.
- *
* @return int
*/
public int getTaskFinishedCount() {
@@ -166,67 +162,67 @@
/**
* Returns the taskStartedCount.
- *
* @return int
*/
public int getTaskStartedCount() {
return taskStartedCount;
}
-
+
protected void resetState() {
- taskStartedCount = 0;
- taskFinishedCount = 0;
- targetsStartedCount = 0;
- targetsFinishedCount = 0;
- buildsStartedCount = 0;
- buildsFinishedCount = 0;
- messages = new ArrayList<String>();
- tasks = new ArrayList<String>();
- targets = new ArrayList<String>();
- projects = new ArrayList<String>();
- userProperties = null;
- nameOfListeners = new ArrayList<String>();
+ taskStartedCount= 0;
+ taskFinishedCount= 0;
+ targetsStartedCount= 0;
+ targetsFinishedCount= 0;
+ buildsStartedCount= 0;
+ buildsFinishedCount= 0;
+ messages= new ArrayList<String>();
+ tasks= new ArrayList<String>();
+ targets= new ArrayList<String>();
+ projects= new ArrayList<String>();
+ userProperties= null;
+ nameOfListeners= new ArrayList<String>();
}
-
+
/**
- * Return the message n from the last: e.g. getLoggedMessage(0) returns the most recent message
- *
- * @param n
- * message index
+ * Return the message n from the last:
+ * e.g. getLoggedMessage(0) returns the most recent message
+ *
+ * @param n message index
* @return the nth last message
*/
- public String getLoggedMessage(int n) {
- int idx = messages.size() - (n + 1);
- if ((idx < 0) || (idx >= messages.size())) {
- return null;
- }
- return messages.get(idx);
- }
+ public String getLoggedMessage(int n) {
+ int idx = messages.size() - (n + 1);
+ if ((idx < 0) || (idx >= messages.size())) {
+ return null;
+ }
+ return messages.get(idx);
+ }
- public String getLastMessageLogged() {
- return getLoggedMessage(0);
- }
-
- public void setUserProperties(Hashtable<String, Object> userProperties) {
- this.userProperties = userProperties;
+ public String getLastMessageLogged() {
+ return getLoggedMessage(0);
+ }
+
+ public void setUserProperties(Hashtable<String, String> userProperties) {
+ this.userProperties= userProperties;
}
public String getUserProperty(String name) {
- return (String) userProperties.get(name);
+ return userProperties.get(name);
}
-
+
public List<String> getMessages() {
return messages;
}
-
+
public List<String> getListeners() {
return nameOfListeners;
}
-
+
public String getLastListener() {
return nameOfListeners.get(nameOfListeners.size() - 1);
}
+
public void addNameOfListener(String nameOfListener) {
this.nameOfListeners.add(nameOfListener);
}
diff --git a/ant/org.eclipse.ant.tests.core/test support/org/eclipse/ant/tests/core/support/testloggers/TestBuildLogger.java b/ant/org.eclipse.ant.tests.core/test support/org/eclipse/ant/tests/core/support/testloggers/TestBuildLogger.java
index 6af6f19..112b3c7 100644
--- a/ant/org.eclipse.ant.tests.core/test support/org/eclipse/ant/tests/core/support/testloggers/TestBuildLogger.java
+++ b/ant/org.eclipse.ant.tests.core/test support/org/eclipse/ant/tests/core/support/testloggers/TestBuildLogger.java
@@ -10,10 +10,10 @@
*******************************************************************************/
package org.eclipse.ant.tests.core.support.testloggers;
+
import java.io.PrintStream;
import org.apache.tools.ant.BuildEvent;
-import org.apache.tools.ant.BuildListener;
import org.apache.tools.ant.BuildLogger;
import org.apache.tools.ant.Project;
import org.eclipse.ant.core.AntSecurityException;
@@ -22,27 +22,27 @@
public class TestBuildLogger implements BuildLogger {
- private int fMessageOutputLevel = Project.MSG_INFO;
- private PrintStream fErr = null;
- private PrintStream fOut = null;
- private boolean fSetProperties = true;
-
+ private int fMessageOutputLevel= Project.MSG_INFO;
+ private PrintStream fErr= null;
+ private PrintStream fOut= null;
+ private boolean fSetProperties= true;
+
/**
* An exception that has already been logged.
*/
- private Throwable fHandledException = null;
-
+ private Throwable fHandledException= null;
+
+
public TestBuildLogger() {
}
-
+
/**
* @see org.apache.tools.ant.BuildLogger#setMessageOutputLevel(int)
*/
- @Override
public void setMessageOutputLevel(int level) {
- fMessageOutputLevel = level;
+ fMessageOutputLevel= level;
}
-
+
protected int getMessageOutputLevel() {
return fMessageOutputLevel;
}
@@ -50,15 +50,13 @@
/**
* @see org.apache.tools.ant.BuildLogger#setEmacsMode(boolean)
*/
- @Override
public void setEmacsMode(boolean emacsMode) {
- // do nothing
+ //do nothing
}
/**
* @see org.apache.tools.ant.BuildListener#buildStarted(org.apache.tools.ant.BuildEvent)
*/
- @Override
public void buildStarted(BuildEvent event) {
AntTestChecker.getDefault().buildStarted(event.getProject().getName());
}
@@ -66,29 +64,27 @@
/**
* @see org.apache.tools.ant.BuildListener#buildFinished(org.apache.tools.ant.BuildEvent)
*/
- @Override
public void buildFinished(BuildEvent event) {
handleException(event);
- fHandledException = null;
+ fHandledException= null;
AntTestChecker.getDefault().buildFinished();
}
/**
* @see org.apache.tools.ant.BuildListener#targetStarted(org.apache.tools.ant.BuildEvent)
*/
- @Override
public void targetStarted(BuildEvent event) {
AntTestChecker.getDefault().targetStarted(event.getTarget().getName());
- if (fSetProperties) {
- fSetProperties = false;
- AntTestChecker.getDefault().setUserProperties(event.getProject().getProperties());
- }
+ if (fSetProperties) {
+ fSetProperties= false;
+ //TODO ANT-1.9.1 API USE
+ AntTestChecker.getDefault().setUserProperties(event.getProject().getProperties());
+ }
}
/**
* @see org.apache.tools.ant.BuildListener#targetFinished(org.apache.tools.ant.BuildEvent)
*/
- @Override
public void targetFinished(BuildEvent event) {
handleException(event);
AntTestChecker.getDefault().targetFinished();
@@ -97,7 +93,6 @@
/**
* @see org.apache.tools.ant.BuildListener#taskStarted(org.apache.tools.ant.BuildEvent)
*/
- @Override
public void taskStarted(BuildEvent event) {
AntTestChecker.getDefault().taskStarted(event.getTask().getTaskName());
}
@@ -105,7 +100,6 @@
/**
* @see org.apache.tools.ant.BuildListener#taskFinished(org.apache.tools.ant.BuildEvent)
*/
- @Override
public void taskFinished(BuildEvent event) {
handleException(event);
AntTestChecker.getDefault().targetFinished();
@@ -114,7 +108,6 @@
/**
* @see BuildListener#messageLogged(BuildEvent)
*/
- @Override
public void messageLogged(BuildEvent event) {
if (event.getPriority() > getMessageOutputLevel()) {
return;
@@ -126,63 +119,62 @@
protected PrintStream getErrorPrintStream() {
return fErr;
}
-
+
protected PrintStream getOutputPrintStream() {
return fOut;
}
-
+
/**
* @see org.apache.tools.ant.BuildLogger#setErrorPrintStream(java.io.PrintStream)
*/
- @Override
public void setErrorPrintStream(PrintStream err) {
- // this build logger logs to "null" unless
- // the user has explicitly set a logfile to use
+ //this build logger logs to "null" unless
+ //the user has explicitly set a logfile to use
if (err == System.err) {
- fErr = null;
+ fErr= null;
} else {
- fErr = err;
+ fErr= err;
}
}
/**
* @see org.apache.tools.ant.BuildLogger#setOutputPrintStream(java.io.PrintStream)
*/
- @Override
public void setOutputPrintStream(PrintStream output) {
- // this build logger logs to "null" unless
- // the user has explicitly set a logfile to use
+ //this build logger logs to "null" unless
+ //the user has explicitly set a logfile to use
if (output == System.out) {
- fOut = null;
+ fOut= null;
} else {
- fOut = output;
+ fOut= output;
}
}
-
+
protected void logMessage(String message, int priority) {
if (priority > getMessageOutputLevel()) {
return;
}
-
+
if (priority == Project.MSG_ERR) {
if (getErrorPrintStream() != null && getErrorPrintStream() != System.err) {
- // user has designated to log to a logfile
+ //user has designated to log to a logfile
getErrorPrintStream().println(message);
}
} else {
if (getOutputPrintStream() != null && getOutputPrintStream() != System.out) {
- // user has designated to log to a logfile
+ //user has designated to log to a logfile
getOutputPrintStream().println(message);
- }
+ }
}
}
-
+
protected void handleException(BuildEvent event) {
Throwable exception = event.getException();
- if (exception == null || exception == fHandledException || exception instanceof OperationCanceledException
- || exception instanceof AntSecurityException) {
+ if (exception == null || exception == fHandledException
+ || exception instanceof OperationCanceledException
+ || exception instanceof AntSecurityException) {
return;
}
- fHandledException = exception;
+ fHandledException= exception;
}
}
diff --git a/ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/tests/OptionTests.java b/ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/tests/OptionTests.java
index 2e9e967..e04ead1 100644
--- a/ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/tests/OptionTests.java
+++ b/ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/tests/OptionTests.java
@@ -10,6 +10,7 @@
*******************************************************************************/
package org.eclipse.ant.tests.core.tests;
+
import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;
@@ -23,615 +24,605 @@
import org.eclipse.core.runtime.CoreException;
public class OptionTests extends AbstractAntTest {
-
+
protected static final String UNKNOWN_ARG = "Unknown argument: "; //$NON-NLS-1$
protected static final String START_OF_HELP = "ant [options] [target [target2 [target3] ...]]"; //$NON-NLS-1$
- protected static final String VERSION = "Apache Ant(TM) version 1.9.2 compiled on July 8 2013"; //$NON-NLS-1$
- protected static final String PLUGIN_VERSION = "org.apache.ant_1.9.2"; //$NON-NLS-1$
-
+ protected static final String VERSION = "Apache Ant(TM) version 1.8.4 compiled on May 22 2012"; //$NON-NLS-1$
+ protected static final String PLUGIN_VERSION = "org.apache.ant_1.8.4"; //$NON-NLS-1$
+
public OptionTests(String name) {
super(name);
}
-
+
/**
* Tests the "-help" option
*/
public void testHelp() throws CoreException {
- run("TestForEcho.xml", new String[] { "-help" }); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals("incorrect message number logged", 34, AntTestChecker.getDefault().getMessagesLoggedCount()); //$NON-NLS-1$
+ run("TestForEcho.xml", new String[]{"-help"}); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals("incorrect message number logged", 35, AntTestChecker.getDefault().getMessagesLoggedCount()); //$NON-NLS-1$
assertTrue("Help is incorrect", getLastMessageLogged() != null && AntTestChecker.getDefault().getMessages().get(0).startsWith(START_OF_HELP)); //$NON-NLS-1$
}
-
+
/**
* Tests the "-h" option (help)
*/
public void testMinusH() throws CoreException {
- run("TestForEcho.xml", new String[] { "-h" }); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals("incorrect message number logged", 34, AntTestChecker.getDefault().getMessagesLoggedCount()); //$NON-NLS-1$
+ run("TestForEcho.xml", new String[]{"-h"}); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals("incorrect message number logged", 35, AntTestChecker.getDefault().getMessagesLoggedCount()); //$NON-NLS-1$
assertTrue("Help is incorrect", getLastMessageLogged() != null && AntTestChecker.getDefault().getMessages().get(0).startsWith(START_OF_HELP)); //$NON-NLS-1$
}
-
+
/**
* Tests the "-version" option
*/
public void testVersion() throws CoreException {
- run("TestForEcho.xml", new String[] { "-version" }); //$NON-NLS-1$ //$NON-NLS-2$
+ run("TestForEcho.xml", new String[]{"-version"}); //$NON-NLS-1$ //$NON-NLS-2$
assertTrue("One message should have been logged", AntTestChecker.getDefault().getMessagesLoggedCount() == 1); //$NON-NLS-1$
assertEquals("Version is incorrect: ", VERSION, getLastMessageLogged()); //$NON-NLS-1$
}
-
+
/**
* Tests the "-projecthelp" option
*/
public void testProjecthelp() throws CoreException {
- run("TestForEcho.xml", new String[] { "-projecthelp" }); //$NON-NLS-1$ //$NON-NLS-2$
+ run("TestForEcho.xml", new String[]{"-projecthelp"}); //$NON-NLS-1$ //$NON-NLS-2$
assertEquals("Incorrect number of messages", 4, AntTestChecker.getDefault().getMessagesLoggedCount()); //$NON-NLS-1$
assertTrue("Project help is incorrect", getLastMessageLogged().startsWith("Default target:")); //$NON-NLS-1$ //$NON-NLS-2$
}
-
+
/**
* Tests the "-p" option (project help)
*/
public void testMinusP() throws CoreException {
- run("TestForEcho.xml", new String[] { "-p" }); //$NON-NLS-1$ //$NON-NLS-2$
+ run("TestForEcho.xml", new String[]{"-p"}); //$NON-NLS-1$ //$NON-NLS-2$
assertEquals("Incorrect number of messages", 4, AntTestChecker.getDefault().getMessagesLoggedCount()); //$NON-NLS-1$
assertTrue("Project help is incorrect", getLastMessageLogged().startsWith("Default target:")); //$NON-NLS-1$ //$NON-NLS-2$
}
-
+
/**
* Tests the "-projecthelp" option when it will not show as much (quite mode)
*/
public void testProjecthelpQuiet() throws CoreException {
- run("TestForEcho.xml", new String[] { "-projecthelp", "-q" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ run("TestForEcho.xml", new String[]{"-projecthelp", "-q"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
assertEquals(1, AntTestChecker.getDefault().getMessagesLoggedCount());
}
-
+
/**
* Tests the "-listener" option with a listener that is not an instance of BuildListener
*/
public void testListenerBad() {
try {
- run("TestForEcho.xml", new String[] { "-listener", "java.lang.String" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- catch (CoreException ce) {
- String msg = ce.getMessage();
+ run("TestForEcho.xml", new String[]{"-listener", "java.lang.String"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ } catch (CoreException ce) {
+ String msg= ce.getMessage();
assertTrue("Message incorrect!: " + msg, msg.equals("java.lang.String which was specified to be a build listener is not an instance of org.apache.tools.ant.BuildListener.")); //$NON-NLS-1$ //$NON-NLS-2$
return;
}
assertTrue("A core exception should have occurred wrappering a class cast exception", false); //$NON-NLS-1$
}
-
+
/**
* Tests passing an unrecognized argument
*/
- public void testUnknownArg() throws CoreException {
- run("TestForEcho.xml", new String[] { "-listenr" }); //$NON-NLS-1$ //$NON-NLS-2$
- assertTrue("Unrecognized option message should have been logged before successful build", //$NON-NLS-1$
- (AntTestChecker.getDefault().getMessagesLoggedCount() == 6) && (getLoggedMessage(5).startsWith(UNKNOWN_ARG))
- && (getLastMessageLogged().startsWith(BUILD_SUCCESSFUL)));
+ public void testUnknownArg() throws CoreException {
+ run("TestForEcho.xml", new String[]{"-listenr"}); //$NON-NLS-1$ //$NON-NLS-2$
+ assertTrue("Unrecognized option message should have been logged before successful build", //$NON-NLS-1$
+ (AntTestChecker.getDefault().getMessagesLoggedCount() == 6)
+ && (getLoggedMessage(5).startsWith(UNKNOWN_ARG))
+ && (getLastMessageLogged().startsWith(BUILD_SUCCESSFUL)));
}
-
+
/**
* Tests specifying the -logfile with no arg
*/
public void testLogFileWithNoArg() {
try {
- run("TestForEcho.xml", new String[] { "-logfile" }); //$NON-NLS-1$ //$NON-NLS-2$
- }
- catch (CoreException ce) {
+ run("TestForEcho.xml", new String[]{"-logfile"}); //$NON-NLS-1$ //$NON-NLS-2$
+ } catch (CoreException ce) {
return;
}
assertTrue("You must specify a log file when using the -log argument", false); //$NON-NLS-1$
}
-
+
/**
* Tests specifying the -logfile
*/
public void testLogFile() throws CoreException, IOException {
- run("TestForEcho.xml", new String[] { "-logfile", "TestLogFile.txt" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- IFile file = checkFileExists("TestLogFile.txt"); //$NON-NLS-1$
- InputStream stream = file.getContents();
-
- InputStreamReader in = null;
- try {
- in = new InputStreamReader(new BufferedInputStream(stream));
- StringBuffer buffer = new StringBuffer();
- char[] readBuffer = new char[2048];
- int n = in.read(readBuffer);
+ run("TestForEcho.xml", new String[]{"-logfile", "TestLogFile.txt"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ IFile file= checkFileExists("TestLogFile.txt"); //$NON-NLS-1$
+ InputStream stream =file.getContents();
+
+ InputStreamReader in= null;
+ try {
+ in= new InputStreamReader(new BufferedInputStream(stream));
+ StringBuffer buffer= new StringBuffer();
+ char[] readBuffer= new char[2048];
+ int n= in.read(readBuffer);
while (n > 0) {
buffer.append(readBuffer, 0, n);
- n = in.read(readBuffer);
+ n= in.read(readBuffer);
}
assertTrue("File should have started with Buildfile", buffer.toString().startsWith("Buildfile")); //$NON-NLS-1$ //$NON-NLS-2$
- }
- finally {
- if (in != null) {
- in.close();
- }
+ } finally {
+ if (in != null) {
+ in.close();
+ }
stream.close();
}
-
+
}
-
+
/**
* Tests specifying the -logger with no arg
*/
public void testLoggerWithNoArg() {
try {
- run("TestForEcho.xml", new String[] { "-logger" }); //$NON-NLS-1$ //$NON-NLS-2$
- }
- catch (CoreException ce) {
+ run("TestForEcho.xml", new String[]{"-logger"}); //$NON-NLS-1$ //$NON-NLS-2$
+ } catch (CoreException ce) {
return;
}
assertTrue("You must specify a classname when using the -logger argument", false); //$NON-NLS-1$
}
-
+
/**
* Tests the "-logger" option with a logger that is not an instance of BuildLogger
*/
public void testLoggerBad() {
try {
- run("TestForEcho.xml", new String[] { "-logger", "java.lang.String" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- catch (CoreException ce) {
+ run("TestForEcho.xml", new String[]{"-logger", "java.lang.String"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ } catch (CoreException ce) {
return;
}
assertTrue("A core exception should have occurred wrappering a class cast exception", false); //$NON-NLS-1$
}
-
+
/**
* Tests the "-logger" option with two loggers specified...only one is allowed
*/
public void testTwoLoggers() {
try {
- run("TestForEcho.xml", new String[] { "-logger", "java.lang.String", "-q", "-logger", "java.lang.String" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
- }
- catch (CoreException ce) {
+ run("TestForEcho.xml", new String[]{"-logger", "java.lang.String", "-q", "-logger", "java.lang.String"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
+ } catch (CoreException ce) {
return;
}
assertTrue("As only one logger can be specified", false); //$NON-NLS-1$
}
-
+
/**
* Tests specifying the -listener with no arg
*/
public void testListenerWithNoArg() {
try {
- run("TestForEcho.xml", new String[] { "-listener" }); //$NON-NLS-1$ //$NON-NLS-2$
- }
- catch (CoreException ce) {
+ run("TestForEcho.xml", new String[]{"-listener"}); //$NON-NLS-1$ //$NON-NLS-2$
+ } catch (CoreException ce) {
return;
}
assertTrue("You must specify a listeners when using the -listener argument ", false); //$NON-NLS-1$
}
-
+
/**
* Tests specifying the -listener with a class that will not be found
*/
public void testListenerClassNotFound() {
try {
- run("TestForEcho.xml", new String[] { "-listener", "TestBuildListener" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- catch (CoreException e) {
- String message = e.getStatus().getException().getMessage();
+ run("TestForEcho.xml", new String[]{"-listener", "TestBuildListener"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ } catch (CoreException e) {
+ String message= e.getStatus().getException().getMessage();
assertTrue("Should be ClassNotFoundException", "java.lang.ClassNotFoundException: TestBuildListener".equals(message)); //$NON-NLS-1$ //$NON-NLS-2$
return;
}
assertTrue("A CoreException should have occurred as the listener class will not be found", false); //$NON-NLS-1$
-
+
}
-
+
/**
* Tests specifying the -listener option
*/
public void testListener() throws CoreException {
- run("TestForEcho.xml", new String[] { "-listener", ANT_TEST_BUILD_LISTENER }); //$NON-NLS-1$ //$NON-NLS-2$
+ run("TestForEcho.xml", new String[]{"-listener", ANT_TEST_BUILD_LISTENER}); //$NON-NLS-1$ //$NON-NLS-2$
assertSuccessful();
assertTrue("A listener should have been added named: " + ANT_TEST_BUILD_LISTENER, ANT_TEST_BUILD_LISTENER.equals(AntTestChecker.getDefault().getLastListener())); //$NON-NLS-1$
}
-
+
/**
* Tests specifying the XmlLogger as a listener (bug 80435)
*/
public void testXmlLoggerListener() throws CoreException {
- run("TestForEcho.xml", new String[] { "-listener", "org.apache.tools.ant.XmlLogger" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ run("TestForEcho.xml", new String[]{"-listener", "org.apache.tools.ant.XmlLogger"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
assertSuccessful();
-
- // find the log file generated by the xml logger
- IFile file = checkFileExists("log.xml"); //$NON-NLS-1$
- InputStream stream = file.getContents();
+
+ //find the log file generated by the xml logger
+ IFile file= checkFileExists("log.xml"); //$NON-NLS-1$
+ InputStream stream= file.getContents();
try {
assertTrue(stream.available() != 0);
- }
- catch (IOException e) {
+ } catch (IOException e) {
assertTrue(false);
}
}
-
+
/**
* Tests specifying the -listener option multiple times...which is allowed
*/
public void testListenerMultiple() throws CoreException {
- run("TestForEcho.xml", new String[] { "-listener", ANT_TEST_BUILD_LISTENER, "-listener", ANT_TEST_BUILD_LISTENER }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ run("TestForEcho.xml", new String[]{"-listener", ANT_TEST_BUILD_LISTENER, "-listener", ANT_TEST_BUILD_LISTENER}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
assertSuccessful();
assertTrue("A listener should have been added named: " + ANT_TEST_BUILD_LISTENER, ANT_TEST_BUILD_LISTENER.equals(AntTestChecker.getDefault().getLastListener())); //$NON-NLS-1$
assertTrue("Two listeners should have been added", AntTestChecker.getDefault().getListeners().size() == 2); //$NON-NLS-1$
}
-
+
/**
* Tests specifying the -listener option multiple times, with one missing the arg
*/
public void testListenerMultipleWithBad() {
try {
- run("TestForEcho.xml", new String[] { "-listener", ANT_TEST_BUILD_LISTENER, "-q", "-listener", "-verbose" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
- }
- catch (CoreException e) {
- // You must specify a listener for all -listener arguments
+ run("TestForEcho.xml", new String[]{"-listener", ANT_TEST_BUILD_LISTENER, "-q", "-listener", "-verbose"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
+ } catch(CoreException e) {
+ //You must specify a listener for all -listener arguments
return;
}
assertTrue("You must specify a listener for all -listener arguments ", false); //$NON-NLS-1$
}
-
+
/**
* Tests specifying the -buildfile with no arg
*/
public void testBuildFileWithNoArg() {
try {
- run("TestForEcho.xml", new String[] { "-buildfile" }); //$NON-NLS-1$ //$NON-NLS-2$
- }
- catch (CoreException ce) {
- // You must specify a buildfile when using the -buildfile argument
+ run("TestForEcho.xml", new String[]{"-buildfile"}); //$NON-NLS-1$ //$NON-NLS-2$
+ } catch (CoreException ce) {
+ //You must specify a buildfile when using the -buildfile argument
return;
}
assertTrue("You must specify a buildfile when using the -buildfile argument", false); //$NON-NLS-1$
}
-
+
/**
* Tests specifying the -buildfile
*/
public void testBuildFile() throws CoreException {
- String buildFileName = getProject().getFolder("buildfiles").getFile("echoing.xml").getLocation().toFile().getAbsolutePath(); //$NON-NLS-1$ //$NON-NLS-2$
- run("TestForEcho.xml", new String[] { "-buildfile", buildFileName }, false, "buildfiles"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
+ String buildFileName= getProject().getFolder("buildfiles").getFile("echoing.xml").getLocation().toFile().getAbsolutePath(); //$NON-NLS-1$ //$NON-NLS-2$
+ run("TestForEcho.xml", new String[]{"-buildfile", buildFileName}, false, "buildfiles"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+
assertTrue("Should have been 1 tasks, was: " + AntTestChecker.getDefault().getTaskStartedCount(), AntTestChecker.getDefault().getTaskStartedCount() == 1); //$NON-NLS-1$
}
-
+
/**
* Tests specifying a target at the command line that does not exist.
*
- * @since 3.6 this will not fail - the default target will be run instead
- * @since 3.8 this will fail as there are no more known targets
+ * @since 3.6 this will not fail - the default target will be run instead
+ * @since 3.8 this will fail as there are no more known targets
*/
public void testSpecifyBadTargetAsArg() throws CoreException {
- run("TestForEcho.xml", new String[] { "echo2" }, false); //$NON-NLS-1$ //$NON-NLS-2$
- assertTrue("Should be an unknown target message", AntTestChecker.getDefault().getLoggedMessage(1).indexOf("Unknown target") >= 0); //$NON-NLS-1$//$NON-NLS-2$
+ run("TestForEcho.xml", new String[]{"echo2"}, false); //$NON-NLS-1$ //$NON-NLS-2$
+ assertTrue("Should be an unknown target message", AntTestChecker.getDefault().getLoggedMessage(1).indexOf("Unknown target") >= 0); //$NON-NLS-1$//$NON-NLS-2$
assertTrue("Should be an unknown target message", AntTestChecker.getDefault().getLoggedMessage(1).indexOf("echo2") >= 0); //$NON-NLS-1$ //$NON-NLS-2$
assertTrue("Should be a no known target message", AntTestChecker.getDefault().getLoggedMessage(0).indexOf("No known target specified.") >= 0); //$NON-NLS-1$ //$NON-NLS-2$
assertEquals("Should not have run any targets", 0, AntTestChecker.getDefault().getTargetsStartedCount()); //$NON-NLS-1$
}
-
+
/**
- * Tests specifying both a non-existent target and an existent target in the command line
+ * Tests specifying both a non-existent target and an existent target in the command line
*
*/
public void testSpecifyBothBadAndGoodTargetsAsArg() throws CoreException {
- run("TestForEcho.xml", new String[] { "echo2", "Test for Echo" }, false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ run("TestForEcho.xml", new String[]{"echo2", "Test for Echo"}, false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
assertTrue("Should be an unknown target message", AntTestChecker.getDefault().getLoggedMessage(5).indexOf("Unknown target") >= 0); //$NON-NLS-1$ //$NON-NLS-2$
assertTrue("Should be an unknown target message", AntTestChecker.getDefault().getLoggedMessage(5).indexOf("echo2") >= 0); //$NON-NLS-1$ //$NON-NLS-2$
assertEquals("Should have run the Test for Echo target", 5, AntTestChecker.getDefault().getTargetsStartedCount()); //$NON-NLS-1$
}
-
+
/**
* Tests specifying a target at the command line
*/
public void testSpecifyTargetAsArg() throws CoreException {
- run("echoing.xml", new String[] { "echo3" }, false); //$NON-NLS-1$ //$NON-NLS-2$
+ run("echoing.xml", new String[]{"echo3"}, false); //$NON-NLS-1$ //$NON-NLS-2$
assertTrue("3 messages should have been logged; was " + AntTestChecker.getDefault().getMessagesLoggedCount(), AntTestChecker.getDefault().getMessagesLoggedCount() == 3); //$NON-NLS-1$
assertSuccessful();
}
-
+
/**
* Tests specifying a target at the command line with other options
*/
public void testSpecifyTargetAsArgWithOtherOptions() throws CoreException {
- run("echoing.xml", new String[] { "-logfile", "TestLogFile.txt", "echo3" }, false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+ run("echoing.xml", new String[]{"-logfile", "TestLogFile.txt", "echo3"}, false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
assertTrue("4 messages should have been logged; was " + AntTestChecker.getDefault().getMessagesLoggedCount(), AntTestChecker.getDefault().getMessagesLoggedCount() == 4); //$NON-NLS-1$
- List<String> messages = AntTestChecker.getDefault().getMessages();
- // ensure that echo3 target executed and only that target
+ List<String> messages= AntTestChecker.getDefault().getMessages();
+ //ensure that echo3 target executed and only that target
assertTrue("echo3 target not executed", messages.get(2).equals("echo3")); //$NON-NLS-1$ //$NON-NLS-2$
assertSuccessful();
}
-
+
/**
* Tests specifying targets at the command line with other options
*/
public void testSpecifyTargetsAsArgWithOtherOptions() throws CoreException {
- run("echoing.xml", new String[] { "-logfile", "TestLogFile.txt", "echo2", "echo3" }, false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
+ run("echoing.xml", new String[]{"-logfile", "TestLogFile.txt", "echo2", "echo3"}, false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
assertTrue("5 messages should have been logged; was " + AntTestChecker.getDefault().getMessagesLoggedCount(), AntTestChecker.getDefault().getMessagesLoggedCount() == 5); //$NON-NLS-1$
- List<String> messages = AntTestChecker.getDefault().getMessages();
- // ensure that echo2 target executed
+ List<String> messages= AntTestChecker.getDefault().getMessages();
+ //ensure that echo2 target executed
assertTrue("echo2 target not executed", messages.get(2).equals("echo2")); //$NON-NLS-1$ //$NON-NLS-2$
assertSuccessful();
}
-
+
/**
* Tests specifying a target at the command line and quiet reporting
*/
public void testSpecifyTargetAsArgAndQuiet() throws CoreException {
- run("echoing.xml", new String[] { "-logfile", "TestLogFile.txt", "echo3", "-quiet" }, false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
+ run("echoing.xml", new String[]{"-logfile", "TestLogFile.txt", "echo3", "-quiet"}, false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
assertTrue("2 messages should have been logged; was " + AntTestChecker.getDefault().getMessagesLoggedCount(), AntTestChecker.getDefault().getMessagesLoggedCount() == 2); //$NON-NLS-1$
}
-
+
/**
* Tests properties using "-D"
*/
public void testMinusD() throws CoreException {
- run("echoing.xml", new String[] { "-DAntTests=testing", "-Declipse.is.cool=true" }, false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ run("echoing.xml", new String[]{"-DAntTests=testing", "-Declipse.is.cool=true"}, false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
assertSuccessful();
assertTrue("eclipse.is.cool should have been set as true", "true".equals(AntTestChecker.getDefault().getUserProperty("eclipse.is.cool"))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
assertTrue("AntTests should have a value of testing", "testing".equals(AntTestChecker.getDefault().getUserProperty("AntTests"))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
assertNull("my.name was not set and should be null", AntTestChecker.getDefault().getUserProperty("my.name")); //$NON-NLS-1$ //$NON-NLS-2$
-
+
}
-
+
/**
* Tests properties using "-D" and "-d" to specify debug
*/
public void testMinusDMinusd() throws CoreException {
- run("echoing.xml", new String[] { "-d", "-DAntTests=testing", "-Declipse.is.cool=true" }, false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+ run("echoing.xml", new String[]{"-d", "-DAntTests=testing", "-Declipse.is.cool=true"}, false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
assertSuccessful();
assertTrue("eclipse.is.cool should have been set as true", "true".equals(AntTestChecker.getDefault().getUserProperty("eclipse.is.cool"))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
assertTrue("AntTests should have a value of testing", "testing".equals(AntTestChecker.getDefault().getUserProperty("AntTests"))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
assertNull("my.name was not set and should be null", AntTestChecker.getDefault().getUserProperty("my.name")); //$NON-NLS-1$ //$NON-NLS-2$
-
+
}
-
+
public void testMinusDAndGlobalProperties() throws CoreException {
- run("echoing.xml", new String[] { "-DAntTests=testing", "-Declipse.is.cool=true" }, false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ run("echoing.xml", new String[]{"-DAntTests=testing", "-Declipse.is.cool=true"}, false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
assertSuccessful();
assertTrue("eclipse.running should have been set as true", "true".equals(AntTestChecker.getDefault().getUserProperty("eclipse.running"))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
assertNotNull("eclipse.home should have been set", AntTestChecker.getDefault().getUserProperty("eclipse.home")); //$NON-NLS-1$ //$NON-NLS-2$
}
-
+
/**
- * Tests specifying a property such as "-D=emptyStringIsMyName Bug 37007
+ * Tests specifying a property such as "-D=emptyStringIsMyName
+ * Bug 37007
*/
public void testMinusDEmpty() throws CoreException {
- run("echoing.xml", new String[] { "-D=emptyStringIsMyName", "-Declipse.is.cool=true" }, false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ run("echoing.xml", new String[]{"-D=emptyStringIsMyName", "-Declipse.is.cool=true"}, false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
assertSuccessful();
assertTrue("eclipse.is.cool should have been set as true", "true".equals(AntTestChecker.getDefault().getUserProperty("eclipse.is.cool"))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
assertTrue("\"\" should have a value of emptyStringIsMyName", "emptyStringIsMyName".equals(AntTestChecker.getDefault().getUserProperty(""))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
assertNull("my.name was not set and should be null", AntTestChecker.getDefault().getUserProperty("my.name")); //$NON-NLS-1$ //$NON-NLS-2$
}
-
+
/**
- * Tests specifying properties that contain spaces Bug 37094
+ * Tests specifying properties that contain spaces
+ * Bug 37094
*/
public void testMinusDWithSpaces() throws CoreException {
- run("echoing.xml", new String[] { "-DAntTests= testing", "-Declipse.is.cool= true" }, false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ run("echoing.xml", new String[]{"-DAntTests= testing", "-Declipse.is.cool= true"}, false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
assertSuccessful();
assertTrue("eclipse.is.cool should have been set as true", "true".equals(AntTestChecker.getDefault().getUserProperty("eclipse.is.cool"))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
assertTrue("AntTests should have a value of testing", "testing".equals(AntTestChecker.getDefault().getUserProperty("AntTests"))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
assertNull("my.name was not set and should be null", AntTestChecker.getDefault().getUserProperty("my.name")); //$NON-NLS-1$ //$NON-NLS-2$
}
-
+
/**
- * Tests specifying properties when the user has incorrectly specified "-Debug" Bug 40935
+ * Tests specifying properties when the user has incorrectly specified "-Debug"
+ * Bug 40935
*/
public void testPropertiesWithMinusDebug() throws CoreException {
- run("echoing.xml", new String[] { "-Debug", "-DAntTests= testing", "-Declipse.is.cool= true" }, false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+ run("echoing.xml", new String[]{"-Debug", "-DAntTests= testing", "-Declipse.is.cool= true"}, false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
assertTrue("\"-Debug\" should be flagged as an unknown argument", "Unknown argument: -Debug".equals(AntTestChecker.getDefault().getMessages().get(0))); //$NON-NLS-1$ //$NON-NLS-2$
assertSuccessful();
assertTrue("eclipse.is.cool should have been set as true", "true".equals(AntTestChecker.getDefault().getUserProperty("eclipse.is.cool"))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
assertTrue("AntTests should have a value of testing", "testing".equals(AntTestChecker.getDefault().getUserProperty("AntTests"))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
assertNull("my.name was not set and should be null", AntTestChecker.getDefault().getUserProperty("my.name")); //$NON-NLS-1$ //$NON-NLS-2$
}
-
+
/**
- * Tests when the user has incorrectly specified "-Debug" Bug 40935
+ * Tests when the user has incorrectly specified "-Debug"
+ * Bug 40935
*/
public void testMinusDebug() throws CoreException {
- run("echoing.xml", new String[] { "-Debug" }); //$NON-NLS-1$ //$NON-NLS-2$
+ run("echoing.xml", new String[]{"-Debug"}); //$NON-NLS-1$ //$NON-NLS-2$
assertTrue("\"-Debug\" should be flagged as an unknown argument", "Unknown argument: -Debug".equals(AntTestChecker.getDefault().getMessages().get(0))); //$NON-NLS-1$ //$NON-NLS-2$
assertSuccessful();
}
-
+
public void testPropertyFileWithNoArg() {
try {
- run("TestForEcho.xml", new String[] { "-propertyfile" }); //$NON-NLS-1$ //$NON-NLS-2$
- }
- catch (CoreException ce) {
- String msg = AntTestChecker.getDefault().getMessages().get(0);
+ run("TestForEcho.xml", new String[]{"-propertyfile"}); //$NON-NLS-1$ //$NON-NLS-2$
+ } catch (CoreException ce) {
+ String msg= AntTestChecker.getDefault().getMessages().get(0);
assertTrue("Message incorrect!: " + msg, msg.equals("You must specify a property filename when using the -propertyfile argument")); //$NON-NLS-1$ //$NON-NLS-2$
return;
}
assertTrue("You must specify a property filename when using the -propertyfile argument", false); //$NON-NLS-1$
}
-
+
/**
- * A build should succeed when a property file is not found. The error is reported and the build continues.
+ * A build should succeed when a property file is not found.
+ * The error is reported and the build continues.
*/
public void testPropertyFileFileNotFound() throws CoreException {
-
- run("TestForEcho.xml", new String[] { "-propertyfile", "qq.txt" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+
+ run("TestForEcho.xml", new String[]{"-propertyfile", "qq.txt"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
assertSuccessful();
- String msg = AntTestChecker.getDefault().getMessages().get(0);
+ String msg= AntTestChecker.getDefault().getMessages().get(0);
assertTrue("Message incorrect!: " + msg, msg.startsWith("Could not load property file:")); //$NON-NLS-1$ //$NON-NLS-2$
}
-
+
public void testPropertyFile() throws CoreException {
- run("TestForEcho.xml", new String[] { "-propertyfile", getPropertyFileName() }); //$NON-NLS-1$ //$NON-NLS-2$
+ run("TestForEcho.xml", new String[]{"-propertyfile", getPropertyFileName()}); //$NON-NLS-1$ //$NON-NLS-2$
assertSuccessful();
assertTrue("eclipse.is.cool should have been set as Yep", "Yep".equals(AntTestChecker.getDefault().getUserProperty("eclipse.is.cool"))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
assertTrue("AntTests should have a value of testing", "testing from properties file".equals(AntTestChecker.getDefault().getUserProperty("AntTests"))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
assertNull("my.name was not set and should be null", AntTestChecker.getDefault().getUserProperty("my.name")); //$NON-NLS-1$ //$NON-NLS-2$
}
-
+
public void testPropertyFileWithMinusDTakingPrecedence() throws CoreException {
- run("echoing.xml", new String[] { "-propertyfile", getPropertyFileName(), "-DAntTests=testing", "-Declipse.is.cool=true" }, false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+ run("echoing.xml", new String[]{"-propertyfile", getPropertyFileName(), "-DAntTests=testing", "-Declipse.is.cool=true"}, false); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
assertSuccessful();
assertTrue("eclipse.is.cool should have been set as true", "true".equals(AntTestChecker.getDefault().getUserProperty("eclipse.is.cool"))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
assertTrue("AntTests should have a value of testing", "testing".equals(AntTestChecker.getDefault().getUserProperty("AntTests"))); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
assertNull("my.name was not set and should be null", AntTestChecker.getDefault().getUserProperty("my.name")); //$NON-NLS-1$ //$NON-NLS-2$
}
-
+
public void testInputHandlerWithNoArg() {
try {
- run("TestForEcho.xml", new String[] { "-inputhandler" }); //$NON-NLS-1$ //$NON-NLS-2$
- }
- catch (CoreException ce) {
- String msg = ce.getMessage();
+ run("TestForEcho.xml", new String[]{"-inputhandler"}); //$NON-NLS-1$ //$NON-NLS-2$
+ } catch (CoreException ce) {
+ String msg= ce.getMessage();
assertTrue("Message incorrect!: " + msg, msg.equals("You must specify a classname when using the -inputhandler argument")); //$NON-NLS-1$ //$NON-NLS-2$
return;
}
assertTrue("You must specify a classname when using the -inputhandler argument", false); //$NON-NLS-1$
}
-
+
/**
* Tests the "-inputhandler" option with two handlers specified...only one is allowed
*/
public void testInputHandlerMultiple() {
try {
- run("TestForEcho.xml", new String[] { "-inputhandler", "org.apache.tools.ant.input.DefaultInputHandler", "-q", "-inputhandler", "org.apache.tools.ant.input.DefaultInputHandler" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
- }
- catch (CoreException ce) {
- String msg = ce.getMessage();
+ run("TestForEcho.xml", new String[]{"-inputhandler", "org.apache.tools.ant.input.DefaultInputHandler", "-q", "-inputhandler", "org.apache.tools.ant.input.DefaultInputHandler"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
+ } catch (CoreException ce) {
+ String msg= ce.getMessage();
assertTrue("Message incorrect!: " + msg, msg.equals("Only one input handler class may be specified.")); //$NON-NLS-1$ //$NON-NLS-2$
return;
}
assertTrue("As only one input handler can be specified", false); //$NON-NLS-1$
}
-
+
/**
* Tests the "-inputhandler" option with a input handler that is not an instance of InputHandler
*/
public void testInputHandlerBad() {
try {
- run("TestForEcho.xml", new String[] { "-inputhandler", "java.lang.StringBuffer" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- catch (CoreException ce) {
- String msg = ce.getMessage();
+ run("TestForEcho.xml", new String[]{"-inputhandler", "java.lang.StringBuffer"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ } catch (CoreException ce) {
+ String msg= ce.getMessage();
assertTrue("Message incorrect!: " + msg, msg.equals("The specified input handler class java.lang.StringBuffer does not implement the org.apache.tools.ant.input.InputHandler interface")); //$NON-NLS-1$ //$NON-NLS-2$
return;
}
assertTrue("Incorrect inputhandler", false); //$NON-NLS-1$
}
-
+
/**
* Tests the "-inputhandler" option with a input handler that is not a defined class
*/
public void testInputHandlerBad2() {
try {
- run("TestForEcho.xml", new String[] { "-inputhandler", "ja.lang.StringBuffer" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- catch (CoreException ce) {
- String msg = ce.getMessage();
+ run("TestForEcho.xml", new String[]{"-inputhandler", "ja.lang.StringBuffer"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ } catch (CoreException ce) {
+ String msg= ce.getMessage();
assertTrue("Message incorrect!: " + msg, msg.startsWith("Unable to instantiate specified input handler class ja.lang.StringBuffer")); //$NON-NLS-1$ //$NON-NLS-2$
return;
}
assertTrue("Incorrect inputhandler", false); //$NON-NLS-1$
}
-
+
/**
* Tests the "-inputhandler" option with a test input handler and the -noinput option
*/
public void testInputHandlerWithMinusNoInput() {
try {
- run("input.xml", new String[] { "-inputhandler", "org.eclipse.ant.tests.core.support.inputHandlers.AntTestInputHandler", "-noinput" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- }
- catch (CoreException ce) {
+ run("input.xml", new String[]{"-inputhandler", "org.eclipse.ant.tests.core.support.inputHandlers.AntTestInputHandler", "-noinput"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+ } catch (CoreException ce) {
assertTrue("Message incorrect: " + ce.getMessage(), ce.getMessage().endsWith("Unable to respond to input request likely as a result of specifying the -noinput command")); //$NON-NLS-1$ //$NON-NLS-2$
return;
}
-
+
assertTrue("Build should have failed", false); //$NON-NLS-1$
}
-
+
/**
* Tests the -noinput option with the default input handler
*/
public void testMinusNoInput() {
try {
- run("input.xml", new String[] { "-noinput" }); //$NON-NLS-1$ //$NON-NLS-2$
- }
- catch (CoreException ce) {
+ run("input.xml", new String[]{"-noinput"}); //$NON-NLS-1$ //$NON-NLS-2$
+ } catch (CoreException ce) {
assertTrue("Message incorrect: " + ce.getMessage(), ce.getMessage().endsWith("Failed to read input from Console.")); //$NON-NLS-1$ //$NON-NLS-2$
return;
}
-
+
assertTrue("Build should have failed", false); //$NON-NLS-1$
}
-
+
/**
- * Tests the "-inputhandler" option with a test input handler Order after the noinput tests so that we test we are resetting the system property
+ * Tests the "-inputhandler" option with a test input handler
+ * Order after the noinput tests so that we test we are resetting the system property
*/
public void testInputHandler() throws CoreException {
-
- run("input.xml", new String[] { "-inputhandler", "org.eclipse.ant.tests.core.support.inputHandlers.AntTestInputHandler" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+
+ run("input.xml", new String[]{"-inputhandler", "org.eclipse.ant.tests.core.support.inputHandlers.AntTestInputHandler"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
assertSuccessful();
- String msg = AntTestChecker.getDefault().getMessages().get(1);
+ String msg= AntTestChecker.getDefault().getMessages().get(1);
assertTrue("Message incorrect: " + msg, msg.equals("testing handling input requests")); //$NON-NLS-1$ //$NON-NLS-2$
-
+
}
-
+
/**
- * Tests the "-diagnostics" option with no ANT_HOME set bug 25693
+ * Tests the "-diagnostics" option with no ANT_HOME set
+ * bug 25693
*/
public void testDiagnosticsWithNoAntHome() throws CoreException {
try {
AntCorePlugin.getPlugin().getPreferences().setAntHome(null);
- run("input.xml", new String[] { "-diagnostics" }); //$NON-NLS-1$ //$NON-NLS-2$
-
- String msg = AntTestChecker.getDefault().getMessages().get(0);
+ run("input.xml", new String[]{"-diagnostics"}); //$NON-NLS-1$ //$NON-NLS-2$
+
+ String msg= AntTestChecker.getDefault().getMessages().get(0);
assertTrue("Message incorrect: " + msg, msg.equals("------- Ant diagnostics report -------")); //$NON-NLS-1$ //$NON-NLS-2$
- }
- finally {
+ } finally {
restorePreferenceDefaults();
}
}
-
+
/**
- * Tests the "-diagnostics" option with ANT_HOME set bug 25693
+ * Tests the "-diagnostics" option with ANT_HOME set
+ * bug 25693
*/
public void testDiagnostics() throws CoreException {
-
+
try {
- run("input.xml", new String[] { "-diagnostics" }); //$NON-NLS-1$ //$NON-NLS-2$
- }
- finally {
+ run("input.xml", new String[]{"-diagnostics"}); //$NON-NLS-1$ //$NON-NLS-2$
+ } finally {
restorePreferenceDefaults();
}
- // we are looking for the ant.home entry
+ //we are looking for the ant.home entry
List<String> messages = AntTestChecker.getDefault().getMessages();
String msg = messages.get(17);
- // msg depends on whether self hosting testing or build testing
+ //msg depends on whether self hosting testing or build testing
assertTrue("Message incorrect: " + msg, checkAntHomeMessage(msg)); //$NON-NLS-1$
}
-
+
private boolean checkAntHomeMessage(String message) {
String msg = message;
if (msg.endsWith("org.apache.ant")) { //$NON-NLS-1$
return true;
}
-
+
if (msg.endsWith(PLUGIN_VERSION)) {
return true;
}
-
- // org.apache.ant_1.7.1.v200704241635
+
+ //org.apache.ant_1.7.1.v200704241635
int index = msg.lastIndexOf('.');
if (index > 0) {
msg = msg.substring(0, index);
}
return msg.endsWith(PLUGIN_VERSION);
}
-
+
/**
- * Tests the "-quiet" still reports build successful bug 34488
+ * Tests the "-quiet" still reports build successful
+ * bug 34488
*/
public void testMinusQuiet() throws CoreException {
- run("TestForEcho.xml", new String[] { "-quiet" }); //$NON-NLS-1$ //$NON-NLS-2$
- assertSuccessful();
+ run("TestForEcho.xml", new String[]{"-quiet"}); //$NON-NLS-1$ //$NON-NLS-2$
+ assertSuccessful();
}
/**
@@ -639,30 +630,28 @@
*/
public void testMinusKeepGoing() {
try {
- run("failingTarget.xml", new String[] { "-keep-going" }, false); //$NON-NLS-1$ //$NON-NLS-2$
- }
- catch (CoreException be) {
+ run("failingTarget.xml", new String[]{"-keep-going"}, false); //$NON-NLS-1$ //$NON-NLS-2$
+ } catch (CoreException be) {
assertTrue("4 messages should have been logged; was " + AntTestChecker.getDefault().getMessagesLoggedCount(), AntTestChecker.getDefault().getMessagesLoggedCount() == 4); //$NON-NLS-1$
- assertTrue("Incorrect message:" + AntTestChecker.getDefault().getLoggedMessage(1), "Still echo on failure".equals(AntTestChecker.getDefault().getLoggedMessage(1))); //$NON-NLS-1$ //$NON-NLS-2$
+ assertTrue("Incorrect message:" + AntTestChecker.getDefault().getLoggedMessage(1), "Still echo on failure".equals(AntTestChecker.getDefault().getLoggedMessage(1))); //$NON-NLS-1$ //$NON-NLS-2$
return;
}
-
+
assertTrue("The build should have failed", false); //$NON-NLS-1$
}
-
+
/**
* Tests the "-k" option
*/
public void testMinusK() {
try {
- run("failingTarget.xml", new String[] { "-k" }, false); //$NON-NLS-1$ //$NON-NLS-2$
- }
- catch (CoreException be) {
+ run("failingTarget.xml", new String[]{"-k"}, false); //$NON-NLS-1$ //$NON-NLS-2$
+ } catch (CoreException be) {
assertTrue("4 messages should have been logged; was " + AntTestChecker.getDefault().getMessagesLoggedCount(), AntTestChecker.getDefault().getMessagesLoggedCount() == 4); //$NON-NLS-1$
- assertTrue("Incorrect message:" + AntTestChecker.getDefault().getLoggedMessage(1), "Still echo on failure".equals(AntTestChecker.getDefault().getLoggedMessage(1))); //$NON-NLS-1$ //$NON-NLS-2$
+ assertTrue("Incorrect message:" + AntTestChecker.getDefault().getLoggedMessage(1), "Still echo on failure".equals(AntTestChecker.getDefault().getLoggedMessage(1))); //$NON-NLS-1$ //$NON-NLS-2$
return;
}
-
+
assertTrue("The build should have failed", false); //$NON-NLS-1$
}
}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/Ant Debug Tests/org/eclipse/ant/tests/ui/debug/PropertyTests.java b/ant/org.eclipse.ant.tests.ui/Ant Debug Tests/org/eclipse/ant/tests/ui/debug/PropertyTests.java
index 8141370..648eb8c 100644
--- a/ant/org.eclipse.ant.tests.ui/Ant Debug Tests/org/eclipse/ant/tests/ui/debug/PropertyTests.java
+++ b/ant/org.eclipse.ant.tests.ui/Ant Debug Tests/org/eclipse/ant/tests/ui/debug/PropertyTests.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation and others.
+ * Copyright (c) 2005, 2012 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -23,10 +23,10 @@
import org.eclipse.debug.core.model.IVariable;
public class PropertyTests extends AbstractAntDebugTest {
+
+ private static final String ANT_VERSION = "Apache Ant(TM) version 1.8.4 compiled on May 22 2012"; //$NON-NLS-1$
- private static final String ANT_VERSION = "Apache Ant(TM) version 1.9.2 compiled on July 8 2013"; //$NON-NLS-1$
-
- public PropertyTests(String name) {
+ public PropertyTests(String name) {
super(name);
}
@@ -41,115 +41,112 @@
private void systemProperties(boolean sepVM) throws Exception, CoreException {
String fileName = "breakpoints"; //$NON-NLS-1$
ILineBreakpoint bp = createLineBreakpoint(30, "breakpoints" + ".xml"); //$NON-NLS-1$ //$NON-NLS-2$
- AntThread thread = null;
+ AntThread thread= null;
try {
if (sepVM) {
- fileName += "SepVM"; //$NON-NLS-1$
+ fileName+= "SepVM"; //$NON-NLS-1$
}
- ILaunchConfiguration config = getLaunchConfiguration(fileName);
- ILaunchConfigurationWorkingCopy copy = config.getWorkingCopy();
+ ILaunchConfiguration config= getLaunchConfiguration(fileName);
+ ILaunchConfigurationWorkingCopy copy= config.getWorkingCopy();
copy.setAttribute(IAntLaunchConstants.ATTR_ANT_TARGETS, "properties"); //$NON-NLS-1$
- thread = launchToLineBreakpoint(copy, bp);
+ thread= launchToLineBreakpoint(copy, bp);
- AntStackFrame frame = (AntStackFrame) thread.getTopStackFrame();
+ AntStackFrame frame = (AntStackFrame)thread.getTopStackFrame();
IVariable[] vars = frame.getVariables();
assertTrue("Should be a bunch of properties", 0 < vars.length); //$NON-NLS-1$
- AntProperty property = frame.findProperty("ant.library.dir"); //$NON-NLS-1$
+ AntProperty property= frame.findProperty("ant.library.dir"); //$NON-NLS-1$
assertNotNull(property);
-
+
assertProperty(thread, "ant.project.name", "debugEcho"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- finally {
+ } finally {
terminateAndRemove(thread);
removeAllBreakpoints();
}
}
-
+
public void testUserProperties() throws Exception {
- userProperties(false);
+ userProperties(false);
}
-
+
public void testUserPropertiesSepVM() throws Exception {
userProperties(true);
}
- private void userProperties(boolean sepVM) throws Exception {
+ private void userProperties(boolean sepVM) throws Exception{
String fileName = "breakpoints"; //$NON-NLS-1$
ILineBreakpoint bp = createLineBreakpoint(30, "breakpoints" + ".xml"); //$NON-NLS-1$ //$NON-NLS-2$
- AntThread thread = null;
+ AntThread thread= null;
try {
if (sepVM) {
- fileName += "SepVM"; //$NON-NLS-1$
+ fileName+= "SepVM"; //$NON-NLS-1$
}
- ILaunchConfiguration config = getLaunchConfiguration(fileName);
- ILaunchConfigurationWorkingCopy copy = config.getWorkingCopy();
+ ILaunchConfiguration config= getLaunchConfiguration(fileName);
+ ILaunchConfigurationWorkingCopy copy= config.getWorkingCopy();
copy.setAttribute(IAntLaunchConstants.ATTR_ANT_TARGETS, "properties"); //$NON-NLS-1$
- thread = launchToLineBreakpoint(copy, bp);
+ thread= launchToLineBreakpoint(copy, bp);
- AntStackFrame frame = (AntStackFrame) thread.getTopStackFrame();
+ AntStackFrame frame = (AntStackFrame)thread.getTopStackFrame();
IVariable[] vars = frame.getVariables();
assertTrue("Should be a bunch of properties", 0 < vars.length); //$NON-NLS-1$
- AntProperty property = frame.findProperty("ant.home"); //$NON-NLS-1$
+ AntProperty property= frame.findProperty("ant.home"); //$NON-NLS-1$
assertNotNull(property);
-
+
assertProperty(thread, "ant.version", ANT_VERSION); //$NON-NLS-1$
assertProperty(thread, "ant.project.name", "debugEcho"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- finally {
+ } finally {
terminateAndRemove(thread);
removeAllBreakpoints();
}
}
-
+
public void testRuntimeProperties() throws Exception {
- runtimeProperties(false);
+ runtimeProperties(false);
}
- // TODO timing issues with retrieving properties
- // public void testRuntimePropertiesSepVM() throws Exception {
- // runtimeProperties(true);
- // }
+ //TODO timing issues with retrieving properties
+// public void testRuntimePropertiesSepVM() throws Exception {
+// runtimeProperties(true);
+// }
private void runtimeProperties(boolean sepVM) throws Exception, CoreException {
String fileName = "breakpoints"; //$NON-NLS-1$
ILineBreakpoint bp = createLineBreakpoint(30, fileName + ".xml"); //$NON-NLS-1$
- AntThread thread = null;
+ AntThread thread= null;
try {
if (sepVM) {
- fileName += "SepVM"; //$NON-NLS-1$
+ fileName+="SepVM"; //$NON-NLS-1$
}
- ILaunchConfiguration config = getLaunchConfiguration(fileName);
- ILaunchConfigurationWorkingCopy copy = config.getWorkingCopy();
+ ILaunchConfiguration config= getLaunchConfiguration(fileName);
+ ILaunchConfigurationWorkingCopy copy= config.getWorkingCopy();
copy.setAttribute(IAntLaunchConstants.ATTR_ANT_TARGETS, "properties"); //$NON-NLS-1$
- thread = launchToLineBreakpoint(copy, bp);
+ thread= launchToLineBreakpoint(copy, bp);
- AntStackFrame frame = (AntStackFrame) thread.getTopStackFrame();
+ AntStackFrame frame = (AntStackFrame)thread.getTopStackFrame();
IVariable[] vars = frame.getVariables();
assertTrue("Should be a bunch of properties", 0 < vars.length); //$NON-NLS-1$
- AntProperty property = frame.findProperty("ant.home"); //$NON-NLS-1$
+ AntProperty property= frame.findProperty("ant.home"); //$NON-NLS-1$
assertNotNull(property);
-
+
stepOver(frame);
frame = assertProperty(thread, "AAA", "aaa"); //$NON-NLS-1$ //$NON-NLS-2$
-
+
stepOver(frame);
frame = assertProperty(thread, "BBB", "bbb"); //$NON-NLS-1$ //$NON-NLS-2$
-
+
stepOver(frame);
assertProperty(thread, "CCC", "ccc"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- finally {
+ } finally {
terminateAndRemove(thread);
removeAllBreakpoints();
}
}
private AntStackFrame assertProperty(AntThread thread, String propertyName, String propertyValue) throws DebugException {
- AntStackFrame frame = (AntStackFrame) thread.getTopStackFrame();
- AntProperty property = frame.findProperty(propertyName);
+ AntStackFrame frame = (AntStackFrame)thread.getTopStackFrame();
+ AntProperty property= frame.findProperty(propertyName);
assertNotNull("Did not find property: " + propertyName, property); //$NON-NLS-1$
- AntValue value = (AntValue) property.getValue();
- assertEquals("Value of property " + propertyName + " incorrect", propertyValue, value.getValueString()); //$NON-NLS-1$ //$NON-NLS-2$
+ AntValue value= (AntValue) property.getValue();
+ assertEquals("Value of property "+propertyName+ " incorrect", propertyValue, value.getValueString()); //$NON-NLS-1$ //$NON-NLS-2$
return frame;
}
}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/CodeCompletionTest.java b/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/CodeCompletionTest.java
index cf3c216..223ed07 100644
--- a/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/CodeCompletionTest.java
+++ b/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/CodeCompletionTest.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2002, 2013 GEBIT Gesellschaft fuer EDV-Beratung
+ * Copyright (c) 2002, 2011 GEBIT Gesellschaft fuer EDV-Beratung
* und Informatik-Technologien mbH,
* Berlin, Duesseldorf, Frankfurt (Germany) and others.
* All rights reserved. This program and the accompanying materials
@@ -51,429 +51,427 @@
*/
public class CodeCompletionTest extends AbstractAntUITest {
- /**
- * Constructor for CodeCompletionTest.
- *
- * @param name
- */
- public CodeCompletionTest(String name) {
- super(name);
- }
-
+ /**
+ * Constructor for CodeCompletionTest.
+ * @param name
+ */
+ public CodeCompletionTest(String name) {
+ super(name);
+ }
+
public static Test suite() {
return new TestSuite(CodeCompletionTest.class);
}
- /**
- * Tests the code completion for attributes of tasks.
- */
- public void testAttributeProposals() {
- TestTextCompletionProcessor processor = new TestTextCompletionProcessor();
+ /**
+ * Tests the code completion for attributes of tasks.
+ */
+ public void testAttributeProposals() {
+ TestTextCompletionProcessor processor = new TestTextCompletionProcessor();
- ICompletionProposal[] proposals = processor.getAttributeProposals("contains", "ca"); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals(1, proposals.length);
- assertEquals("casesensitive - (true | false | on | off | yes | no)", proposals[0].getDisplayString()); //$NON-NLS-1$
+ ICompletionProposal[] proposals = processor.getAttributeProposals("contains", "ca"); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals(1, proposals.length);
+ assertEquals("casesensitive - (true | false | on | off | yes | no)", proposals[0].getDisplayString()); //$NON-NLS-1$
- proposals = processor.getAttributeProposals("move", ""); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals(17, proposals.length);
- ICompletionProposal proposal = proposals[0];
- String displayString = proposal.getDisplayString();
- assertTrue(displayString.equals("id") //$NON-NLS-1$
- || displayString.equals("taskname") //$NON-NLS-1$
- || displayString.equals(IAntCoreConstants.DESCRIPTION)
- || displayString.equals(IAntCoreConstants.FILE)
- || displayString.equals("preservelastmodified - (true | false | on | off | yes | no)") //$NON-NLS-1$
- || displayString.equals("tofile") //$NON-NLS-1$
- || displayString.equals("todir") //$NON-NLS-1$
- || displayString.equals("overwrite - (true | false | on | off | yes | no)") //$NON-NLS-1$
- || displayString.equals("filtering - (true | false | on | off | yes | no)") //$NON-NLS-1$
- || displayString.equals("flatten - (true | false | on | off | yes | no)") //$NON-NLS-1$
- || displayString.equals("includeemptydirs") //$NON-NLS-1$
- || displayString.equals("failonerror - (true | false | on | off | yes | no)") //$NON-NLS-1$
- || displayString.equals("verbose - (true | false | on | off | yes | no)") //$NON-NLS-1$
- || displayString.equals("encoding") //$NON-NLS-1$
- || displayString.equals("outputencoding") //$NON-NLS-1$
- || displayString.equals("enablemultiplemapping - (true | false | on | off | yes | no)") //$NON-NLS-1$
- || displayString.equals("granularity")); //$NON-NLS-1$
+ proposals = processor.getAttributeProposals("move", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals(17, proposals.length);
+ ICompletionProposal proposal = proposals[0];
+ String displayString = proposal.getDisplayString();
+ assertTrue(displayString.equals("id") //$NON-NLS-1$
+ || displayString.equals("taskname") //$NON-NLS-1$
+ || displayString.equals(IAntCoreConstants.DESCRIPTION)
+ || displayString.equals(IAntCoreConstants.FILE)
+ || displayString.equals("preservelastmodified - (true | false | on | off | yes | no)") //$NON-NLS-1$
+ || displayString.equals("tofile") //$NON-NLS-1$
+ || displayString.equals("todir") //$NON-NLS-1$
+ || displayString.equals("overwrite - (true | false | on | off | yes | no)") //$NON-NLS-1$
+ || displayString.equals("filtering - (true | false | on | off | yes | no)") //$NON-NLS-1$
+ || displayString.equals("flatten - (true | false | on | off | yes | no)") //$NON-NLS-1$
+ || displayString.equals("includeemptydirs") //$NON-NLS-1$
+ || displayString.equals("failonerror - (true | false | on | off | yes | no)") //$NON-NLS-1$
+ || displayString.equals("verbose - (true | false | on | off | yes | no)") //$NON-NLS-1$
+ || displayString.equals("encoding") //$NON-NLS-1$
+ || displayString.equals("outputencoding") //$NON-NLS-1$
+ || displayString.equals("enablemultiplemapping - (true | false | on | off | yes | no)") //$NON-NLS-1$
+ || displayString.equals("granularity")); //$NON-NLS-1$
+
+ proposals = processor.getAttributeProposals("move", "to"); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals(2, proposals.length);
- proposals = processor.getAttributeProposals("move", "to"); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals(2, proposals.length);
+ proposals = processor.getAttributeProposals("reference", "idl"); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals(0, proposals.length);
- proposals = processor.getAttributeProposals("reference", "idl"); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals(0, proposals.length);
+ proposals = processor.getAttributeProposals("reference", "id"); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals(1, proposals.length);
+ assertEquals("id", proposals[0].getDisplayString()); //$NON-NLS-1$
- proposals = processor.getAttributeProposals("reference", "id"); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals(1, proposals.length);
- assertEquals("id", proposals[0].getDisplayString()); //$NON-NLS-1$
-
- proposals = processor.getAttributeProposals("reference", "i"); //$NON-NLS-1$ //$NON-NLS-2$
- // id includesfile includes
- assertEquals(3, proposals.length);
- displayString = proposals[0].getDisplayString();
- assertTrue(displayString.equals("id") //$NON-NLS-1$
- || displayString.equals("includesfile") //$NON-NLS-1$
+ proposals = processor.getAttributeProposals("reference", "i"); //$NON-NLS-1$ //$NON-NLS-2$
+ //id includesfile includes
+ assertEquals(3, proposals.length);
+ displayString= proposals[0].getDisplayString();
+ assertTrue(displayString.equals("id") //$NON-NLS-1$
+ || displayString.equals("includesfile") //$NON-NLS-1$
|| displayString.equals("includes")); //$NON-NLS-1$
- proposals = processor.getAttributeProposals("project", "de"); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals(1, proposals.length);
- }
+ proposals = processor.getAttributeProposals("project", "de"); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals(1, proposals.length);
+ }
+
+ /**
+ * Test the code completion for properties, including unquoted (bug 40871)
+ */
+ public void testPropertyProposals() throws BadLocationException {
+ TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("buildtest1.xml")); //$NON-NLS-1$
- /**
- * Test the code completion for properties, including unquoted (bug 40871)
- */
- public void testPropertyProposals() throws BadLocationException {
- TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("buildtest1.xml")); //$NON-NLS-1$
-
- int lineNumber = 7;
- int columnNumber = 16;
- int lineOffset = getCurrentDocument().getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
- ICompletionProposal[] proposals = processor.getPropertyProposals(getCurrentDocument(), "", lineOffset + columnNumber); //$NON-NLS-1$
- assertTrue(proposals.length >= 1);
- assertContains("prop1", proposals); //$NON-NLS-1$
-
- lineNumber = 18;
- columnNumber = 25;
- lineOffset = getCurrentDocument().getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
- proposals = processor.getPropertyProposals(getCurrentDocument(), "", lineOffset + columnNumber); //$NON-NLS-1$
- assertTrue(proposals.length >= 1);
- assertContains("prop2", proposals); //$NON-NLS-1$
- }
-
- /**
- * Tests the code completion for nested elements that no templates are presented Bug 76414
- */
+ int lineNumber= 7;
+ int columnNumber= 16;
+ int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+ ICompletionProposal[] proposals = processor.getPropertyProposals(getCurrentDocument(), "", lineOffset + columnNumber); //$NON-NLS-1$
+ assertTrue(proposals.length >= 1);
+ assertContains("prop1", proposals); //$NON-NLS-1$
+
+ lineNumber= 18;
+ columnNumber= 25;
+ lineOffset= getCurrentDocument().getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+ proposals = processor.getPropertyProposals(getCurrentDocument(), "", lineOffset + columnNumber); //$NON-NLS-1$
+ assertTrue(proposals.length >= 1);
+ assertContains("prop2", proposals); //$NON-NLS-1$
+ }
+
+ /**
+ * Tests the code completion for nested elements that no templates are presented
+ * Bug 76414
+ */
public void testPropertyTemplateProposals() throws BadLocationException, PartInitException {
try {
- IFile file = getIFile("buildtest1.xml"); //$NON-NLS-1$
- AntEditor editor = (AntEditor) EditorTestHelper.openInEditor(file, ANT_EDITOR_ID, true);
- TestTextCompletionProcessor processor = new TestTextCompletionProcessor(editor);
- int lineNumber = 7;
- int columnNumber = 16;
- int lineOffset = editor.getDocumentProvider().getDocument(editor.getEditorInput()).getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
-
- ICompletionProposal[] proposals = processor.determineTemplateProposals();
- assertTrue("No templates are relevant at the current position. Found: " + proposals.length, proposals.length == 0); //$NON-NLS-1$
- }
- finally {
+ IFile file= getIFile("buildtest1.xml"); //$NON-NLS-1$
+ AntEditor editor= (AntEditor)EditorTestHelper.openInEditor(file, ANT_EDITOR_ID, true);
+ TestTextCompletionProcessor processor= new TestTextCompletionProcessor(editor);
+ int lineNumber= 7;
+ int columnNumber= 16;
+ int lineOffset= editor.getDocumentProvider().getDocument(editor.getEditorInput()).getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+
+ ICompletionProposal[] proposals= processor.determineTemplateProposals();
+ assertTrue("No templates are relevant at the current position. Found: " + proposals.length, proposals.length == 0); //$NON-NLS-1$
+ } finally {
EditorTestHelper.closeAllEditors();
}
}
-
- /**
- * Test the code completion for "system" properties
- */
- public void testSystemPropertyProposals() throws BadLocationException {
- TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("buildtest1.xml")); //$NON-NLS-1$
-
- int lineNumber = 18;
- int columnNumber = 25;
- int lineOffset = getCurrentDocument().getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
- ICompletionProposal[] proposals = processor.getPropertyProposals(getCurrentDocument(), "", lineOffset + columnNumber); //$NON-NLS-1$
- assertTrue(proposals.length >= 1);
- assertContains("java.home", proposals); //$NON-NLS-1$
- }
-
- /**
- * Test the code completion for "built-in" properties
- */
- public void testBuiltInPropertyProposals() throws BadLocationException {
- TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("buildtest1.xml")); //$NON-NLS-1$
-
- int lineNumber = 18;
- int columnNumber = 25;
- int lineOffset = getCurrentDocument().getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
- ICompletionProposal[] proposals = processor.getPropertyProposals(getCurrentDocument(), "", lineOffset + columnNumber); //$NON-NLS-1$
- assertTrue(proposals.length >= 1);
- assertContains("ant.file", proposals); //$NON-NLS-1$
- assertContains("ant.version", proposals); //$NON-NLS-1$
- assertContains("ant.project.name", proposals); //$NON-NLS-1$
- assertContains("basedir", proposals); //$NON-NLS-1$
- assertContains("ant.home", proposals); //$NON-NLS-1$
- assertContains("ant.library.dir", proposals); //$NON-NLS-1$
- processor.dispose();
- }
-
- /**
- * Test the code completion for extension point / preference properties
- */
- public void testPreferencePropertyProposals() throws BadLocationException {
- AntCorePreferences prefs = AntCorePlugin.getPlugin().getPreferences();
- try {
-
- prefs.setCustomProperties(new Property[] { new Property("test", "result") }); //$NON-NLS-1$ //$NON-NLS-2$
- prefs.updatePluginPreferences();
-
- TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("buildtest1.xml")); //$NON-NLS-1$
-
- int lineNumber = 18;
- int columnNumber = 25;
- int lineOffset = getCurrentDocument().getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
- ICompletionProposal[] proposals = processor.getPropertyProposals(getCurrentDocument(), "", lineOffset + columnNumber); //$NON-NLS-1$
- assertTrue(proposals.length >= 3);
- assertContains("eclipse.home", proposals); //contributed //$NON-NLS-1$
- assertContains("property.ui.testing2", proposals); //contributed //$NON-NLS-1$
- assertContains("test", proposals); //$NON-NLS-1$
- }
- finally {
- prefs.setCustomProperties(new Property[] {});
- prefs.updatePluginPreferences();
- }
- }
-
- /**
- * Test the code completion for the depend attribute of a target.
- */
- public void testTargetDependProposals() throws BadLocationException {
- TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("buildtest1.xml")); //$NON-NLS-1$
- // simple depends
- int lineNumber = 10;
- int columnNumber = 34;
- int lineOffset = getCurrentDocument().getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
- ICompletionProposal[] proposals = processor.getTargetAttributeValueProposals(getCurrentDocument(), getCurrentDocument().get(0, lineOffset
- + columnNumber), "", "depends"); //$NON-NLS-1$ //$NON-NLS-2$
- assertTrue(proposals.length == 7);
- assertContains("pretest", proposals); //$NON-NLS-1$
- assertContains("testMoreDepends", proposals); //$NON-NLS-1$
- // comma separated depends
- lineNumber = 17;
- columnNumber = 53;
- lineOffset = getCurrentDocument().getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
- proposals = processor.getTargetAttributeValueProposals(getCurrentDocument(), getCurrentDocument().get(0, lineOffset + columnNumber), "", "depends"); //$NON-NLS-1$ //$NON-NLS-2$
- assertTrue(proposals.length == 7);
- assertContains("main", proposals); //$NON-NLS-1$
- // XXX why do we not want a valid proposal?
- /* assertDoesNotContain("pretest", proposals); */
- }
-
- /**
- * Test the image for a code completion proposal for the depend attribute of a target.
- */
- public void testTargetDependProposalImages() throws BadLocationException {
- TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("buildtest3.xml")); //$NON-NLS-1$
- // simple depends
- int lineNumber = 5;
- int columnNumber = 34;
- int lineOffset = getCurrentDocument().getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
- ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
- assertEquals(3, proposals.length);
- assertContains("main", proposals); //$NON-NLS-1$
- assertContains("pretest", proposals); //$NON-NLS-1$
- assertContains("test2", proposals); //$NON-NLS-1$
-
- for (int i = 0; i < proposals.length; i++) {
- String displayString = proposals[i].getDisplayString();
+
+ /**
+ * Test the code completion for "system" properties
+ */
+ public void testSystemPropertyProposals() throws BadLocationException {
+ TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("buildtest1.xml")); //$NON-NLS-1$
+
+ int lineNumber= 18;
+ int columnNumber= 25;
+ int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+ ICompletionProposal[] proposals = processor.getPropertyProposals(getCurrentDocument(), "", lineOffset + columnNumber); //$NON-NLS-1$
+ assertTrue(proposals.length >= 1);
+ assertContains("java.home", proposals); //$NON-NLS-1$
+ }
+
+ /**
+ * Test the code completion for "built-in" properties
+ */
+ public void testBuiltInPropertyProposals() throws BadLocationException {
+ TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("buildtest1.xml")); //$NON-NLS-1$
+
+ int lineNumber= 18;
+ int columnNumber= 25;
+ int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+ ICompletionProposal[] proposals = processor.getPropertyProposals(getCurrentDocument(), "", lineOffset + columnNumber); //$NON-NLS-1$
+ assertTrue(proposals.length >= 1);
+ assertContains("ant.file", proposals); //$NON-NLS-1$
+ assertContains("ant.version", proposals); //$NON-NLS-1$
+ assertContains("ant.project.name", proposals); //$NON-NLS-1$
+ assertContains("basedir", proposals); //$NON-NLS-1$
+ assertContains("ant.home", proposals); //$NON-NLS-1$
+ assertContains("ant.library.dir", proposals); //$NON-NLS-1$
+ processor.dispose();
+ }
+
+ /**
+ * Test the code completion for extension point / preference properties
+ */
+ public void testPreferencePropertyProposals() throws BadLocationException {
+ AntCorePreferences prefs= AntCorePlugin.getPlugin().getPreferences();
+ try {
+
+ prefs.setCustomProperties(new Property[] {new Property("test", "result")}); //$NON-NLS-1$ //$NON-NLS-2$
+ prefs.updatePluginPreferences();
+
+ TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("buildtest1.xml")); //$NON-NLS-1$
+
+ int lineNumber= 18;
+ int columnNumber= 25;
+ int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+ ICompletionProposal[] proposals = processor.getPropertyProposals(getCurrentDocument(), "", lineOffset + columnNumber); //$NON-NLS-1$
+ assertTrue(proposals.length >= 3);
+ assertContains("eclipse.home", proposals); //contributed //$NON-NLS-1$
+ assertContains("property.ui.testing2", proposals); //contributed //$NON-NLS-1$
+ assertContains("test", proposals); //$NON-NLS-1$
+ } finally {
+ prefs.setCustomProperties(new Property[]{});
+ prefs.updatePluginPreferences();
+ }
+ }
+
+ /**
+ * Test the code completion for the depend attribute of a target.
+ */
+ public void testTargetDependProposals() throws BadLocationException {
+ TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("buildtest1.xml")); //$NON-NLS-1$
+ //simple depends
+ int lineNumber= 10;
+ int columnNumber= 34;
+ int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+ ICompletionProposal[] proposals = processor.getTargetAttributeValueProposals(getCurrentDocument(), getCurrentDocument().get(0, lineOffset + columnNumber), "", "depends"); //$NON-NLS-1$ //$NON-NLS-2$
+ assertTrue(proposals.length == 7);
+ assertContains("pretest", proposals); //$NON-NLS-1$
+ assertContains("testMoreDepends", proposals); //$NON-NLS-1$
+ //comma separated depends
+ lineNumber= 17;
+ columnNumber= 53;
+ lineOffset= getCurrentDocument().getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+ proposals = processor.getTargetAttributeValueProposals(getCurrentDocument(), getCurrentDocument().get(0, lineOffset + columnNumber), "", "depends"); //$NON-NLS-1$ //$NON-NLS-2$
+ assertTrue(proposals.length == 7);
+ assertContains("main", proposals); //$NON-NLS-1$
+ //XXX why do we not want a valid proposal?
+ /*assertDoesNotContain("pretest", proposals);*/
+ }
+
+ /**
+ * Test the image for a code completion proposal for the depend attribute of a target.
+ */
+ public void testTargetDependProposalImages() throws BadLocationException {
+ TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("buildtest3.xml")); //$NON-NLS-1$
+ //simple depends
+ int lineNumber= 5;
+ int columnNumber= 34;
+ int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+ ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
+ assertEquals(3, proposals.length);
+ assertContains("main", proposals); //$NON-NLS-1$
+ assertContains("pretest", proposals); //$NON-NLS-1$
+ assertContains("test2", proposals); //$NON-NLS-1$
+
+ for (int i = 0; i < proposals.length; i++) {
+ String displayString = proposals[i].getDisplayString();
if (displayString.equals("main")) { //$NON-NLS-1$
assertEquals(AntUIImages.getImage(IAntUIConstants.IMG_ANT_DEFAULT_TARGET), proposals[i].getImage());
} else if (displayString.equals("pretest")) { //$NON-NLS-1$
assertEquals(AntUIImages.getImage(IAntUIConstants.IMG_ANT_TARGET), proposals[i].getImage());
} else if (displayString.equals("test2")) { //$NON-NLS-1$
- assertEquals(AntUIImages.getImage(IAntUIConstants.IMG_ANT_TARGET_INTERNAL), proposals[i].getImage());
+ assertEquals(AntUIImages.getImage(IAntUIConstants.IMG_ANT_TARGET_INTERNAL), proposals[i].getImage());
} else {
fail("Unknown completion proposal detected: " + displayString); //$NON-NLS-1$
}
}
- }
-
- /**
- * Test the image for a code completion proposal for the default attribute of a project.
- */
- public void testProjectDefaultProposalImages() throws BadLocationException {
- TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("buildtest4.xml")); //$NON-NLS-1$
- // simple depends
- int lineNumber = 1;
- int columnNumber = 18;
- int lineOffset = getCurrentDocument().getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
- ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
- assertEquals(3, proposals.length);
- assertContains("task", proposals); //$NON-NLS-1$
- assertContains("task2", proposals); //$NON-NLS-1$
- assertContains("task3", proposals); //$NON-NLS-1$
-
- for (int i = 0; i < proposals.length; i++) {
- String displayString = proposals[i].getDisplayString();
+ }
+
+ /**
+ * Test the image for a code completion proposal for the default attribute of a project.
+ */
+ public void testProjectDefaultProposalImages() throws BadLocationException {
+ TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("buildtest4.xml")); //$NON-NLS-1$
+ //simple depends
+ int lineNumber= 1;
+ int columnNumber= 18;
+ int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+ ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
+ assertEquals(3, proposals.length);
+ assertContains("task", proposals); //$NON-NLS-1$
+ assertContains("task2", proposals); //$NON-NLS-1$
+ assertContains("task3", proposals); //$NON-NLS-1$
+
+ for (int i = 0; i < proposals.length; i++) {
+ String displayString = proposals[i].getDisplayString();
if (displayString.equals("task3")) { //$NON-NLS-1$
assertEquals(AntUIImages.getImage(IAntUIConstants.IMG_ANT_DEFAULT_TARGET), proposals[i].getImage());
} else if (displayString.equals("task")) { //$NON-NLS-1$
assertEquals(AntUIImages.getImage(IAntUIConstants.IMG_ANT_TARGET), proposals[i].getImage());
} else if (displayString.equals("task2")) { //$NON-NLS-1$
- assertEquals(AntUIImages.getImage(IAntUIConstants.IMG_ANT_TARGET_INTERNAL), proposals[i].getImage());
+ assertEquals(AntUIImages.getImage(IAntUIConstants.IMG_ANT_TARGET_INTERNAL), proposals[i].getImage());
} else {
fail("Unknown completion proposal detected: " + displayString); //$NON-NLS-1$
}
}
- }
-
- /**
- * Test the image for a code completion proposal for the target attribute of an antcall task.
- */
- public void testAntcallTargetProposalImages() throws BadLocationException {
- TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("buildtest4.xml")); //$NON-NLS-1$
- int lineNumber = 4;
- int columnNumber = 25;
- int lineOffset = getCurrentDocument().getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
- ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
- assertEquals(2, proposals.length);
- assertContains("task", proposals); //$NON-NLS-1$
- assertContains("task3", proposals); //$NON-NLS-1$
-
- for (int i = 0; i < proposals.length; i++) {
- String displayString = proposals[i].getDisplayString();
+ }
+
+ /**
+ * Test the image for a code completion proposal for the target attribute of an antcall task.
+ */
+ public void testAntcallTargetProposalImages() throws BadLocationException {
+ TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("buildtest4.xml")); //$NON-NLS-1$
+ int lineNumber= 4;
+ int columnNumber= 25;
+ int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+ ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
+ assertEquals(2, proposals.length);
+ assertContains("task", proposals); //$NON-NLS-1$
+ assertContains("task3", proposals); //$NON-NLS-1$
+
+ for (int i = 0; i < proposals.length; i++) {
+ String displayString = proposals[i].getDisplayString();
if (displayString.equals("task3")) { //$NON-NLS-1$
assertEquals(AntUIImages.getImage(IAntUIConstants.IMG_ANT_DEFAULT_TARGET), proposals[i].getImage());
} else if (displayString.equals("task")) { //$NON-NLS-1$
- assertEquals(AntUIImages.getImage(IAntUIConstants.IMG_ANT_TARGET), proposals[i].getImage());
+ assertEquals(AntUIImages.getImage(IAntUIConstants.IMG_ANT_TARGET), proposals[i].getImage());
} else {
fail("Unknown completion proposal detected: " + displayString); //$NON-NLS-1$
}
}
- }
+ }
+
+ /**
+ * Test the code completion for the if attribute of a target.
+ */
+ public void testTargetIfProposals() throws BadLocationException {
+ TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("buildtest1.xml")); //$NON-NLS-1$
+
+ int lineNumber= 15;
+ int columnNumber= 31;
+ int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+ ICompletionProposal[] proposals = processor.getTargetAttributeValueProposals(getCurrentDocument(), getCurrentDocument().get(0, lineOffset + columnNumber), "", "if"); //$NON-NLS-1$ //$NON-NLS-2$
+ assertTrue(proposals.length >= 1);
+ assertContains("prop1", proposals); //$NON-NLS-1$
+ }
+
+ /**
+ * Test the code completion for the unless attribute of a target.
+ */
+ public void testTargetUnlessProposals() throws BadLocationException {
+ TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("buildtest1.xml")); //$NON-NLS-1$
+
+ int lineNumber= 16;
+ int columnNumber= 43;
+ int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+ ICompletionProposal[] proposals = processor.getTargetAttributeValueProposals(getCurrentDocument(), getCurrentDocument().get(0, lineOffset + columnNumber), "prop", "unless"); //$NON-NLS-1$ //$NON-NLS-2$
+ assertTrue(proposals.length >= 1);
+ assertContains("prop1", proposals); //$NON-NLS-1$
+
+ }
+
+ /**
+ * Test the code completion for the target attribute of antcall.
+ */
+ public void testAntCallTargetProposals() throws BadLocationException {
+ TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("debugAntCall.xml")); //$NON-NLS-1$
+ int lineNumber= 4;
+ int columnNumber= 25;
+ int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+ ICompletionProposal[] proposals = processor.getAntCallAttributeValueProposals(getCurrentDocument(), "", "target"); //$NON-NLS-1$ //$NON-NLS-2$
+ assertTrue(proposals.length == 2);
+ assertContains("call", proposals); //$NON-NLS-1$
+ assertContains("pre-call", proposals); //$NON-NLS-1$
+ }
+
+ /**
+ * Asserts that <code>displayString</code> is in one of the
+ * completion proposals.
+ */
+ private void assertContains(String displayString, ICompletionProposal[] proposalArray) {
+ boolean found = false;
+ for (int i = 0; i < proposalArray.length; i++) {
+ ICompletionProposal proposal = proposalArray[i];
+ String proposalDisplayString = proposal.getDisplayString();
+ if(displayString.equals(proposalDisplayString)) {
+ found = true;
+ break;
+ }
+ }
+ assertTrue("Did not find displayString: " + displayString, found); //$NON-NLS-1$
+ }
+
+ /**
+ * Asserts that <code>displayString</code> is not in one of the
+ * completion proposals.
+ */
+ private void assertDoesNotContain(String displayString, ICompletionProposal[] proposalArray) {
+ boolean found = false;
+ for (int i = 0; i < proposalArray.length; i++) {
+ ICompletionProposal proposal = proposalArray[i];
+ String proposalDisplayString = proposal.getDisplayString();
+ if(displayString.equals(proposalDisplayString)) {
+ found = true;
+ break;
+ }
+ }
+ assertFalse("Found displayString: " + displayString, found); //$NON-NLS-1$
+ }
/**
- * Test the code completion for the if attribute of a target.
+ * Tests the property proposals for the case that they are defined in
+ * a dependent targets.
*/
- public void testTargetIfProposals() throws BadLocationException {
- TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("buildtest1.xml")); //$NON-NLS-1$
+ public void testPropertyProposalDefinedInDependantTargets() throws FileNotFoundException {
+ TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("dependencytest.xml")); //$NON-NLS-1$
- int lineNumber = 15;
- int columnNumber = 31;
- int lineOffset = getCurrentDocument().getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
- ICompletionProposal[] proposals = processor.getTargetAttributeValueProposals(getCurrentDocument(), getCurrentDocument().get(0, lineOffset
- + columnNumber), "", "if"); //$NON-NLS-1$ //$NON-NLS-2$
- assertTrue(proposals.length >= 1);
- assertContains("prop1", proposals); //$NON-NLS-1$
- }
-
- /**
- * Test the code completion for the unless attribute of a target.
- */
- public void testTargetUnlessProposals() throws BadLocationException {
- TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("buildtest1.xml")); //$NON-NLS-1$
-
- int lineNumber = 16;
- int columnNumber = 43;
- int lineOffset = getCurrentDocument().getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
- ICompletionProposal[] proposals = processor.getTargetAttributeValueProposals(getCurrentDocument(), getCurrentDocument().get(0, lineOffset
- + columnNumber), "prop", "unless"); //$NON-NLS-1$ //$NON-NLS-2$
- assertTrue(proposals.length >= 1);
- assertContains("prop1", proposals); //$NON-NLS-1$
-
- }
-
- /**
- * Test the code completion for the target attribute of antcall.
- */
- public void testAntCallTargetProposals() throws BadLocationException {
- TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("debugAntCall.xml")); //$NON-NLS-1$
- int lineNumber = 4;
- int columnNumber = 25;
- int lineOffset = getCurrentDocument().getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
- ICompletionProposal[] proposals = processor.getAntCallAttributeValueProposals(getCurrentDocument(), "", "target"); //$NON-NLS-1$ //$NON-NLS-2$
- assertTrue(proposals.length == 2);
- assertContains("call", proposals); //$NON-NLS-1$
- assertContains("pre-call", proposals); //$NON-NLS-1$
- }
-
- /**
- * Asserts that <code>displayString</code> is in one of the completion proposals.
- */
- private void assertContains(String displayString, ICompletionProposal[] proposalArray) {
- boolean found = false;
- for (int i = 0; i < proposalArray.length; i++) {
- ICompletionProposal proposal = proposalArray[i];
- String proposalDisplayString = proposal.getDisplayString();
- if (displayString.equals(proposalDisplayString)) {
- found = true;
- break;
- }
- }
- assertTrue("Did not find displayString: " + displayString, found); //$NON-NLS-1$
- }
-
- /**
- * Asserts that <code>displayString</code> is not in one of the completion proposals.
- */
- private void assertDoesNotContain(String displayString, ICompletionProposal[] proposalArray) {
- boolean found = false;
- for (int i = 0; i < proposalArray.length; i++) {
- ICompletionProposal proposal = proposalArray[i];
- String proposalDisplayString = proposal.getDisplayString();
- if (displayString.equals(proposalDisplayString)) {
- found = true;
- break;
- }
- }
- assertFalse("Found displayString: " + displayString, found); //$NON-NLS-1$
- }
-
- /**
- * Tests the property proposals for the case that they are defined in a dependent targets.
- */
- public void testPropertyProposalDefinedInDependantTargets() throws FileNotFoundException {
- TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("dependencytest.xml")); //$NON-NLS-1$
-
- File file = getBuildFile("dependencytest.xml"); //$NON-NLS-1$
- processor.setEditedFile(file);
+ File file= getBuildFile("dependencytest.xml"); //$NON-NLS-1$
+ processor.setEditedFile(file);
String documentText = getFileContentAsString(file);
processor.setLineNumber(35);
processor.setColumnNumber(41);
int cursorPosition = documentText.lastIndexOf("${"); //$NON-NLS-1$
assertTrue(cursorPosition != -1);
- ICompletionProposal[] proposals = processor.getPropertyProposals(new org.eclipse.jface.text.Document(documentText), "", cursorPosition + 2); //$NON-NLS-1$
+ ICompletionProposal[] proposals = processor.getPropertyProposals(new org.eclipse.jface.text.Document(documentText), "", cursorPosition+2); //$NON-NLS-1$
assertContains("init_prop", proposals); //$NON-NLS-1$
assertContains("main_prop", proposals); //$NON-NLS-1$
assertContains("prop_prop", proposals); //$NON-NLS-1$
assertContains("do_not_compile", proposals); //$NON-NLS-1$
assertContains("adit_prop", proposals); //$NON-NLS-1$
assertContains("compile_prop", proposals); //$NON-NLS-1$
- processor.dispose();
- }
-
- /**
- * Tests the code completion for tasks that have been defined in the buildfile
- */
+ processor.dispose();
+ }
+
+ /**
+ * Tests the code completion for tasks that have been defined in the buildfile
+ */
public void testCustomTaskProposals() {
TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("taskdef.xml")); //$NON-NLS-1$
@@ -481,23 +479,23 @@
assertEquals(1, proposals.length);
ICompletionProposal proposal = proposals[0];
assertEquals("mine", proposal.getDisplayString()); //$NON-NLS-1$
- processor.dispose();
+ processor.dispose();
}
-
- /**
- * Tests the code completion for tasks that have been defined via the task extension point
- */
+
+ /**
+ * Tests the code completion for tasks that have been defined via the task extension point
+ */
public void testExtensionPointTaskProposals() {
TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("taskdef.xml")); //$NON-NLS-1$
ICompletionProposal[] proposals = processor.getTaskProposals(getCurrentDocument(), "target", "cool"); //$NON-NLS-1$ //$NON-NLS-2$
assertContains("coolUITask", proposals); //$NON-NLS-1$
assertContains("coolUIType", proposals); //$NON-NLS-1$
- processor.dispose();
+ processor.dispose();
}
-
- /**
- * Tests the code completion for tasks that have been defined via macrodef in the buildfile
- */
+
+ /**
+ * Tests the code completion for tasks that have been defined via macrodef in the buildfile
+ */
public void testMacrodefProposals() {
TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("macrodef.xml")); //$NON-NLS-1$
@@ -505,277 +503,276 @@
assertEquals(1, proposals.length);
ICompletionProposal proposal = proposals[0];
assertEquals("eclipseMacro", proposal.getDisplayString()); //$NON-NLS-1$
-
+
}
+
+ /**
+ * Tests the code completion for tasks that have been defined via macrodef with uri in the buildfile
+ */
+ public void testNamespacedMacrodefProposals() {
+ TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("98853.xml")); //$NON-NLS-1$
+ ICompletionProposal[] proposals = processor.getTaskProposals(getCurrentDocument(), "target", "xyz"); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals(2, proposals.length);
+ ICompletionProposal proposal= proposals[0];
+ assertEquals("xyz:echo-macro", proposal.getDisplayString()); //$NON-NLS-1$
+ processor.dispose();
+ }
+
/**
- * Tests the code completion for tasks that have been defined via macrodef with uri in the buildfile
- */
- public void testNamespacedMacrodefProposals() {
- TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("98853.xml")); //$NON-NLS-1$
-
- ICompletionProposal[] proposals = processor.getTaskProposals(getCurrentDocument(), "target", "xyz"); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals(2, proposals.length);
- ICompletionProposal proposal = proposals[0];
- assertEquals("xyz:echo-macro", proposal.getDisplayString()); //$NON-NLS-1$
- processor.dispose();
- }
-
- /**
- * Tests the code completion for nested element attributes
- */
+ * Tests the code completion for nested element attributes
+ */
public void testMacrodefNestedElementAttributeProposals() throws BadLocationException {
TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("macrodef.xml")); //$NON-NLS-1$
- int lineNumber = 5;
- int columnNumber = 11;
- int lineOffset = getCurrentDocument().getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
- ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
- assertEquals(proposals.length, 5);
- assertContains(IAntCoreConstants.DESCRIPTION, proposals);
- assertContains("implicit - (true | false | on | off | yes | no)", proposals); //$NON-NLS-1$
- assertContains(IAntCoreConstants.NAME, proposals);
- processor.dispose();
+ int lineNumber= 5;
+ int columnNumber= 11;
+ int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+ ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
+ assertEquals(proposals.length, 5);
+ assertContains(IAntCoreConstants.DESCRIPTION, proposals);
+ assertContains("implicit - (true | false | on | off | yes | no)", proposals); //$NON-NLS-1$
+ assertContains(IAntCoreConstants.NAME, proposals);
+ processor.dispose();
}
-
+
/**
- * Tests the code completion for tasks that have been defined via macrodef in the buildfile
- */
+ * Tests the code completion for tasks that have been defined via macrodef in the buildfile
+ */
public void testMacrodefAttributeProposals() throws BadLocationException {
TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("macrodef.xml")); //$NON-NLS-1$
- int lineNumber = 12;
- int columnNumber = 16;
- int lineOffset = getCurrentDocument().getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
- ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
- assertTrue(proposals.length == 2);
- assertContains("v", proposals); //$NON-NLS-1$
- assertContains("eclipse", proposals); //$NON-NLS-1$
- assertTrue("Additional proposal information not correct", proposals[1].getAdditionalProposalInfo().startsWith("Testing Eclipse")); //$NON-NLS-1$ //$NON-NLS-2$
- processor.dispose();
+ int lineNumber= 12;
+ int columnNumber= 16;
+ int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+ ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
+ assertTrue(proposals.length == 2);
+ assertContains("v", proposals); //$NON-NLS-1$
+ assertContains("eclipse", proposals); //$NON-NLS-1$
+ assertTrue("Additional proposal information not correct", proposals[1].getAdditionalProposalInfo().startsWith("Testing Eclipse")); //$NON-NLS-1$ //$NON-NLS-2$
+ processor.dispose();
}
-
+
+ /**
+ * Tests the code completion for tasks that have been defined via macrodef in the buildfile
+ */
+ public void testNamespacedMacrodefAttributeProposals() throws BadLocationException {
+ TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("98853.xml")); //$NON-NLS-1$
+ int lineNumber= 16;
+ int columnNumber= 18;
+ int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+ ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
+ assertEquals(proposals.length, 1);
+ assertContains("str", proposals); //$NON-NLS-1$
+ processor.dispose();
+ }
+
/**
- * Tests the code completion for tasks that have been defined via macrodef in the buildfile
- */
- public void testNamespacedMacrodefAttributeProposals() throws BadLocationException {
- TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("98853.xml")); //$NON-NLS-1$
- int lineNumber = 16;
- int columnNumber = 18;
- int lineOffset = getCurrentDocument().getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
- ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
- assertEquals("There should be one completion proposal", proposals.length, 1); //$NON-NLS-1$
- assertContains("str", proposals); //$NON-NLS-1$
- processor.dispose();
- }
-
- /**
- * Tests the code completion for elements that have been defined via macrodef in the buildfile
- */
+ * Tests the code completion for elements that have been defined via macrodef in the buildfile
+ */
public void testMacrodefElementProposals() throws BadLocationException {
TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("macrodef.xml")); //$NON-NLS-1$
- int lineNumber = 13;
- int columnNumber = 3;
- int lineOffset = getCurrentDocument().getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
- ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
- assertEquals("There should be 1 completion proposal", proposals.length, 1); //$NON-NLS-1$
- assertTrue("Proposal not correct", proposals[0].getDisplayString().equals("some-tasks")); //$NON-NLS-1$ //$NON-NLS-2$
- assertTrue("Additional proposal information not correct", proposals[0].getAdditionalProposalInfo().endsWith("Not required")); //$NON-NLS-1$ //$NON-NLS-2$
- processor.dispose();
+ int lineNumber= 13;
+ int columnNumber= 3;
+ int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+ ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
+ assertTrue(proposals.length == 1);
+ assertTrue("Proposal not correct", proposals[0].getDisplayString().equals("some-tasks")); //$NON-NLS-1$ //$NON-NLS-2$
+ assertTrue("Additional proposal information not correct", proposals[0].getAdditionalProposalInfo().endsWith("Not required")); //$NON-NLS-1$ //$NON-NLS-2$
+ processor.dispose();
}
- /**
- * Tests the code completion for tasks having parent tasks.
- */
- public void testTaskProposals() {
+ /**
+ * Tests the code completion for tasks having parent tasks.
+ */
+ public void testTaskProposals() {
TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("buildtest1.xml")); //$NON-NLS-1$
+
+ ICompletionProposal[] proposals = processor.getTaskProposals(" <", "rename", ""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ assertEquals(0, proposals.length);
- ICompletionProposal[] proposals = processor.getTaskProposals(" <", "rename", ""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- assertEquals(0, proposals.length);
+ proposals = processor.getTaskProposals(" <cl", "property", "cl"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ assertEquals(1, proposals.length);
+ ICompletionProposal proposal = proposals[0];
+ assertEquals("classpath", proposal.getDisplayString()); //$NON-NLS-1$
- proposals = processor.getTaskProposals(" <cl", "property", "cl"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- assertEquals(1, proposals.length);
- ICompletionProposal proposal = proposals[0];
- assertEquals("classpath", proposal.getDisplayString()); //$NON-NLS-1$
-
- proposals = processor.getTaskProposals(" <pr", "property", ""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- assertEquals(1, proposals.length);
- proposal = proposals[0];
- assertEquals("classpath", proposal.getDisplayString()); //$NON-NLS-1$
-
- // "<project><target><mk"
- proposals = processor.getTaskProposals("<project><target><mk", "target", "mk"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- assertEquals(1, proposals.length);
- proposal = proposals[0];
- assertEquals("mkdir", proposal.getDisplayString()); //$NON-NLS-1$
- processor.dispose();
- }
-
- public void testTargetTemplateProposals() throws BadLocationException, PartInitException {
- try {
- IFile file = getIFile("buildtest1.xml"); //$NON-NLS-1$
- AntEditor editor = (AntEditor) EditorTestHelper.openInEditor(file, ANT_EDITOR_ID, true);
- TestTextCompletionProcessor processor = new TestTextCompletionProcessor(editor);
- int lineNumber = 7;
- int columnNumber = 6;
- int lineOffset = editor.getDocumentProvider().getDocument(editor.getEditorInput()).getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
-
- // complete inside a target
- ICompletionProposal[] proposals = processor.determineTemplateProposals();
- assertDoesNotContain("target - public target", proposals); //$NON-NLS-1$
-
- // complete outside of a target
- lineNumber = 8;
- columnNumber = 13;
- lineOffset = editor.getDocumentProvider().getDocument(editor.getEditorInput()).getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
-
- proposals = processor.determineTemplateProposals();
- assertContains("target - public target", proposals); //$NON-NLS-1$
- // ensure all the tasks are still there
- proposals = processor.getProposalsFromDocument(editor.getDocumentProvider().getDocument(editor.getEditorInput()), ""); //$NON-NLS-1$
- assertContains("ant", proposals); //$NON-NLS-1$
- }
- finally {
+ proposals = processor.getTaskProposals(" <pr", "property", ""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ assertEquals(1, proposals.length);
+ proposal = proposals[0];
+ assertEquals("classpath", proposal.getDisplayString()); //$NON-NLS-1$
+
+ // "<project><target><mk"
+ proposals = processor.getTaskProposals("<project><target><mk", "target", "mk"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ assertEquals(1, proposals.length);
+ proposal = proposals[0];
+ assertEquals("mkdir", proposal.getDisplayString()); //$NON-NLS-1$
+ processor.dispose();
+ }
+
+ public void testTargetTemplateProposals() throws BadLocationException, PartInitException {
+ try {
+ IFile file= getIFile("buildtest1.xml"); //$NON-NLS-1$
+ AntEditor editor= (AntEditor)EditorTestHelper.openInEditor(file, ANT_EDITOR_ID, true);
+ TestTextCompletionProcessor processor= new TestTextCompletionProcessor(editor);
+ int lineNumber= 7;
+ int columnNumber= 6;
+ int lineOffset= editor.getDocumentProvider().getDocument(editor.getEditorInput()).getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+
+ //complete inside a target
+ ICompletionProposal[] proposals= processor.determineTemplateProposals();
+ assertDoesNotContain("target - public target", proposals); //$NON-NLS-1$
+
+ //complete outside of a target
+ lineNumber= 8;
+ columnNumber= 13;
+ lineOffset= editor.getDocumentProvider().getDocument(editor.getEditorInput()).getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+
+ proposals= processor.determineTemplateProposals();
+ assertContains("target - public target", proposals); //$NON-NLS-1$
+ //ensure all the tasks are still there
+ proposals = processor.getProposalsFromDocument(editor.getDocumentProvider().getDocument(editor.getEditorInput()), ""); //$NON-NLS-1$
+ assertContains("ant", proposals); //$NON-NLS-1$
+ } finally {
EditorTestHelper.closeAllEditors();
}
-
- }
-
- /**
- * Tests the code completion for the fail task bug 73637
- */
- public void testFailProposals() {
+
+ }
+ /**
+ * Tests the code completion for the fail task
+ * bug 73637
+ */
+ public void testFailProposals() {
TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("buildtest1.xml")); //$NON-NLS-1$
ICompletionProposal[] proposals = processor.getAttributeProposals("fail", ""); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals(6, proposals.length);
-
- assertContains("message", proposals); //$NON-NLS-1$
- assertContains("if", proposals); //$NON-NLS-1$
- assertContains("unless", proposals); //$NON-NLS-1$
- processor.dispose();
- }
-
+ assertEquals(6, proposals.length);
+
+ assertContains("message", proposals); //$NON-NLS-1$
+ assertContains("if", proposals); //$NON-NLS-1$
+ assertContains("unless", proposals); //$NON-NLS-1$
+ processor.dispose();
+ }
+
/**
* Test for bug 40951
*/
public void testMixedElements() {
TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("mixed.xml")); //$NON-NLS-1$
- // String string = "<project><target><sql driver=\"\" password=\"\" url=\"\" userid=\"\"></sql><concat></concat>";
+ //String string = "<project><target><sql driver=\"\" password=\"\" url=\"\" userid=\"\"></sql><concat></concat>";
ICompletionProposal[] proposals = processor.getTaskProposals(getCurrentDocument(), processor.getParentName(getCurrentDocument(), 0, 62), "t"); //$NON-NLS-1$
assertEquals(1, proposals.length);
ICompletionProposal proposal = proposals[0];
assertEquals("transaction", proposal.getDisplayString()); //$NON-NLS-1$
-
+
proposals = processor.getTaskProposals(getCurrentDocument(), processor.getParentName(getCurrentDocument(), 0, 76), ""); //$NON-NLS-1$
- // filelist fileset filterchain footer header path
+ //filelist fileset filterchain footer header path
assertEquals(6, proposals.length);
proposal = proposals[0];
assertEquals("filelist", proposal.getDisplayString()); //$NON-NLS-1$
- processor.dispose();
+ processor.dispose();
}
-
+
+ /**
+ * Tests the algorithm for finding a child as used by the processor.
+ */
+ public void testFindChildElement() throws ParserConfigurationException {
+
+ // Create the test data
+ DocumentBuilder docBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
+ Document doc = docBuilder.newDocument();
+ Element parentElement = doc.createElement("parent"); //$NON-NLS-1$
+ Attr attribute = doc.createAttribute("att1"); //$NON-NLS-1$
+ parentElement.setAttributeNode(attribute);
+ Comment comment = doc.createComment("lakjjflsakdfj"); //$NON-NLS-1$
+ parentElement.appendChild(comment);
+ Element childElement = doc.createElement("child"); //$NON-NLS-1$
+ parentElement.appendChild(childElement);
+ childElement = doc.createElement("secondchild"); //$NON-NLS-1$
+ parentElement.appendChild(childElement);
+
+ // Create the processor
+ TestTextCompletionProcessor processor = new TestTextCompletionProcessor();
+
+ // Test it!
+ childElement = processor.findChildElementNamedOf(parentElement, "jkl"); //$NON-NLS-1$
+ assertNull(childElement);
+ childElement = processor.findChildElementNamedOf(parentElement, "secondchild"); //$NON-NLS-1$
+ assertNotNull(childElement);
+ assertEquals("secondchild", childElement.getTagName()); //$NON-NLS-1$
+ }
+
+ /**
+ * Tests that the processor correctly determines the attribute proposal mode
+ */
+ public void testDeterminingAttributeProposalMode() {
+ TestTextCompletionProcessor processor = new TestTextCompletionProcessor();
+ int mode = processor.determineProposalMode("<project><property ta", 21, "ta"); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_ATTRIBUTE_PROPOSAL, mode);
+ mode = processor.determineProposalMode("<project><property ", 19, ""); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_ATTRIBUTE_PROPOSAL, mode);
+ mode = processor.determineProposalMode("<project><property ", 21, ""); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_ATTRIBUTE_PROPOSAL, mode);
+ mode = processor.determineProposalMode("<property id=\"hu\" ", 18, ""); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_ATTRIBUTE_PROPOSAL, mode);
+ mode = processor.determineProposalMode("<property id=\"hu\" \r\n ", 21, ""); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_ATTRIBUTE_PROPOSAL, mode);
+ mode = processor.determineProposalMode("<property\n", 10, ""); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_ATTRIBUTE_PROPOSAL, mode);
+ }
+
+ /**
+ * Tests that the processor correctly determines the attribute value proposal mode
+ */
+ public void testDeterminingAttributeValueProposalMode() {
+ TestTextCompletionProcessor processor = new TestTextCompletionProcessor();
+ int mode = processor.determineProposalMode("<project><property take=\"", 25, ""); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_ATTRIBUTE_VALUE_PROPOSAL, mode);
+ mode = processor.determineProposalMode("<property id=\"hu\" ", 14, ""); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_ATTRIBUTE_VALUE_PROPOSAL, mode);
+ mode = processor.determineProposalMode("<property id=\"hu\" \r\n ", 16, "hu"); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_ATTRIBUTE_VALUE_PROPOSAL, mode);
+ mode = processor.determineProposalMode("<property \n\t\tid=\"hu\" \r\n ", 19, "hu"); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_ATTRIBUTE_VALUE_PROPOSAL, mode);
+ }
+
/**
- * Tests the algorithm for finding a child as used by the processor.
- */
- public void testFindChildElement() throws ParserConfigurationException {
-
- // Create the test data
- DocumentBuilder docBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
- Document doc = docBuilder.newDocument();
- Element parentElement = doc.createElement("parent"); //$NON-NLS-1$
- Attr attribute = doc.createAttribute("att1"); //$NON-NLS-1$
- parentElement.setAttributeNode(attribute);
- Comment comment = doc.createComment("lakjjflsakdfj"); //$NON-NLS-1$
- parentElement.appendChild(comment);
- Element childElement = doc.createElement("child"); //$NON-NLS-1$
- parentElement.appendChild(childElement);
- childElement = doc.createElement("secondchild"); //$NON-NLS-1$
- parentElement.appendChild(childElement);
-
- // Create the processor
- TestTextCompletionProcessor processor = new TestTextCompletionProcessor();
-
- // Test it!
- childElement = processor.findChildElementNamedOf(parentElement, "jkl"); //$NON-NLS-1$
- assertNull(childElement);
- childElement = processor.findChildElementNamedOf(parentElement, "secondchild"); //$NON-NLS-1$
- assertNotNull(childElement);
- assertEquals("secondchild", childElement.getTagName()); //$NON-NLS-1$
- }
-
- /**
- * Tests that the processor correctly determines the attribute proposal mode
- */
- public void testDeterminingAttributeProposalMode() {
- TestTextCompletionProcessor processor = new TestTextCompletionProcessor();
- int mode = processor.determineProposalMode("<project><property ta", 21, "ta"); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_ATTRIBUTE_PROPOSAL, mode);
- mode = processor.determineProposalMode("<project><property ", 19, ""); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_ATTRIBUTE_PROPOSAL, mode);
- mode = processor.determineProposalMode("<project><property ", 21, ""); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_ATTRIBUTE_PROPOSAL, mode);
- mode = processor.determineProposalMode("<property id=\"hu\" ", 18, ""); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_ATTRIBUTE_PROPOSAL, mode);
- mode = processor.determineProposalMode("<property id=\"hu\" \r\n ", 21, ""); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_ATTRIBUTE_PROPOSAL, mode);
- mode = processor.determineProposalMode("<property\n", 10, ""); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_ATTRIBUTE_PROPOSAL, mode);
- }
-
- /**
- * Tests that the processor correctly determines the attribute value proposal mode
- */
- public void testDeterminingAttributeValueProposalMode() {
- TestTextCompletionProcessor processor = new TestTextCompletionProcessor();
- int mode = processor.determineProposalMode("<project><property take=\"", 25, ""); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_ATTRIBUTE_VALUE_PROPOSAL, mode);
- mode = processor.determineProposalMode("<property id=\"hu\" ", 14, ""); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_ATTRIBUTE_VALUE_PROPOSAL, mode);
- mode = processor.determineProposalMode("<property id=\"hu\" \r\n ", 16, "hu"); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_ATTRIBUTE_VALUE_PROPOSAL, mode);
- mode = processor.determineProposalMode("<property \n\t\tid=\"hu\" \r\n ", 19, "hu"); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_ATTRIBUTE_VALUE_PROPOSAL, mode);
- }
-
- /**
- * Tests how the processor determines the proposal mode.
- */
- public void testDeterminingPropertyProposalMode() {
- TestTextCompletionProcessor processor = new TestTextCompletionProcessor();
- int mode = processor.determineProposalMode("<project><target name=\"$\"", 24, ""); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_PROPERTY_PROPOSAL, mode);
- mode = processor.determineProposalMode("<project><target name=\"${\"", 25, ""); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_PROPERTY_PROPOSAL, mode);
- mode = processor.determineProposalMode("<project><target name=\"${ja.bl\"", 30, "ja.bl"); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_PROPERTY_PROPOSAL, mode);
-
+ * Tests how the processor determines the proposal mode.
+ */
+ public void testDeterminingPropertyProposalMode() {
+ TestTextCompletionProcessor processor = new TestTextCompletionProcessor();
+ int mode =processor.determineProposalMode("<project><target name=\"$\"", 24, ""); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_PROPERTY_PROPOSAL, mode);
+ mode = processor.determineProposalMode("<project><target name=\"${\"", 25, ""); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_PROPERTY_PROPOSAL, mode);
+ mode = processor.determineProposalMode("<project><target name=\"${ja.bl\"", 30, "ja.bl"); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_PROPERTY_PROPOSAL, mode);
+
mode = processor.determineProposalMode("<project><target><echo>${", 25, ""); //$NON-NLS-1$ //$NON-NLS-2$
assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_PROPERTY_PROPOSAL, mode);
- }
-
+ }
+
/**
* Tests how the processor determines the proposal mode.
*/
public void testDeterminingTaskProposalMode() {
TestTextCompletionProcessor processor = new TestTextCompletionProcessor();
-
+
int mode = processor.determineProposalMode("<project><prop", 14, "prop"); //$NON-NLS-1$ //$NON-NLS-2$
assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_TASK_PROPOSAL, mode);
mode = processor.determineProposalMode("<project> hjk", 13, ""); //$NON-NLS-1$ //$NON-NLS-2$
@@ -800,429 +797,429 @@
assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_TASK_PROPOSAL_CLOSING, mode);
mode = processor.determineProposalMode("", 0, ""); //$NON-NLS-1$ //$NON-NLS-2$
assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_BUILDFILE, mode);
- mode = processor.determineProposalMode("<project default=\"hey\"><target name=\"hey\"><javac>a</javac></target></project>", 51, "a"); //$NON-NLS-1$ //$NON-NLS-2$
+ mode= processor.determineProposalMode("<project default=\"hey\"><target name=\"hey\"><javac>a</javac></target></project>", 51, "a"); //$NON-NLS-1$ //$NON-NLS-2$
assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_TASK_PROPOSAL, mode);
mode = processor.determineProposalMode("<project> hjk", 13, ""); //$NON-NLS-1$ //$NON-NLS-2$
assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_TASK_PROPOSAL, mode);
}
-
+
/**
* Tests how the processor determines the proposal mode.
*/
public void testDeterminingTaskClosingProposalMode() {
TestTextCompletionProcessor processor = new TestTextCompletionProcessor();
-
+
int mode = processor.determineProposalMode("<target name=\"main\"><zip><size></size></zip></", 46, ""); //$NON-NLS-1$ //$NON-NLS-2$
assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_TASK_PROPOSAL_CLOSING, mode);
}
- /**
- * Tests how the prefix will be determined.
- */
- public void testDeterminingPrefix() {
- TestTextCompletionProcessor processor = new TestTextCompletionProcessor();
+ /**
+ * Tests how the prefix will be determined.
+ */
+ public void testDeterminingPrefix() {
+ TestTextCompletionProcessor processor = new TestTextCompletionProcessor();
- // cursor after ${
- String prefix = processor.getPrefixFromDocument("<project><target name=\"${}\"", 25); //$NON-NLS-1$
- assertEquals("", prefix); //$NON-NLS-1$
+ // cursor after ${
+ String prefix = processor.getPrefixFromDocument("<project><target name=\"${}\"", 25); //$NON-NLS-1$
+ assertEquals("", prefix); //$NON-NLS-1$
- // cursor after $
- prefix = processor.getPrefixFromDocument("<project><target name=\"${\"", 24); //$NON-NLS-1$
- assertEquals("", prefix); //$NON-NLS-1$
+ // cursor after $
+ prefix = processor.getPrefixFromDocument("<project><target name=\"${\"", 24); //$NON-NLS-1$
+ assertEquals("", prefix); //$NON-NLS-1$
- // cursor after ${ja.
- prefix = processor.getPrefixFromDocument("<project><target name=\"${ja.\"", 28); //$NON-NLS-1$
- assertEquals("ja.", prefix); //$NON-NLS-1$
-
- // cursor after <
+ // cursor after ${ja.
+ prefix = processor.getPrefixFromDocument("<project><target name=\"${ja.\"", 28); //$NON-NLS-1$
+ assertEquals("ja.", prefix); //$NON-NLS-1$
+
+ // cursor after <
prefix = processor.getPrefixFromDocument("<project><", 10); //$NON-NLS-1$
assertEquals("", prefix); //$NON-NLS-1$
-
+
prefix = processor.getPrefixFromDocument("<project name= \"test\"><tar", 26); //$NON-NLS-1$
assertEquals("tar", prefix); //$NON-NLS-1$
-
+
prefix = processor.getPrefixFromDocument("pro", 3); //$NON-NLS-1$
assertEquals("pro", prefix); //$NON-NLS-1$
- }
+ }
+
+ /**
+ * Tests how the processor determines the proposal mode.
+ */
+ public void testDeterminingNoneProposalMode() {
+ TestTextCompletionProcessor processor = new TestTextCompletionProcessor();
- /**
- * Tests how the processor determines the proposal mode.
- */
- public void testDeterminingNoneProposalMode() {
- TestTextCompletionProcessor processor = new TestTextCompletionProcessor();
-
- int mode = processor.determineProposalMode("<project><prop bla", 18, "bla"); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_NONE, mode);
- mode = processor.determineProposalMode("<project default=\"hey\"><target name=", 37, "name="); //$NON-NLS-1$ //$NON-NLS-2$
+ int mode = processor.determineProposalMode("<project><prop bla", 18, "bla"); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_NONE, mode);
+ mode= processor.determineProposalMode("<project default=\"hey\"><target name=", 37, "name="); //$NON-NLS-1$ //$NON-NLS-2$
assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_NONE, mode);
}
-
- /**
- * Tests the code completion for tasks in an empty build file (no parent).
- */
- public void testTaskProposalsForEmptyBuildFile() {
+
+ /**
+ * Tests the code completion for tasks in an empty build file (no parent).
+ */
+ public void testTaskProposalsForEmptyBuildFile() {
TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("empty.xml")); //$NON-NLS-1$
- ICompletionProposal[] proposals = processor.getBuildFileProposals("", ""); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals(1, proposals.length);
- assertEquals("project", proposals[0].getDisplayString()); //$NON-NLS-1$
-
- proposals = processor.getBuildFileProposals(" jl", "jl"); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals(0, proposals.length);
-
- proposals = processor.getBuildFileProposals(" \n<project></project>", ""); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals(1, proposals.length);
- processor.dispose();
- }
-
- /**
- * Tests the code completion for refids (Bug 49830)
- */
- public void testRefidProposals() throws BadLocationException {
+ ICompletionProposal[] proposals = processor.getBuildFileProposals("", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals(1, proposals.length);
+ assertEquals("project", proposals[0].getDisplayString()); //$NON-NLS-1$
+
+ proposals = processor.getBuildFileProposals(" jl", "jl"); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals(0, proposals.length);
+
+ proposals = processor.getBuildFileProposals(" \n<project></project>", ""); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals(1, proposals.length);
+ processor.dispose();
+ }
+
+ /**
+ * Tests the code completion for refids (Bug 49830)
+ */
+ public void testRefidProposals() throws BadLocationException {
TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("refid.xml")); //$NON-NLS-1$
- int lineNumber = 9;
- int columnNumber = 16;
- int lineOffset = getCurrentDocument().getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
- ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
- // for sure should have project.class.path and project.class.path2 but project.class.path2
- // should not present itself as a possible reference
- assertTrue(proposals.length >= 2);
- assertContains("project.class.path", proposals); //$NON-NLS-1$
- assertDoesNotContain("project.class.path2", proposals); //$NON-NLS-1$
- processor.dispose();
- }
-
- /**
- * Tests the code completion for custom task that has a boolean attribute
- */
- public void testCustomBooleanProposals() throws BadLocationException {
+ int lineNumber= 9;
+ int columnNumber= 16;
+ int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+ ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
+ //for sure should have project.class.path and project.class.path2 but project.class.path2
+ //should not present itself as a possible reference
+ assertTrue(proposals.length >= 2);
+ assertContains("project.class.path", proposals); //$NON-NLS-1$
+ assertDoesNotContain("project.class.path2", proposals); //$NON-NLS-1$
+ processor.dispose();
+ }
+
+ /**
+ * Tests the code completion for custom task that has a boolean attribute
+ */
+ public void testCustomBooleanProposals() throws BadLocationException {
TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("customBoolean.xml")); //$NON-NLS-1$
- int lineNumber = 2;
- int columnNumber = 44;
- int lineOffset = getCurrentDocument().getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
- ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
- // true false yes no on off
- assertTrue(proposals.length == 6);
- assertContains("true", proposals); //$NON-NLS-1$
- assertContains("no", proposals); //$NON-NLS-1$
- processor.dispose();
- }
-
- /**
- * Tests the code completion for custom task that has an enumerated attribute
- */
- public void testCustomEnumeratedProposals() throws BadLocationException {
+ int lineNumber= 2;
+ int columnNumber= 44;
+ int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+ ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
+ //true false yes no on off
+ assertTrue(proposals.length == 6);
+ assertContains("true", proposals); //$NON-NLS-1$
+ assertContains("no", proposals); //$NON-NLS-1$
+ processor.dispose();
+ }
+
+ /**
+ * Tests the code completion for custom task that has an enumerated attribute
+ */
+ public void testCustomEnumeratedProposals() throws BadLocationException {
TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("extensionPointTaskSepVM.xml")); //$NON-NLS-1$
- int lineNumber = 2;
- int columnNumber = 24;
- int lineOffset = getCurrentDocument().getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
- ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), "c"); //$NON-NLS-1$
- assertEquals("Incorrect number of proposals", 2, proposals.length); //$NON-NLS-1$
- assertContains("cool", proposals); //$NON-NLS-1$
- assertContains("chillin", proposals); //$NON-NLS-1$
- assertDoesNotContain("awesome", proposals); //$NON-NLS-1$
- processor.dispose();
- }
-
- /**
- * Tests the code completion for custom task that have a reference attribute
- */
- public void testCustomReferenceProposals() throws BadLocationException {
+ int lineNumber= 2;
+ int columnNumber= 24;
+ int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+ ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), "c"); //$NON-NLS-1$
+ assertEquals("Incorrect number of proposals", 2, proposals.length); //$NON-NLS-1$
+ assertContains("cool", proposals); //$NON-NLS-1$
+ assertContains("chillin", proposals); //$NON-NLS-1$
+ assertDoesNotContain("awesome", proposals); //$NON-NLS-1$
+ processor.dispose();
+ }
+
+ /**
+ * Tests the code completion for custom task that have a reference attribute
+ */
+ public void testCustomReferenceProposals() throws BadLocationException {
TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("extensionPointTaskSepVM.xml")); //$NON-NLS-1$
- int lineNumber = 2;
- int columnNumber = 41;
- int lineOffset = getCurrentDocument().getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
- ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), "e"); //$NON-NLS-1$
- assertEquals("Incorrect number of proposals", 1, proposals.length); //$NON-NLS-1$
- // the reference to the project by name
- assertContains("Extension Point Task", proposals); //$NON-NLS-1$
- processor.dispose();
- }
-
- /**
- * Tests the code completion for nested element attributes of custom tasks
- */
+ int lineNumber= 2;
+ int columnNumber= 41;
+ int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+ ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), "e"); //$NON-NLS-1$
+ assertEquals("Incorrect number of proposals", 1, proposals.length); //$NON-NLS-1$
+ //the reference to the project by name
+ assertContains("Extension Point Task", proposals); //$NON-NLS-1$
+ processor.dispose();
+ }
+
+ /**
+ * Tests the code completion for nested element attributes of custom tasks
+ */
public void testNestedElementAttributeProposals() throws BadLocationException {
TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("nestedElementAttributes.xml")); //$NON-NLS-1$
- int lineNumber = 4;
- int columnNumber = 18;
- int lineOffset = getCurrentDocument().getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
- ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
- assertTrue(proposals.length == 1);
- assertContains("works", proposals); //$NON-NLS-1$
- processor.dispose();
+ int lineNumber= 4;
+ int columnNumber= 18;
+ int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+ ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
+ assertTrue(proposals.length == 1);
+ assertContains("works", proposals); //$NON-NLS-1$
+ processor.dispose();
}
-
+
/**
- * Tests the code completion for nested elements
- */
+ * Tests the code completion for nested elements
+ */
public void testNestedElementProposals() throws BadLocationException {
TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("nestedElementAttributes.xml")); //$NON-NLS-1$
- int lineNumber = 4;
- int columnNumber = 3;
- int lineOffset = getCurrentDocument().getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
- ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
- assertTrue(proposals.length == 1);
- assertContains("nestedelement", proposals); //$NON-NLS-1$
- processor.dispose();
+ int lineNumber= 4;
+ int columnNumber= 3;
+ int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+ ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
+ assertTrue(proposals.length == 1);
+ assertContains("nestedelement", proposals); //$NON-NLS-1$
+ processor.dispose();
}
-
+
/**
- * Tests the code completion for nested elements that no templates are presented Bug 76414
- */
+ * Tests the code completion for nested elements that no templates are presented
+ * Bug 76414
+ */
public void testNestedElementTemplateProposals() throws BadLocationException, PartInitException {
try {
- IFile file = getIFile("nestedElementAttributes.xml"); //$NON-NLS-1$
- AntEditor editor = (AntEditor) EditorTestHelper.openInEditor(file, ANT_EDITOR_ID, true);
- TestTextCompletionProcessor processor = new TestTextCompletionProcessor(editor);
- int lineNumber = 4;
- int lineOffset = editor.getDocumentProvider().getDocument(editor.getEditorInput()).getLineOffset(lineNumber);
-
- editor.getSelectionProvider().setSelection(new TextSelection(lineOffset, 0));
-
- ICompletionProposal[] proposals = processor.computeCompletionProposals(lineOffset);
-
- assertTrue("No templates are relevant at the current position. Found: " + proposals.length, proposals.length == 1); //$NON-NLS-1$
- }
- finally {
+ IFile file= getIFile("nestedElementAttributes.xml"); //$NON-NLS-1$
+ AntEditor editor= (AntEditor)EditorTestHelper.openInEditor(file, ANT_EDITOR_ID, true);
+ TestTextCompletionProcessor processor= new TestTextCompletionProcessor(editor);
+ int lineNumber= 4;
+ int lineOffset= editor.getDocumentProvider().getDocument(editor.getEditorInput()).getLineOffset(lineNumber);
+
+ editor.getSelectionProvider().setSelection(new TextSelection(lineOffset, 0));
+
+ ICompletionProposal[] proposals= processor.computeCompletionProposals(lineOffset);
+
+ assertTrue("No templates are relevant at the current position. Found: " + proposals.length, proposals.length == 1); //$NON-NLS-1$
+ } finally {
EditorTestHelper.closeAllEditors();
}
}
-
+
/**
- * Tests the code completion for nested element attribute values of custom tasks
- */
+ * Tests the code completion for nested element attribute values of custom tasks
+ */
public void testNestedElementAttributeValueProposals() throws BadLocationException {
TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("nestedElementAttributes.xml")); //$NON-NLS-1$
- int lineNumber = 4;
- int columnNumber = 25;
- int lineOffset = getCurrentDocument().getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
- ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
- assertEquals("There should be 6 completion proposals", proposals.length, 6); //$NON-NLS-1$
- assertContains("true", proposals); //$NON-NLS-1$
- processor.dispose();
+ int lineNumber= 4;
+ int columnNumber= 25;
+ int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+ ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
+ assertTrue(proposals.length == 6); //the boolean proposals
+ assertContains("true", proposals); //$NON-NLS-1$
+ processor.dispose();
}
-
+
/**
- * Tests the code completion when a parse error occurs in the project definition bug 63151
- */
+ * Tests the code completion when a parse error occurs in the project definition
+ * bug 63151
+ */
public void testBadProjectProposals() throws BadLocationException {
TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("badproject.xml")); //$NON-NLS-1$
- int lineNumber = 0;
- int columnNumber = 10;
- int lineOffset = getCurrentDocument().getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
- ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), "n"); //$NON-NLS-1$
- assertTrue(proposals.length == 1);
- assertContains(IAntCoreConstants.NAME, proposals);
- processor.dispose();
+ int lineNumber= 0;
+ int columnNumber= 10;
+ int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+ ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), "n"); //$NON-NLS-1$
+ assertTrue(proposals.length == 1);
+ assertContains(IAntCoreConstants.NAME, proposals);
+ processor.dispose();
}
-
+
/**
- * Tests the code completion for attribute value proposals both with and without leading whitespace
- */
+ * Tests the code completion for attribute value proposals both with and without leading whitespace
+ */
public void testAttributeValueProposals() throws BadLocationException {
TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("javac.xml")); //$NON-NLS-1$
- int lineNumber = 2;
- int columnNumber = 29;
- int lineOffset = getCurrentDocument().getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
- ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
- assertTrue(proposals.length == 6); // boolean proposals
- assertContains("false", proposals); //$NON-NLS-1$
-
- lineNumber = 3;
- columnNumber = 19;
- lineOffset = getCurrentDocument().getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
- proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
- assertTrue(proposals.length == 6); // boolean proposals
- assertContains("true", proposals); //$NON-NLS-1$
-
- lineNumber = 4;
- columnNumber = 22;
- lineOffset = getCurrentDocument().getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
- proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
- assertTrue(proposals.length == 6); // boolean proposals
- assertContains("no", proposals); //$NON-NLS-1$
- processor.dispose();
+ int lineNumber= 2;
+ int columnNumber= 29;
+ int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+ ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
+ assertTrue(proposals.length == 6); //boolean proposals
+ assertContains("false", proposals); //$NON-NLS-1$
+
+ lineNumber= 3;
+ columnNumber= 19;
+ lineOffset= getCurrentDocument().getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+ proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
+ assertTrue(proposals.length == 6); //boolean proposals
+ assertContains("true", proposals); //$NON-NLS-1$
+
+ lineNumber= 4;
+ columnNumber= 22;
+ lineOffset= getCurrentDocument().getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+ proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
+ assertTrue(proposals.length == 6); //boolean proposals
+ assertContains("no", proposals); //$NON-NLS-1$
+ processor.dispose();
}
-
+
/**
- * Tests the code completion for an empty buildfile
- */
+ * Tests the code completion for an empty buildfile
+ */
public void testEmptyBuildfileProposals() throws PartInitException {
try {
- IFile file = getIFile("empty.xml"); //$NON-NLS-1$
- AntEditor editor = (AntEditor) EditorTestHelper.openInEditor(file, ANT_EDITOR_ID, true);
- TestTextCompletionProcessor processor = new TestTextCompletionProcessor(editor);
-
- editor.getSelectionProvider().setSelection(TextSelection.emptySelection());
-
- ICompletionProposal[] proposals = processor.computeCompletionProposals(0);
- assertTrue("Four proposals are relevant at the current position. Found: " + proposals.length, proposals.length == 4); //$NON-NLS-1$
- assertContains("project", proposals); //$NON-NLS-1$
- assertContains("Buildfile template - simple buildfile with two targets", proposals); //$NON-NLS-1$
- processor.dispose();
- }
- finally {
+ IFile file= getIFile("empty.xml"); //$NON-NLS-1$
+ AntEditor editor= (AntEditor)EditorTestHelper.openInEditor(file, ANT_EDITOR_ID, true);
+ TestTextCompletionProcessor processor= new TestTextCompletionProcessor(editor);
+
+ editor.getSelectionProvider().setSelection(TextSelection.emptySelection());
+
+ ICompletionProposal[] proposals= processor.computeCompletionProposals(0);
+ assertTrue("Four proposals are relevant at the current position. Found: " + proposals.length, proposals.length == 4); //$NON-NLS-1$
+ assertContains("project", proposals); //$NON-NLS-1$
+ assertContains("Buildfile template - simple buildfile with two targets", proposals); //$NON-NLS-1$
+ processor.dispose();
+ } finally {
EditorTestHelper.closeAllEditors();
}
}
-
- /**
- * Tests the code completion for refids (Bug 65480)
- */
- public void testJavacReferencesProposals() throws BadLocationException {
+
+ /**
+ * Tests the code completion for refids (Bug 65480)
+ */
+ public void testJavacReferencesProposals() throws BadLocationException {
TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("refid.xml")); //$NON-NLS-1$
- int lineNumber = 16;
- int columnNumber = 24;
- int lineOffset = getCurrentDocument().getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
- ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
- // for sure should have project.class.path and project.class.path2
- assertTrue(proposals.length >= 2);
- assertContains("project.class.path", proposals); //$NON-NLS-1$
- assertContains("project.class.path2", proposals); //$NON-NLS-1$
-
- lineNumber = 17;
- columnNumber = 25;
- lineOffset = getCurrentDocument().getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
- proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
- // for sure should have project.class.path and project.class.path2
- assertTrue(proposals.length >= 2);
- assertContains("project.class.path", proposals); //$NON-NLS-1$
- assertContains("project.class.path2", proposals); //$NON-NLS-1$
-
- lineNumber = 18;
- columnNumber = 26;
- lineOffset = getCurrentDocument().getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
- proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
- // for sure should have project.class.path and project.class.path2
- assertTrue(proposals.length >= 2);
- assertContains("project.class.path", proposals); //$NON-NLS-1$
- assertContains("project.class.path2", proposals); //$NON-NLS-1$
- processor.dispose();
- }
-
- /**
- * Tests the code completion for the default target of a project (Bug 78030)
- */
- public void testProjectDefaultProposals() throws BadLocationException {
+ int lineNumber= 16;
+ int columnNumber= 24;
+ int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+ ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
+ //for sure should have project.class.path and project.class.path2
+ assertTrue(proposals.length >= 2);
+ assertContains("project.class.path", proposals); //$NON-NLS-1$
+ assertContains("project.class.path2", proposals); //$NON-NLS-1$
+
+ lineNumber= 17;
+ columnNumber= 25;
+ lineOffset= getCurrentDocument().getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+ proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
+ //for sure should have project.class.path and project.class.path2
+ assertTrue(proposals.length >= 2);
+ assertContains("project.class.path", proposals); //$NON-NLS-1$
+ assertContains("project.class.path2", proposals); //$NON-NLS-1$
+
+ lineNumber= 18;
+ columnNumber= 26;
+ lineOffset= getCurrentDocument().getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+ proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
+ //for sure should have project.class.path and project.class.path2
+ assertTrue(proposals.length >= 2);
+ assertContains("project.class.path", proposals); //$NON-NLS-1$
+ assertContains("project.class.path2", proposals); //$NON-NLS-1$
+ processor.dispose();
+ }
+
+ /**
+ * Tests the code completion for the default target of a project (Bug 78030)
+ */
+ public void testProjectDefaultProposals() throws BadLocationException {
TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("buildtest1.xml")); //$NON-NLS-1$
- int lineNumber = 1;
- int columnNumber = 49;
- int lineOffset = getCurrentDocument().getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
- ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
- // includes all the public targets
- assertTrue(proposals.length == 8);
- assertContains("main", proposals); //$NON-NLS-1$
- assertContains("testUnless", proposals); //$NON-NLS-1$
- processor.dispose();
- }
-
- /**
- * Tests the code completion for project attributes (bug 82031)
- */
- public void testProjectAttributeProposals() throws BadLocationException {
+ int lineNumber= 1;
+ int columnNumber= 49;
+ int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+ ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
+ //includes all the public targets
+ assertTrue(proposals.length == 8);
+ assertContains("main", proposals); //$NON-NLS-1$
+ assertContains("testUnless", proposals); //$NON-NLS-1$
+ processor.dispose();
+ }
+
+ /**
+ * Tests the code completion for project attributes (bug 82031)
+ */
+ public void testProjectAttributeProposals() throws BadLocationException {
TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("buildtest1.xml")); //$NON-NLS-1$
- int lineNumber = 1;
- int columnNumber = 9;
- int lineOffset = getCurrentDocument().getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
- ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
- // includes all the project attributes
- assertTrue(proposals.length == 3);
- assertContains(IAntCoreConstants.NAME, proposals);
- assertContains("default", proposals); //$NON-NLS-1$
- assertContains("basedir", proposals); //$NON-NLS-1$
+ int lineNumber= 1;
+ int columnNumber= 9;
+ int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+ ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
+ //includes all the project attributes
+ assertTrue(proposals.length == 3);
+ assertContains(IAntCoreConstants.NAME, proposals);
+ assertContains("default", proposals); //$NON-NLS-1$
+ assertContains("basedir", proposals); //$NON-NLS-1$
+
+ columnNumber= 10;
+ lineOffset= getCurrentDocument().getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+ proposals = processor.getProposalsFromDocument(getCurrentDocument(), "n"); //$NON-NLS-1$
+ assertTrue(proposals.length == 1);
+ assertContains(IAntCoreConstants.NAME, proposals);
+ processor.dispose();
+ }
+
+ public void testExtensionPoint() throws BadLocationException {
+ TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("antextpoint1.xml")); //$NON-NLS-1$
- columnNumber = 10;
- lineOffset = getCurrentDocument().getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
- proposals = processor.getProposalsFromDocument(getCurrentDocument(), "n"); //$NON-NLS-1$
- assertTrue(proposals.length == 1);
- assertContains(IAntCoreConstants.NAME, proposals);
- processor.dispose();
- }
+ int lineNumber= 2;
+ int columnNumber= 3;
+ int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+ ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), "ext"); //$NON-NLS-1$
+ assertTrue(proposals.length == 3);
+ assertContains("extension-point", proposals); //$NON-NLS-1$
+ processor.dispose();
+ }
- public void testExtensionPoint() throws BadLocationException {
- TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("antextpoint1.xml")); //$NON-NLS-1$
+ public void testExtensionOf() throws BadLocationException {
+ TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("antextpoint2.xml")); //$NON-NLS-1$
- int lineNumber = 2;
- int columnNumber = 3;
- int lineOffset = getCurrentDocument().getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
- ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), "ext"); //$NON-NLS-1$
- assertTrue(proposals.length == 3);
- assertContains("extension-point", proposals); //$NON-NLS-1$
- processor.dispose();
- }
-
- public void testExtensionOf() throws BadLocationException {
- TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("antextpoint2.xml")); //$NON-NLS-1$
-
- int lineNumber = 3;
- int columnNumber = 38;
- int lineOffset = getCurrentDocument().getLineOffset(lineNumber);
- processor.setLineNumber(lineNumber);
- processor.setColumnNumber(columnNumber);
- processor.setCursorPosition(lineOffset + columnNumber);
- ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
- assertTrue(proposals.length == 1);
- assertContains("ep-B", proposals); //$NON-NLS-1$
- processor.dispose();
- }
+ int lineNumber= 3;
+ int columnNumber= 38;
+ int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
+ processor.setLineNumber(lineNumber);
+ processor.setColumnNumber(columnNumber);
+ processor.setCursorPosition(lineOffset + columnNumber);
+ ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), ""); //$NON-NLS-1$
+ assertTrue(proposals.length == 1);
+ assertContains("ep-B", proposals); //$NON-NLS-1$
+ processor.dispose();
+ }
}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/formatter/XmlTagFormatterTest.java b/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/formatter/XmlTagFormatterTest.java
index 3d30dd4..85ed28e 100644
--- a/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/formatter/XmlTagFormatterTest.java
+++ b/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/formatter/XmlTagFormatterTest.java
@@ -13,334 +13,363 @@
import java.util.List;
-import org.eclipse.ant.internal.ui.editor.formatter.FormattingPreferences;
import org.eclipse.ant.internal.ui.editor.formatter.XmlTagFormatter;
+import org.eclipse.ant.internal.ui.editor.formatter.FormattingPreferences;
import org.eclipse.ant.internal.ui.editor.formatter.XmlTagFormatter.AttributePair;
import org.eclipse.ant.tests.ui.testplugin.AbstractAntUITest;
public class XmlTagFormatterTest extends AbstractAntUITest {
- // TODO This test is too low level and too tightly coupled to internals.
+ // TODO This test is too low level and too tightly coupled to internals.
- /* ---------------- Test Fixture ---------------- */
- // In case anyone wonders why many people recommend against testing
- // privates, I produce this example...
- private static class InnerClassFactory extends XmlTagFormatter {
+ /* ---------------- Test Fixture ---------------- */
+ // In case anyone wonders why many people recommend against testing
+ // privates, I produce this example...
+ private static class InnerClassFactory extends XmlTagFormatter {
- public static class ParseException extends XmlTagFormatter.ParseException {
+ public static class ParseException extends XmlTagFormatter.ParseException {
private static final long serialVersionUID = 1L;
public ParseException(String message) {
- super(message);
- }
- }
+ super(message);
+ }
+ }
- public static class Tag extends XmlTagFormatter.Tag {
- // do nothing
- }
+ public static class Tag extends XmlTagFormatter.Tag {
+ //do nothing
+ }
- public static class TagFormatter extends XmlTagFormatter.TagFormatter {
+ public static class TagFormatter extends XmlTagFormatter.TagFormatter {
- @Override
- public boolean lineRequiresWrap(String line, int lineWidth, int tabWidth) {
- return super.lineRequiresWrap(line, lineWidth, tabWidth);
- }
+ public boolean lineRequiresWrap(String line, int lineWidth,
+ int tabWidth) {
+ return super.lineRequiresWrap(line, lineWidth, tabWidth);
+ }
- @Override
- public int tabExpandedLineWidth(String line, int tabWidth) {
- return super.tabExpandedLineWidth(line, tabWidth);
- }
+ public int tabExpandedLineWidth(String line, int tabWidth) {
+ return super.tabExpandedLineWidth(line, tabWidth);
+ }
- public String wrapTag(Tag tag, FormattingPreferences prefs, String indent, String lineDelimiter) {
- return super.wrapTag(tag, prefs, indent, lineDelimiter);
- }
- }
+ public String wrapTag(Tag tag, FormattingPreferences prefs,
+ String indent, String lineDelimiter) {
+ return super.wrapTag(tag, prefs, indent, lineDelimiter);
+ }
+ }
- public static class TagParser extends XmlTagFormatter.TagParser {
+ public static class TagParser extends XmlTagFormatter.TagParser {
- @Override
- public String getElementName(String tagText) throws XmlTagFormatter.ParseException {
- return super.getElementName(tagText);
- }
+ public String getElementName(String tagText)
+ throws XmlTagFormatter.ParseException {
+ return super.getElementName(tagText);
+ }
- @Override
- public List<AttributePair> getAttibutes(String elementText) throws XmlTagFormatter.ParseException {
- return super.getAttibutes(elementText);
- }
- }
+ public List<AttributePair> getAttibutes(String elementText)
+ throws XmlTagFormatter.ParseException {
+ return super.getAttibutes(elementText);
+ }
+ }
- public static Tag createTag() {
- return new Tag();
- }
+ public static Tag createTag() {
+ return new Tag();
+ }
- public static TagFormatter createTagFormatter() {
- return new TagFormatter();
- }
+ public static TagFormatter createTagFormatter() {
+ return new TagFormatter();
+ }
- public static TagParser createTagParser() {
- return new TagParser();
- }
+ public static TagParser createTagParser() {
+ return new TagParser();
+ }
- public static void validateAttributePair(Object attributePair, String attribute, String value) {
- XmlTagFormatter.AttributePair pair = (XmlTagFormatter.AttributePair) attributePair;
- assertEquals(attribute, pair.getAttribute());
- assertEquals(value, pair.getValue());
- }
- }
+ public static void validateAttributePair(Object attributePair, String attribute, String value) {
+ XmlTagFormatter.AttributePair pair = (XmlTagFormatter.AttributePair) attributePair;
+ assertEquals(attribute, pair.getAttribute());
+ assertEquals(value, pair.getValue());
+ }
+ }
- public XmlTagFormatterTest(String name) {
- super(name);
- }
+ public XmlTagFormatterTest(String name) {
+ super(name);
+ }
- private FormattingPreferences getPreferences(final boolean wrapLongTags, final boolean alignCloseChar, final int maxLineWidth) {
+ private FormattingPreferences getPreferences(final boolean wrapLongTags,
+ final boolean alignCloseChar, final int maxLineWidth) {
- return new FormattingPreferences() {
+ return new FormattingPreferences() {
- @Override
- public boolean alignElementCloseChar() {
- return alignCloseChar;
- }
+ public boolean alignElementCloseChar() {
+ return alignCloseChar;
+ }
- @Override
- public boolean wrapLongTags() {
- return wrapLongTags;
- }
+ public boolean wrapLongTags() {
+ return wrapLongTags;
+ }
- @Override
- public int getMaximumLineWidth() {
- return maxLineWidth;
- }
- };
- }
+ public int getMaximumLineWidth() {
+ return maxLineWidth;
+ }
+ };
+ }
- private void simpleTest(String source, String target, FormattingPreferences prefs, String indent, String lineDelimiter) throws Exception {
+ private void simpleTest(String source, String target,
+ FormattingPreferences prefs, String indent, String lineDelimiter) throws Exception {
+
+ String result = XmlTagFormatter.format(source, prefs, indent, lineDelimiter);
+ assertEquals(target, result);
+ }
- String result = XmlTagFormatter.format(source, prefs, indent, lineDelimiter);
- assertEquals(target, result);
- }
+ /* ---------------- Test Methods ---------------- */
- /* ---------------- Test Methods ---------------- */
+ public void testParserGetElementName() throws Exception {
- public void testParserGetElementName() throws Exception {
+ InnerClassFactory.TagParser tagParser = InnerClassFactory
+ .createTagParser();
- InnerClassFactory.TagParser tagParser = InnerClassFactory.createTagParser();
+ String elementFixture1 = "<myElement attribute1=\"value1\" attribute2=\"value2\" />"; //$NON-NLS-1$
+ assertEquals("myElement", tagParser.getElementName(elementFixture1)); //$NON-NLS-1$
- String elementFixture1 = "<myElement attribute1=\"value1\" attribute2=\"value2\" />"; //$NON-NLS-1$
- assertEquals("myElement", tagParser.getElementName(elementFixture1)); //$NON-NLS-1$
+ String elementFixture2 = "<myElement\t\nattribute1=\"value1\" attribute2=\"value2\" />"; //$NON-NLS-1$
+ assertEquals("myElement", tagParser.getElementName(elementFixture2)); //$NON-NLS-1$
- String elementFixture2 = "<myElement\t\nattribute1=\"value1\" attribute2=\"value2\" />"; //$NON-NLS-1$
- assertEquals("myElement", tagParser.getElementName(elementFixture2)); //$NON-NLS-1$
+ assertEquals("x", tagParser.getElementName("<x/>")); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals("x", tagParser.getElementName("<x>")); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals("x:y", tagParser.getElementName("<x:y/>")); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals("x:y", tagParser.getElementName("<x:y abc/>")); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals("x", tagParser.getElementName("<x/>")); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals("x", tagParser.getElementName("<x>")); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals("x:y", tagParser.getElementName("<x:y/>")); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals("x:y", tagParser.getElementName("<x:y abc/>")); //$NON-NLS-1$ //$NON-NLS-2$
+ Exception e1 = null;
+ try {
+ tagParser.getElementName("<>"); //$NON-NLS-1$
+ } catch (Exception e) {
+ e1 = e;
+ }
+ assertNotNull(e1);
+ assertTrue(e1.getClass().isAssignableFrom(
+ InnerClassFactory.ParseException.class));
- Exception e1 = null;
- try {
- tagParser.getElementName("<>"); //$NON-NLS-1$
- }
- catch (Exception e) {
- e1 = e;
- }
- assertNotNull(e1);
- assertTrue(e1.getClass().isAssignableFrom(InnerClassFactory.ParseException.class));
+ Exception e2 = null;
+ try {
+ tagParser.getElementName("<>"); //$NON-NLS-1$
+ } catch (Exception e) {
+ e2 = e;
+ }
+ assertNotNull(e2);
+ assertTrue(e2.getClass().isAssignableFrom(
+ InnerClassFactory.ParseException.class));
- Exception e2 = null;
- try {
- tagParser.getElementName("<>"); //$NON-NLS-1$
- }
- catch (Exception e) {
- e2 = e;
- }
- assertNotNull(e2);
- assertTrue(e2.getClass().isAssignableFrom(InnerClassFactory.ParseException.class));
+ }
- }
+ public void testParserGetAttributes() throws Exception {
+ InnerClassFactory.TagParser tagParser = InnerClassFactory.createTagParser();
- public void testParserGetAttributes() throws Exception {
- InnerClassFactory.TagParser tagParser = InnerClassFactory.createTagParser();
+ List<AttributePair> attributePairs;
- List<AttributePair> attributePairs;
+ // test normal situation
+ attributePairs = tagParser.getAttibutes("<myElement attribute1=\"value1\" attribute2=\"value2\" />"); //$NON-NLS-1$
- // test normal situation
- attributePairs = tagParser.getAttibutes("<myElement attribute1=\"value1\" attribute2=\"value2\" />"); //$NON-NLS-1$
+ assertEquals(2, attributePairs.size());
+ InnerClassFactory.validateAttributePair(attributePairs.get(0),
+ "attribute1", "value1"); //$NON-NLS-1$ //$NON-NLS-2$
+ InnerClassFactory.validateAttributePair(attributePairs.get(1),
+ "attribute2", "value2"); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals(2, attributePairs.size());
- InnerClassFactory.validateAttributePair(attributePairs.get(0), "attribute1", "value1"); //$NON-NLS-1$ //$NON-NLS-2$
- InnerClassFactory.validateAttributePair(attributePairs.get(1), "attribute2", "value2"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ // test with extra whitespace and funny quotes
+ attributePairs = tagParser.getAttibutes("<myElement \nattribute1 = 'value1\"'\nattribute2\t=\"value2'\" />"); //$NON-NLS-1$
- // test with extra whitespace and funny quotes
- attributePairs = tagParser.getAttibutes("<myElement \nattribute1 = 'value1\"'\nattribute2\t=\"value2'\" />"); //$NON-NLS-1$
+ assertEquals(2, attributePairs.size());
+ InnerClassFactory.validateAttributePair(attributePairs.get(0),
+ "attribute1", "value1\""); //$NON-NLS-1$ //$NON-NLS-2$
+ InnerClassFactory.validateAttributePair(attributePairs.get(1),
+ "attribute2", "value2'"); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals(2, attributePairs.size());
- InnerClassFactory.validateAttributePair(attributePairs.get(0), "attribute1", "value1\""); //$NON-NLS-1$ //$NON-NLS-2$
- InnerClassFactory.validateAttributePair(attributePairs.get(1), "attribute2", "value2'"); //$NON-NLS-1$ //$NON-NLS-2$
-
- // test parse errors - equals in the wrong place
- Exception e2 = null;
- try {
- attributePairs = tagParser.getAttibutes("<myElement attribute1=\"value1\" = attribute2=\"value2\" />"); //$NON-NLS-1$
- }
- catch (Exception e) {
- e2 = e;
- }
- assertNotNull(e2);
- assertTrue(e2.getClass().isAssignableFrom(InnerClassFactory.ParseException.class));
-
- // test parse errors - quotes in the wrong place
- Exception e3 = null;
- try {
- attributePairs = tagParser.getAttibutes("<myElement attribute1=\"\"value1\" attribute2=\"value2\" />"); //$NON-NLS-1$
- }
- catch (Exception e) {
- e3 = e;
- }
- assertNotNull(e3);
- assertTrue(e3.getClass().isAssignableFrom(InnerClassFactory.ParseException.class));
- }
-
- public void testFormat01() throws Exception {
- String lineSep = System.getProperty("line.separator"); //$NON-NLS-1$
- String indent = "\t"; //$NON-NLS-1$
- String source = "<target name=\"myTargetName\" depends=\"a,b,c,d,e,f,g\" description=\"This is a very long element which ought to be wrapped.\">"; //$NON-NLS-1$
- String target = "<target name=\"myTargetName\"" + lineSep //$NON-NLS-1$
- + indent + " depends=\"a,b,c,d,e,f,g\"" + lineSep //$NON-NLS-1$
- + indent + " description=\"This is a very long element which ought to be wrapped.\">"; //$NON-NLS-1$
-
- simpleTest(source, target, getPreferences(true, false, 60), indent, lineSep);
- }
+// TODO attributes which contain whitespace should throw a parse error
+//
+// // test parse errors - whitespace in attribute name
+// Exception e1 = null;
+// try {
+// attributePairs = tagParser
+// .getAttibutes("<myElement at tribute1 = \"value1\" attribute2=\"value2\" />");
+// } catch (Exception e) {
+// e1 = e;
+// }
+// assertNotNull(e1);
+// assertTrue(e1.getClass().isAssignableFrom(
+// InnerClassFactory.ParseException.class));
+
+
+ // test parse errors - equals in the wrong place
+ Exception e2 = null;
+ try {
+ attributePairs = tagParser.getAttibutes("<myElement attribute1=\"value1\" = attribute2=\"value2\" />"); //$NON-NLS-1$
+ } catch (Exception e) {
+ e2 = e;
+ }
+ assertNotNull(e2);
+ assertTrue(e2.getClass().isAssignableFrom(
+ InnerClassFactory.ParseException.class));
+
+
+ // test parse errors - quotes in the wrong place
+ Exception e3 = null;
+ try {
+ attributePairs = tagParser
+ .getAttibutes("<myElement attribute1=\"\"value1\" attribute2=\"value2\" />"); //$NON-NLS-1$
+ } catch (Exception e) {
+ e3 = e;
+ }
+ assertNotNull(e3);
+ assertTrue(e3.getClass().isAssignableFrom(InnerClassFactory.ParseException.class));
+ }
- public void testFormat02() throws Exception {
- String lineSep = System.getProperty("line.separator"); //$NON-NLS-1$
- String indent = "\t"; //$NON-NLS-1$
- String source = "<target name=\"myTargetName\" depends=\"a,b,c,d,e,f,g\" description=\"This is a very long element which ought to be wrapped.\">"; //$NON-NLS-1$
- String target = "<target name=\"myTargetName\"" + lineSep //$NON-NLS-1$
- + indent + " depends=\"a,b,c,d,e,f,g\"" + lineSep //$NON-NLS-1$
- + indent + " description=\"This is a very long element which ought to be wrapped.\"" + lineSep //$NON-NLS-1$
- + indent + ">"; //$NON-NLS-1$
+ public void testFormat01() throws Exception {
+ String lineSep= System.getProperty("line.separator"); //$NON-NLS-1$
+ String indent = "\t"; //$NON-NLS-1$
+ String source = "<target name=\"myTargetName\" depends=\"a,b,c,d,e,f,g\" description=\"This is a very long element which ought to be wrapped.\">"; //$NON-NLS-1$
+ String target = "<target name=\"myTargetName\"" + lineSep //$NON-NLS-1$
+ + indent
+ + " depends=\"a,b,c,d,e,f,g\"" + lineSep //$NON-NLS-1$
+ + indent
+ + " description=\"This is a very long element which ought to be wrapped.\">"; //$NON-NLS-1$
- simpleTest(source, target, getPreferences(true, true, 60), indent, lineSep);
- }
+ simpleTest(source, target, getPreferences(true, false, 60), indent, lineSep);
+ }
- public void testBug73411() throws Exception {
- String lineSep = System.getProperty("line.separator"); //$NON-NLS-1$
- String indent = "\t"; //$NON-NLS-1$
- String source = "<target name='myTargetName' depends=\"a,b,c,d,e,f,g\" description=\'This is a very long element which ought to be \"wrapped\".'>"; //$NON-NLS-1$
- String target = "<target name='myTargetName'" + lineSep //$NON-NLS-1$
- + indent + " depends=\"a,b,c,d,e,f,g\"" + lineSep //$NON-NLS-1$
- + indent + " description='This is a very long element which ought to be \"wrapped\".'" + lineSep //$NON-NLS-1$
- + indent + ">"; //$NON-NLS-1$
+ public void testFormat02() throws Exception {
+ String lineSep= System.getProperty("line.separator"); //$NON-NLS-1$
+ String indent = "\t"; //$NON-NLS-1$
+ String source = "<target name=\"myTargetName\" depends=\"a,b,c,d,e,f,g\" description=\"This is a very long element which ought to be wrapped.\">"; //$NON-NLS-1$
+ String target = "<target name=\"myTargetName\"" + lineSep //$NON-NLS-1$
+ + indent
+ + " depends=\"a,b,c,d,e,f,g\"" + lineSep //$NON-NLS-1$
+ + indent
+ + " description=\"This is a very long element which ought to be wrapped.\"" + lineSep //$NON-NLS-1$
+ + indent + ">"; //$NON-NLS-1$
- simpleTest(source, target, getPreferences(true, true, 60), indent, lineSep);
- }
+ simpleTest(source, target, getPreferences(true, true, 60), indent, lineSep);
+ }
+
+ public void testBug73411() throws Exception {
+ String lineSep= System.getProperty("line.separator"); //$NON-NLS-1$
+ String indent = "\t"; //$NON-NLS-1$
+ String source = "<target name='myTargetName' depends=\"a,b,c,d,e,f,g\" description=\'This is a very long element which ought to be \"wrapped\".'>"; //$NON-NLS-1$
+ String target = "<target name='myTargetName'" + lineSep //$NON-NLS-1$
+ + indent
+ + " depends=\"a,b,c,d,e,f,g\"" + lineSep //$NON-NLS-1$
+ + indent
+ + " description='This is a very long element which ought to be \"wrapped\".'" + lineSep //$NON-NLS-1$
+ + indent + ">"; //$NON-NLS-1$
- public void testLineRequiresWrap() throws Exception {
+ simpleTest(source, target, getPreferences(true, true, 60), indent, lineSep);
+ }
- InnerClassFactory.TagFormatter tagFormatter = InnerClassFactory.createTagFormatter();
+ public void testLineRequiresWrap() throws Exception {
- boolean shouldWrap = tagFormatter.lineRequiresWrap("\t\t <myElement attribute1=\"value1\" attribute2=\"value2\" />", //$NON-NLS-1$
- 70, 8);
- boolean shouldNotWrap = tagFormatter.lineRequiresWrap("\t\t <myElement attribute1=\"value1\" attribute2=\"value2\" />", //$NON-NLS-1$
- 70, 8);
- assertTrue(shouldWrap);
- assertTrue(!shouldNotWrap);
+ InnerClassFactory.TagFormatter tagFormatter = InnerClassFactory.createTagFormatter();
- }
+ boolean shouldWrap = tagFormatter.lineRequiresWrap(
+ "\t\t <myElement attribute1=\"value1\" attribute2=\"value2\" />", //$NON-NLS-1$
+ 70, 8);
+ boolean shouldNotWrap = tagFormatter.lineRequiresWrap(
+ "\t\t <myElement attribute1=\"value1\" attribute2=\"value2\" />", //$NON-NLS-1$
+ 70, 8);
+ assertTrue(shouldWrap);
+ assertTrue(!shouldNotWrap);
- public void testTabExpandedLineWidth() throws Exception {
+ }
- InnerClassFactory.TagFormatter tagFormatter = InnerClassFactory.createTagFormatter();
+ public void testTabExpandedLineWidth() throws Exception {
- assertEquals(20, tagFormatter.tabExpandedLineWidth("\t 1234567890", 8)); //$NON-NLS-1$
- assertEquals(10, tagFormatter.tabExpandedLineWidth("1234567890", 8)); //$NON-NLS-1$
- assertEquals(19, tagFormatter.tabExpandedLineWidth("\t1\t2 34567890", 3)); //$NON-NLS-1$
- }
+ InnerClassFactory.TagFormatter tagFormatter = InnerClassFactory.createTagFormatter();
- public void testTabToStringAndMinimumLength() throws Exception {
- InnerClassFactory.Tag tag = InnerClassFactory.createTag();
+ assertEquals(20, tagFormatter.tabExpandedLineWidth("\t 1234567890", 8)); //$NON-NLS-1$
+ assertEquals(10, tagFormatter.tabExpandedLineWidth("1234567890", 8)); //$NON-NLS-1$
+ assertEquals(19, tagFormatter.tabExpandedLineWidth("\t1\t2 34567890", 3)); //$NON-NLS-1$
+ }
- tag.setElementName("myElement"); //$NON-NLS-1$
- tag.setClosed(false);
- assertEquals("<myElement>", tag.toString()); //$NON-NLS-1$
- assertEquals(tag.toString().length(), tag.minimumLength());
+ public void testTabToStringAndMinimumLength() throws Exception {
+ InnerClassFactory.Tag tag = InnerClassFactory.createTag();
- tag.setClosed(true);
- assertEquals("<myElement />", tag.toString()); //$NON-NLS-1$
- assertEquals(tag.toString().length(), tag.minimumLength());
+ tag.setElementName("myElement"); //$NON-NLS-1$
+ tag.setClosed(false);
+ assertEquals("<myElement>", tag.toString()); //$NON-NLS-1$
+ assertEquals(tag.toString().length(), tag.minimumLength());
- tag.addAttribute("attribute1", "value1", '"'); //$NON-NLS-1$ //$NON-NLS-2$
- tag.addAttribute("attribute2", "value2", '"'); //$NON-NLS-1$ //$NON-NLS-2$
- assertEquals("<myElement attribute1=\"value1\" attribute2=\"value2\" />", //$NON-NLS-1$
- tag.toString());
- assertEquals(tag.toString().length(), tag.minimumLength());
+ tag.setClosed(true);
+ assertEquals("<myElement />", tag.toString()); //$NON-NLS-1$
+ assertEquals(tag.toString().length(), tag.minimumLength());
- tag.setClosed(false);
- assertEquals("<myElement attribute1=\"value1\" attribute2=\"value2\">", //$NON-NLS-1$
- tag.toString());
- assertEquals(tag.toString().length(), tag.minimumLength());
- }
+ tag.addAttribute("attribute1", "value1", '"'); //$NON-NLS-1$ //$NON-NLS-2$
+ tag.addAttribute("attribute2", "value2", '"'); //$NON-NLS-1$ //$NON-NLS-2$
+ assertEquals(
+ "<myElement attribute1=\"value1\" attribute2=\"value2\" />", //$NON-NLS-1$
+ tag.toString());
+ assertEquals(tag.toString().length(), tag.minimumLength());
- public void testWrapTag() throws Exception {
+ tag.setClosed(false);
+ assertEquals("<myElement attribute1=\"value1\" attribute2=\"value2\">", //$NON-NLS-1$
+ tag.toString());
+ assertEquals(tag.toString().length(), tag.minimumLength());
+ }
- InnerClassFactory.Tag tag = InnerClassFactory.createTag();
+ public void testWrapTag() throws Exception {
- InnerClassFactory.TagFormatter tagFormatter = InnerClassFactory.createTagFormatter();
+ InnerClassFactory.Tag tag = InnerClassFactory.createTag();
- FormattingPreferences dontAlignCloseChar = new FormattingPreferences() {
+ InnerClassFactory.TagFormatter tagFormatter = InnerClassFactory
+ .createTagFormatter();
- @Override
- public boolean alignElementCloseChar() {
- return false;
- }
- };
- FormattingPreferences doAlignCloseChar = new FormattingPreferences() {
+ FormattingPreferences dontAlignCloseChar = new FormattingPreferences() {
- @Override
- public boolean alignElementCloseChar() {
- return true;
- }
- };
+ public boolean alignElementCloseChar() {
+ return false;
+ }
+ };
+ FormattingPreferences doAlignCloseChar = new FormattingPreferences() {
- tag.setElementName("myElement"); //$NON-NLS-1$
- tag.addAttribute("attribute1", "value1", '"'); //$NON-NLS-1$ //$NON-NLS-2$
- tag.addAttribute("attribute2", "value2", '"'); //$NON-NLS-1$ //$NON-NLS-2$
+ public boolean alignElementCloseChar() {
+ return true;
+ }
+ };
- tag.setClosed(true);
+ tag.setElementName("myElement"); //$NON-NLS-1$
+ tag.addAttribute("attribute1", "value1", '"'); //$NON-NLS-1$ //$NON-NLS-2$
+ tag.addAttribute("attribute2", "value2", '"'); //$NON-NLS-1$ //$NON-NLS-2$
- String lineSep = System.getProperty("line.separator"); //$NON-NLS-1$
- assertEquals("<myElement attribute1=\"value1\"" + lineSep //$NON-NLS-1$
- + "\t\t attribute2=\"value2\" />", tagFormatter //$NON-NLS-1$
- .wrapTag(tag, dontAlignCloseChar, "\t\t ", lineSep)); //$NON-NLS-1$
+ tag.setClosed(true);
- assertEquals("<myElement attribute1=\"value1\"" + lineSep //$NON-NLS-1$
- + "\t\t attribute2=\"value2\"" + lineSep + "\t\t />", //$NON-NLS-1$ //$NON-NLS-2$
- tagFormatter.wrapTag(tag, doAlignCloseChar, "\t\t ", lineSep)); //$NON-NLS-1$
+ String lineSep= System.getProperty("line.separator"); //$NON-NLS-1$
+ assertEquals("<myElement attribute1=\"value1\"" + lineSep //$NON-NLS-1$
+ + "\t\t attribute2=\"value2\" />", tagFormatter //$NON-NLS-1$
+ .wrapTag(tag, dontAlignCloseChar, "\t\t ", lineSep)); //$NON-NLS-1$
- tag.setClosed(false);
+ assertEquals("<myElement attribute1=\"value1\"" + lineSep //$NON-NLS-1$
+ + "\t\t attribute2=\"value2\"" + lineSep + "\t\t />", //$NON-NLS-1$ //$NON-NLS-2$
+ tagFormatter.wrapTag(tag, doAlignCloseChar, "\t\t ", lineSep)); //$NON-NLS-1$
- assertEquals("<myElement attribute1=\"value1\"" + lineSep //$NON-NLS-1$
- + "\t\t attribute2=\"value2\">", tagFormatter //$NON-NLS-1$
- .wrapTag(tag, dontAlignCloseChar, "\t\t ", lineSep)); //$NON-NLS-1$
+ tag.setClosed(false);
- assertEquals("<myElement attribute1=\"value1\"" + lineSep //$NON-NLS-1$
- + "\t\t attribute2=\"value2\"" + lineSep + "\t\t >", //$NON-NLS-1$ //$NON-NLS-2$
- tagFormatter.wrapTag(tag, doAlignCloseChar, "\t\t ", lineSep)); //$NON-NLS-1$
+ assertEquals("<myElement attribute1=\"value1\"" + lineSep //$NON-NLS-1$
+ + "\t\t attribute2=\"value2\">", tagFormatter //$NON-NLS-1$
+ .wrapTag(tag, dontAlignCloseChar, "\t\t ", lineSep)); //$NON-NLS-1$
- }
+ assertEquals("<myElement attribute1=\"value1\"" + lineSep //$NON-NLS-1$
+ + "\t\t attribute2=\"value2\"" + lineSep + "\t\t >", //$NON-NLS-1$ //$NON-NLS-2$
+ tagFormatter.wrapTag(tag, doAlignCloseChar, "\t\t ", lineSep)); //$NON-NLS-1$
- public void testBug63558() throws Exception {
+ }
+ public void testBug63558() throws Exception {
+
// Ordinarily the double space after the element name would be repaired
// but if the formatter is working correctly these examples will be
// considered malformed and will be passed through untouched.
- String lineSep = System.getProperty("line.separator"); //$NON-NLS-1$
+ String lineSep= System.getProperty("line.separator"); //$NON-NLS-1$
String source1 = "<echo file=\"foo\">" + lineSep + "<html><body><pre>" //$NON-NLS-1$ //$NON-NLS-2$
+ "${compilelog}</pre></body></html>"; //$NON-NLS-1$
- FormattingPreferences prefs = getPreferences(true, false, 60);
+ FormattingPreferences prefs = getPreferences(true, false, 60);
simpleTest(source1, source1, prefs, "\t", lineSep); //$NON-NLS-1$
-
+
String source2 = "<echo file=\"foo\"/bar/baz></echo>"; //$NON-NLS-1$
simpleTest(source2, source2, prefs, "\t", lineSep); //$NON-NLS-1$
}
diff --git a/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/ModelProjectTests.java b/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/ModelProjectTests.java
index 4479a12..914b9a6 100644
--- a/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/ModelProjectTests.java
+++ b/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/ModelProjectTests.java
@@ -42,7 +42,7 @@
assertNotNull("getProperty() did not return 'p1'", p.getProperty("p1")); //$NON-NLS-1$ //$NON-NLS-2$
assertNotNull("the property help must have 'p1'", PropertyHelper.getProperty(p, "p1")); //$NON-NLS-1$ //$NON-NLS-2$
}
-
+
/**
* Tests {@link AntModelProject#reset()}
*
@@ -60,9 +60,9 @@
assertNull("the description must be null", p.getDescription()); //$NON-NLS-1$
assertEquals("The target list must be of size zero", p.getTargets().size(), 0); //$NON-NLS-1$
}
-
+
/**
- * Tests {@link AntModelProject#getProperty(String)} where the property we want has been set using
+ * Tests {@link AntModelProject#getProperty(String)} where the property we want has been set using
* {@link AntModelProject#setNewProperty(String, String)}
*
* @throws Exception
@@ -72,7 +72,7 @@
p.setNewProperty("testGetProprty1", "p1_value"); //$NON-NLS-1$ //$NON-NLS-2$
assertNotNull("getProperty() did not return 'testGetProprty1'", p.getProperty("testGetProprty1")); //$NON-NLS-1$ //$NON-NLS-2$
}
-
+
/**
* Tests {@link AntModelProject#getProperty(String)} where the property has been set into the user properties
*
@@ -83,10 +83,10 @@
p.setUserProperty("testGetProprty2", "p2_value"); //$NON-NLS-1$ //$NON-NLS-2$
assertNotNull("getProperty() did not return 'testGetProprty2'", p.getProperty("testGetProprty2")); //$NON-NLS-1$ //$NON-NLS-2$
}
-
+
/**
- * Tests {@link AntModelProject#getReference(String)} where the desired ref has been placed in the primary reference map using
- * {@link AntModelProject#addReference(String, Object)}
+ * Tests {@link AntModelProject#getReference(String)} where the desired ref has been placed in the primary reference map
+ * using {@link AntModelProject#addReference(String, Object)}
*
* @throws Exception
*/
@@ -95,10 +95,10 @@
p.addReference("testGetReference1", new Object()); //$NON-NLS-1$
assertNotNull("The reference 'testGetReference1' must exist", p.getReference("testGetReference1")); //$NON-NLS-1$ //$NON-NLS-2$
}
-
+
/**
- * Tests {@link AntModelProject#getReference(String)} where the desired ref has been placed in the secondary 'idrefs' map using
- * {@link AntModelProject#addIdReference(String, Object)}
+ * Tests {@link AntModelProject#getReference(String)} where the desired ref has been placed in the
+ * secondary 'idrefs' map using {@link AntModelProject#addIdReference(String, Object)}
*
* @throws Exception
*/
@@ -107,10 +107,11 @@
p.addIdReference("testGetReference2", new Object()); //$NON-NLS-1$
assertNotNull("the reference 'testGetReference2' must exist", p.getReference("testGetReference2")); //$NON-NLS-1$ //$NON-NLS-2$
}
-
+
/**
- * Tests {@link AntModelProject#getReference(String)} where the desired ref is in the secondary 'idrefs' map and is an {@link UnknownElement}
- *
+ * Tests {@link AntModelProject#getReference(String)} where the desired ref is in the secondary 'idrefs' map
+ * and is an {@link UnknownElement}
+ *
* @throws Exception
*/
public void testGetReference3() throws Exception {
@@ -124,10 +125,10 @@
assertNotNull("the reference 'testGetReference3' must exist", ref); //$NON-NLS-1$
assertTrue("the reference must be a String", ref instanceof String); //$NON-NLS-1$
}
-
+
/**
- * Tests {@link AntModelProject#getProperties()} such that all properties (user and 'normal') are returned in one call to
- * {@link AntModelProject#getProperties()}
+ * Tests {@link AntModelProject#getProperties()} such that all properties (user and 'normal') are returned
+ * in one call to {@link AntModelProject#getProperties()}
*
* @throws Exception
*/
@@ -136,13 +137,13 @@
p.setProperty("p1", "p1v"); //$NON-NLS-1$ //$NON-NLS-2$
p.setProperty("p2", "p2v"); //$NON-NLS-1$ //$NON-NLS-2$
p.setUserProperty("p3", "p3v"); //$NON-NLS-1$ //$NON-NLS-2$
- // 3 above and 'basedir'
+ //3 above and 'basedir'
assertEquals("there must be 4 properties returned", p.getProperties().size(), 4); //$NON-NLS-1$
}
-
+
/**
- * Tests {@link AntModelProject#createClassLoader(org.apache.tools.ant.types.Path)} such that only one classloader is created for a given path -
- * classloaders are cached per-Path
+ * Tests {@link AntModelProject#createClassLoader(org.apache.tools.ant.types.Path)} such that only one
+ * classloader is created for a given path - classloaders are cached per-Path
*
* @throws Exception
*/
@@ -151,38 +152,39 @@
Path path = new Path(p);
AntClassLoader loader = p.createClassLoader(path);
assertNotNull("A classloader should have been created", loader); //$NON-NLS-1$
- // create a 'new' one, where passing null causes the classloader for the project path to be returned
+ //create a 'new' one, where passing null causes the classloader for the project path to be returned
AntClassLoader loader2 = p.createClassLoader(null);
assertNotNull("A classloader for a null path should return the project classloader", loader2); //$NON-NLS-1$
- // pointer compare, they should reference the same class loader
+ //pointer compare, they should reference the same class loader
assertTrue("The class loaders should be the same object", loader == loader2); //$NON-NLS-1$
}
-
+
/**
- * Tests {@link AntModelProject#getReferences()} to ensure the map returned is the live map https://bugs.eclipse.org/bugs/show_bug.cgi?id=336936
- *
+ * Tests {@link AntModelProject#getReferences()} to ensure the map returned is the live map
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=336936
* @throws Exception
*/
- public void testGetReferences1() throws Exception {
+ public void testGetReferences1() throws Exception {
AntModelProject p = new AntModelProject();
p.addReference("testGetReferences1", new Object()); //$NON-NLS-1$
- // 2 refs, ant.propertyHelper is auto-added
+ //2 refs, ant.propertyHelper is auto-added
assertEquals("there should be one reference", p.getReferences().size(), 2); //$NON-NLS-1$
+ //TODO ANT-1.9.1 API USE
Hashtable<String, Object> ht = p.getReferences();
ht.clear();
assertEquals("The references table should be empty", p.getReferences().size(), 0); //$NON-NLS-1$
}
-
+
/**
* Tests {@link AntModelProject#getCopyOfReferences()}
- *
* @throws Exception
*/
public void testGetCopyOfReferences1() throws Exception {
AntModelProject p = new AntModelProject();
- // 2 refs, ant.propertyHelper is auto-added
+ //2 refs, ant.propertyHelper is auto-added
p.addReference("testGetCopyOfReferences1", new Object()); //$NON-NLS-1$
assertEquals("there should be one reference", p.getReferences().size(), 2); //$NON-NLS-1$
+ //TODO ANT-1.9.1 API USE
Map<String, Object> ht = p.getCopyOfReferences();
ht.clear();
assertEquals("There should be one reference", p.getReferences().size(), 2); //$NON-NLS-1$
diff --git a/ant/org.eclipse.ant.tests.ui/META-INF/MANIFEST.MF b/ant/org.eclipse.ant.tests.ui/META-INF/MANIFEST.MF
index 15ead11..4f0e679 100644
--- a/ant/org.eclipse.ant.tests.ui/META-INF/MANIFEST.MF
+++ b/ant/org.eclipse.ant.tests.ui/META-INF/MANIFEST.MF
@@ -22,7 +22,7 @@
org.eclipse.jface.text;resolution:=optional,
org.eclipse.ui.workbench.texteditor;resolution:=optional,
org.eclipse.ui.editors;resolution:=optional,
- org.apache.ant;bundle-version="1.9.2",
+ org.apache.ant;bundle-version="1.8.4",
org.junit,
org.eclipse.core.resources,
org.eclipse.jdt.core,
diff --git a/ant/org.eclipse.ant.tests.ui/buildfiles/buildAntTestsSupportJAR.xml b/ant/org.eclipse.ant.tests.ui/buildfiles/buildAntTestsSupportJAR.xml
index 7080733..bde5127 100644
--- a/ant/org.eclipse.ant.tests.ui/buildfiles/buildAntTestsSupportJAR.xml
+++ b/ant/org.eclipse.ant.tests.ui/buildfiles/buildAntTestsSupportJAR.xml
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntEditorCompletionProcessor.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntEditorCompletionProcessor.java
index 798835c..99f608f 100644
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntEditorCompletionProcessor.java
+++ b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntEditorCompletionProcessor.java
@@ -35,7 +35,6 @@
import java.util.Map.Entry;
import java.util.Set;
-import org.apache.tools.ant.AntTypeDefinition;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.ComponentHelper;
import org.apache.tools.ant.ExtensionPoint;
@@ -155,13 +154,6 @@
private final static ICompletionProposal[] NO_PROPOSALS = new ICompletionProposal[0];
/**
- * The fully qualified name of the {@link MacroInstance} class
- *
- * @since 3.5.500
- */
- private static final String MACROINSTANCE_NAME = "org.apache.tools.ant.taskdefs.MacroInstance"; //$NON-NLS-1$
-
- /**
* The line where the cursor sits now.
* <P>
* The first line has index '1'.
@@ -722,9 +714,9 @@
}
}
} else { // possibly a user defined task or type
- AntTypeDefinition taskClass = getTaskClass(taskName);
+ Class<?> taskClass = getTaskClass(taskName);
if (taskClass != null) {
- if (MACROINSTANCE_NAME.equals(taskClass.getClassName())) {
+ if (taskClass == MacroInstance.class) {
addMacroDefAttributeProposals(taskName, prefix, proposals);
} else {
IntrospectionHelper helper = getIntrospectionHelper(taskClass);
@@ -733,7 +725,7 @@
}
}
} else { // nested user defined element
- AntTypeDefinition nestedType = getNestedType();
+ Class<?> nestedType = getNestedType();
if (nestedType != null) {
IntrospectionHelper helper = getIntrospectionHelper(nestedType);
if (helper != null) {
@@ -756,7 +748,7 @@
}
}
- private AntTypeDefinition getNestedType() {
+ private Class<?> getNestedType() {
AntElementNode currentNode = antModel.getNode(cursorPosition, false);
if (currentNode == null) {
return null;
@@ -765,21 +757,18 @@
if (parent instanceof AntTaskNode) {
String parentName = parent.getName();
if (hasNestedElements(parentName)) {
- AntTypeDefinition taskClass = getTaskClass(parentName);
+ Class<?> taskClass = getTaskClass(parentName);
if (taskClass != null) {
IntrospectionHelper helper = getIntrospectionHelper(taskClass);
if (helper != null) {
+ Class<?> nestedType = null;
try {
- Class<?> nestedType = helper.getElementType(currentNode.getName());
- // TODO probably a much better way to find the definition of a nested type than this
- AntTypeDefinition def = new AntTypeDefinition();
- def.setClass(nestedType);
- def.setClassName(nestedType.getName());
- return def;
+ nestedType = helper.getElementType(currentNode.getName());
}
catch (BuildException be) {
// do nothing
}
+ return nestedType;
}
}
}
@@ -787,20 +776,15 @@
return null;
}
- private IntrospectionHelper getIntrospectionHelper(AntTypeDefinition taskClass) {
- Project p = antModel.getProjectNode().getProject();
- Class<?> clazz = taskClass.getExposedClass(p);
- if (clazz != null) {
- IntrospectionHelper helper = null;
- try {
- helper = IntrospectionHelper.getHelper(antModel.getProjectNode().getProject(), clazz);
- }
- catch (NoClassDefFoundError e) {
- // ignore as a task may require additional classpath components
- }
- return helper;
+ private IntrospectionHelper getIntrospectionHelper(Class<?> taskClass) {
+ IntrospectionHelper helper = null;
+ try {
+ helper = IntrospectionHelper.getHelper(antModel.getProjectNode().getProject(), taskClass);
}
- return null;
+ catch (NoClassDefFoundError e) {
+ // ignore as a task may require additional classpath components
+ }
+ return helper;
}
private void addMacroDefAttributeProposals(String taskName, String prefix, List<ICompletionProposal> proposals) {
@@ -922,14 +906,14 @@
}
}
} else { // possibly a user defined task or type
- AntTypeDefinition taskClass = getTaskClass(taskName);
+ Class<?> taskClass = getTaskClass(taskName);
if (taskClass != null) {
IntrospectionHelper helper = getIntrospectionHelper(taskClass);
if (helper != null) {
addAttributeValueProposals(helper, attributeName, prefix, proposals);
}
} else { // nested user defined element
- AntTypeDefinition nestedType = getNestedType();
+ Class<?> nestedType = getNestedType();
if (nestedType != null) {
IntrospectionHelper helper = getIntrospectionHelper(nestedType);
if (helper != null) {
@@ -1002,7 +986,8 @@
protected ICompletionProposal[] getPropertyProposals(IDocument document, String prefix, int aCursorPosition) {
List<ICompletionProposal> proposals = new ArrayList<ICompletionProposal>();
Map<String, ICompletionProposal> displayStringToProposals = new HashMap<String, ICompletionProposal>();
- Map<String, Object> properties = findPropertiesFromDocument();
+ // TODO ANT-1.9.1 API USE
+ Map<String, ?> properties = findPropertiesFromDocument();
Image image = AntUIImages.getImage(IAntUIConstants.IMG_PROPERTY);
// Determine replacement length and offset
@@ -1072,7 +1057,7 @@
if (areTasksOrTypesValidChildren(parentName)) {
// use the definitions in the project as that includes more than what is defined in the DTD
Project project = antModel.getProjectNode().getProject();
- Map<String, AntTypeDefinition> tasksAndTypes = ComponentHelper.getComponentHelper(project).getAntTypeTable();
+ Map<String, Class<?>> tasksAndTypes = ComponentHelper.getComponentHelper(project).getAntTypeTable();
createProposals(document, prefix, proposals, tasksAndTypes);
if (parentName.equals("project")) { //$NON-NLS-1$
if ("target".startsWith(prefix)) { //$NON-NLS-1$
@@ -1100,9 +1085,9 @@
}
} else {
// a nested element of a user defined task/type?
- AntTypeDefinition taskClass = getTaskClass(parentName);
+ Class<?> taskClass = getTaskClass(parentName);
if (taskClass != null) {
- if (MACROINSTANCE_NAME.equals(taskClass.getClassName())) {
+ if (taskClass == MacroInstance.class) {
currentProposalMode = PROPOSAL_MODE_ATTRIBUTE_PROPOSAL;
addMacroDefElementProposals(parentName, prefix, proposals);
} else {
@@ -1160,7 +1145,7 @@
return NO_PROPOSALS;
}
- private void createProposals(IDocument document, String prefix, List<ICompletionProposal> proposals, Map<String, AntTypeDefinition> tasks) {
+ private void createProposals(IDocument document, String prefix, List<ICompletionProposal> proposals, Map<String, Class<?>> tasks) {
Iterator<String> keys = tasks.keySet().iterator();
ICompletionProposal proposal;
String key;
@@ -1296,7 +1281,7 @@
if (element != null) {
return !element.isEmpty();
}
- AntTypeDefinition taskClass = getTaskClass(elementName);
+ Class<?> taskClass = getTaskClass(elementName);
if (taskClass != null) {
IntrospectionHelper helper = getIntrospectionHelper(taskClass);
if (helper != null) {
@@ -1574,12 +1559,12 @@
return false;
}
- private AntTypeDefinition getTaskClass(String taskName) {
- AntTypeDefinition clss = null;
+ private Class<?> getTaskClass(String taskName) {
+ Class<?> clss = null;
AntProjectNode node = antModel.getProjectNode();
if (node != null) {
Project antProject = node.getProject();
- Map<String, AntTypeDefinition> tasksAndTypes = ComponentHelper.getComponentHelper(antProject).getAntTypeTable();
+ Map<String, Class<?>> tasksAndTypes = ComponentHelper.getComponentHelper(antProject).getAntTypeTable();
clss = tasksAndTypes.get(taskName);
if (clss == null) {
clss = tasksAndTypes.get(antModel.getNamespaceCorrectName(taskName));
@@ -1634,7 +1619,7 @@
*
* @return a map with all the found properties
*/
- private Map<String, Object> findPropertiesFromDocument() {
+ private Map<String, String> findPropertiesFromDocument() {
Project project = antModel.getProjectNode().getProject();
return project.getProperties();
}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/formatter/XmlDocumentFormattingStrategy.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/formatter/XmlDocumentFormattingStrategy.java
index 8248e37..4a75fe9 100644
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/formatter/XmlDocumentFormattingStrategy.java
+++ b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/formatter/XmlDocumentFormattingStrategy.java
@@ -22,66 +22,61 @@
import org.eclipse.jface.text.formatter.IFormattingContext;
public class XmlDocumentFormattingStrategy extends ContextBasedFormattingStrategy {
-
+
/** Documents to be formatted by this strategy */
- private final LinkedList<IDocument> fDocuments = new LinkedList<IDocument>();
-
+ private final LinkedList<IDocument> fDocuments= new LinkedList<IDocument>();
+
/** access to the preferences store * */
- private FormattingPreferences prefs;
-
- private int indent = -1;
-
+ private FormattingPreferences prefs;
+
+ private int indent= -1;
+
public XmlDocumentFormattingStrategy() {
- this.prefs = new FormattingPreferences();
- }
-
+ this.prefs = new FormattingPreferences();
+ }
+
public XmlDocumentFormattingStrategy(FormattingPreferences prefs, int indent) {
- Assert.isNotNull(prefs);
- this.prefs = prefs;
- this.indent = indent;
+ Assert.isNotNull(prefs);
+ this.prefs = prefs;
+ this.indent= indent;
}
-
- /*
- * (non-Javadoc)
- *
+
+ /* (non-Javadoc)
* @see org.eclipse.jface.text.formatter.IFormattingStrategyExtension#format()
*/
- @Override
public void format() {
-
- super.format();
- final IDocument document = fDocuments.removeFirst();
+
+ super.format();
+ final IDocument document= fDocuments.removeFirst();
if (document != null) {
- // allow formatting of regions, not just the entire document; bug 75611
- String documentText = document.get();
- XmlDocumentFormatter formatter = new XmlDocumentFormatter();
- if (indent != -1) {
- formatter.setInitialIndent(indent);
- }
- formatter.setDefaultLineDelimiter(TextUtilities.getDefaultLineDelimiter(document));
- String formattedText = formatter.format(documentText, this.prefs);
- if (formattedText != null && !formattedText.equals(documentText)) {
- document.set(formattedText);
- }
+ // TODO allow formatting of regions, not just the entire document; bug 75611
+ String documentText = document.get();
+ XmlDocumentFormatter formatter = new XmlDocumentFormatter();
+ if (indent != -1) {
+ formatter.setInitialIndent(indent);
+ }
+ formatter.setDefaultLineDelimiter(TextUtilities.getDefaultLineDelimiter(document));
+ String formattedText = formatter.format(documentText, this.prefs);
+ if (formattedText != null && !formattedText.equals(documentText)) {
+ document.set(formattedText);
+ }
}
- }
+ }
+
+ /*
+ * @see org.eclipse.jface.text.formatter.ContextBasedFormattingStrategy#formatterStarts(org.eclipse.jface.text.formatter.IFormattingContext)
+ */
+ public void formatterStarts(final IFormattingContext context) {
+ super.formatterStarts(context);
+ fDocuments.addLast((IDocument) context.getProperty(FormattingContextProperties.CONTEXT_MEDIUM));
+ }
- /*
- * @see org.eclipse.jface.text.formatter.ContextBasedFormattingStrategy#formatterStarts(org.eclipse.jface.text.formatter.IFormattingContext)
- */
- @Override
- public void formatterStarts(final IFormattingContext context) {
- super.formatterStarts(context);
- fDocuments.addLast((IDocument) context.getProperty(FormattingContextProperties.CONTEXT_MEDIUM));
- }
+ /*
+ * @see org.eclipse.jface.text.formatter.ContextBasedFormattingStrategy#formatterStops()
+ */
+ public void formatterStops() {
+ super.formatterStops();
- /*
- * @see org.eclipse.jface.text.formatter.ContextBasedFormattingStrategy#formatterStops()
- */
- @Override
- public void formatterStops() {
- super.formatterStops();
-
- fDocuments.clear();
- }
+ fDocuments.clear();
+ }
}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntPropertiesTab.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntPropertiesTab.java
index aeb2b34..f78f74b 100644
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntPropertiesTab.java
+++ b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntPropertiesTab.java
@@ -160,7 +160,7 @@
private void initializeAsGlobal(boolean separateVM) {
AntCorePreferences prefs = AntCorePlugin.getPlugin().getPreferences();
- List<Property> prefProperties;
+ List<?> prefProperties;
if (separateVM) {
prefProperties = prefs.getRemoteAntProperties();
} else {
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntDefiningTaskNode.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntDefiningTaskNode.java
index 1ee42d2..4ac466a 100644
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntDefiningTaskNode.java
+++ b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntDefiningTaskNode.java
@@ -19,7 +19,6 @@
import java.util.Iterator;
import java.util.List;
-import org.apache.tools.ant.AntTypeDefinition;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.ComponentHelper;
import org.apache.tools.ant.Task;
@@ -38,163 +37,155 @@
import org.xml.sax.Attributes;
public class AntDefiningTaskNode extends AntTaskNode {
- private String fIdentifier = null;
-
- public AntDefiningTaskNode(Task task, Attributes attributes) {
- super(task);
- String label = attributes.getValue(IAntCoreConstants.NAME);
- if (label == null) {
- label = task.getTaskName();
-
- String file = attributes.getValue(IAntCoreConstants.FILE);
- if (file != null) {
- label = label + " " + file; //$NON-NLS-1$
- fIdentifier = file;
- } else {
- String resource = attributes.getValue(IAntModelConstants.ATTR_RESOURCE);
- if (resource != null) {
- label = label + " " + resource; //$NON-NLS-1$
- fIdentifier = resource;
- }
- }
- } else {
- fIdentifier = label;
- }
-
- setBaseLabel(label);
- }
-
- @Override
+ private String fIdentifier= null;
+
+ public AntDefiningTaskNode(Task task, Attributes attributes) {
+ super(task);
+ String label= attributes.getValue(IAntCoreConstants.NAME);
+ if (label == null) {
+ label= task.getTaskName();
+
+ String file= attributes.getValue(IAntCoreConstants.FILE);
+ if(file != null) {
+ label= label + " " + file; //$NON-NLS-1$
+ fIdentifier= file;
+ } else {
+ String resource= attributes.getValue(IAntModelConstants.ATTR_RESOURCE);
+ if (resource != null) {
+ label= label + " " + resource; //$NON-NLS-1$
+ fIdentifier= resource;
+ }
+ }
+ } else {
+ fIdentifier= label;
+ }
+
+ setBaseLabel(label);
+ }
+
protected ImageDescriptor getBaseImageDescriptor() {
- String taskName = getTask().getTaskName();
- if ("taskdef".equalsIgnoreCase(taskName) || "typedef".equalsIgnoreCase(taskName)) { //$NON-NLS-1$//$NON-NLS-2$
- return AntUIImages.getImageDescriptor(IAntUIConstants.IMG_ANT_TASKDEF);
+ String taskName= getTask().getTaskName();
+ if ("taskdef".equalsIgnoreCase(taskName) || "typedef".equalsIgnoreCase(taskName)) { //$NON-NLS-1$//$NON-NLS-2$
+ return AntUIImages.getImageDescriptor(IAntUIConstants.IMG_ANT_TASKDEF);
}
- return AntUIImages.getImageDescriptor(IAntUIConstants.IMG_ANT_MACRODEF);
+ return AntUIImages.getImageDescriptor(IAntUIConstants.IMG_ANT_MACRODEF);
}
-
+
/**
* Execute the defining task.
*/
- @Override
public boolean configure(boolean validateFully) {
- if (fConfigured) {
- return false;
- }
+ if (fConfigured) {
+ return false;
+ }
if (shouldConfigure()) {
try {
- ComponentHelper helper = ComponentHelper.getComponentHelper(getProjectNode().getProject());
- ((AntModel) getAntModel()).removeDefinerTasks(getIdentifier(), helper.getAntTypeTable());
- Hashtable<String, AntTypeDefinition> old = new Hashtable<String, AntTypeDefinition>(helper.getAntTypeTable());
+ ComponentHelper helper= ComponentHelper.getComponentHelper(getProjectNode().getProject());
+ ((AntModel) getAntModel()).removeDefinerTasks(getIdentifier(), helper.getAntTypeTable());
+ Hashtable<String, Class<?>> old= new Hashtable<String, Class<?>>(helper.getAntTypeTable());
getTask().maybeConfigure();
getTask().execute();
- Iterator<String> newNames = helper.getAntTypeTable().keySet().iterator();
- List<String> defined = new ArrayList<String>();
- while (newNames.hasNext()) {
- String name = newNames.next();
- if (old.get(name) == null) {
- defined.add(name);
- }
- }
- ((AntModel) getAntModel()).addDefinedTasks(defined, this);
+ Iterator<String> newNames= helper.getAntTypeTable().keySet().iterator();
+ List<String> defined= new ArrayList<String>();
+ while (newNames.hasNext()) {
+ String name = newNames.next();
+ if (old.get(name) == null) {
+ defined.add(name);
+ }
+ }
+ ((AntModel) getAntModel()).addDefinedTasks(defined, this);
return false;
- }
- catch (BuildException be) {
- ((AntModel) getAntModel()).removeDefiningTaskNodeInfo(this);
+ } catch (BuildException be) {
+ ((AntModel)getAntModel()).removeDefiningTaskNodeInfo(this);
handleBuildException(be, AntEditorPreferenceConstants.PROBLEM_CLASSPATH);
- }
- catch (LinkageError e) {
- // A classpath problem with the definer. Possible causes are having multiple
- // versions of the same JAR on the Ant runtime classpath (either explicitly or via the plugin
- // classloaders. See bug 71888
- ((AntModel) getAntModel()).removeDefiningTaskNodeInfo(this);
- handleBuildException(new BuildException(AntModelMessages.AntDefiningTaskNode_0), AntEditorPreferenceConstants.PROBLEM_CLASSPATH);
- }
- catch (AntSecurityException se) {
- // either a system exit or setting of system property was attempted
- ((AntModel) getAntModel()).removeDefiningTaskNodeInfo(this);
- handleBuildException(new BuildException(AntModelMessages.AntDefiningTaskNode_1), AntEditorPreferenceConstants.PROBLEM_SECURITY);
+ } catch (LinkageError e) {
+ //A classpath problem with the definer. Possible causes are having multiple
+ //versions of the same JAR on the Ant runtime classpath (either explicitly or via the plugin
+ //classloaders. See bug 71888
+ ((AntModel)getAntModel()).removeDefiningTaskNodeInfo(this);
+ handleBuildException(new BuildException(AntModelMessages.AntDefiningTaskNode_0), AntEditorPreferenceConstants.PROBLEM_CLASSPATH);
+ } catch (AntSecurityException se) {
+ //either a system exit or setting of system property was attempted
+ ((AntModel)getAntModel()).removeDefiningTaskNodeInfo(this);
+ handleBuildException(new BuildException(AntModelMessages.AntDefiningTaskNode_1), AntEditorPreferenceConstants.PROBLEM_SECURITY);
}
}
return false;
}
-
+
public Object getRealTask() {
- Task task = getTask();
+ Task task= getTask();
if (task instanceof UnknownElement) {
task.maybeConfigure();
- return ((UnknownElement) task).getRealThing();
+ return ((UnknownElement)task).getRealThing();
}
return task;
}
-
- protected String getIdentifier() {
- return fIdentifier;
- }
-
+
+ protected String getIdentifier() {
+ return fIdentifier;
+ }
+
/*
- * Sets the Java class path in org.apache.tools.ant.types.Path so that the classloaders defined by these "definer" tasks will have the correct
- * classpath.
+ * Sets the Java class path in org.apache.tools.ant.types.Path
+ * so that the classloaders defined by these "definer" tasks will have the
+ * correct classpath.
*/
public static void setJavaClassPath() {
-
- AntCorePreferences prefs = AntCorePlugin.getPlugin().getPreferences();
- URL[] antClasspath = prefs.getURLs();
-
+
+ AntCorePreferences prefs= AntCorePlugin.getPlugin().getPreferences();
+ URL[] antClasspath= prefs.getURLs();
+
setJavaClassPath(antClasspath);
}
-
+
/*
- * Sets the Java class path in org.apache.tools.ant.types.Path so that the classloaders defined by these "definer" tasks will have the correct
- * classpath.
+ * Sets the Java class path in org.apache.tools.ant.types.Path
+ * so that the classloaders defined by these "definer" tasks will have the
+ * correct classpath.
*/
public static void setJavaClassPath(URL[] antClasspath) {
-
- StringBuffer buff = new StringBuffer();
- File file = null;
+
+ StringBuffer buff= new StringBuffer();
+ File file= null;
for (int i = 0; i < antClasspath.length; i++) {
try {
file = new File(FileLocator.toFileURL(antClasspath[i]).getPath());
- }
- catch (IOException e) {
+ } catch (IOException e) {
continue;
}
buff.append(file.getAbsolutePath());
buff.append("; "); //$NON-NLS-1$
}
- org.apache.tools.ant.types.Path systemClasspath = new org.apache.tools.ant.types.Path(null, buff.substring(0, buff.length() - 2));
- org.apache.tools.ant.types.Path.systemClasspath = systemClasspath;
+ org.apache.tools.ant.types.Path systemClasspath= new org.apache.tools.ant.types.Path(null, buff.substring(0, buff.length() - 2));
+ org.apache.tools.ant.types.Path.systemClasspath= systemClasspath;
}
-
- @Override
+
public boolean collapseProjection() {
- IPreferenceStore store = AntUIPlugin.getDefault().getPreferenceStore();
+ IPreferenceStore store= AntUIPlugin.getDefault().getPreferenceStore();
if (store.getBoolean(AntEditorPreferenceConstants.EDITOR_FOLDING_DEFINING)) {
return true;
}
return false;
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ant.internal.ui.model.AntElementNode#setLength(int)
- */
- @Override
- public void setLength(int length) {
- super.setLength(length);
- if (shouldConfigure()) {
- getAntModel().setDefiningTaskNodeText(this);
- }
- }
+ /* (non-Javadoc)
+ * @see org.eclipse.ant.internal.ui.model.AntElementNode#setLength(int)
+ */
+ public void setLength(int length) {
+ super.setLength(length);
+ if (shouldConfigure()) {
+ getAntModel().setDefiningTaskNodeText(this);
+ }
+ }
- private boolean shouldConfigure() {
- IPreferenceStore store = AntUIPlugin.getDefault().getPreferenceStore();
- return store.getBoolean(AntEditorPreferenceConstants.CODEASSIST_USER_DEFINED_TASKS);
- }
+ private boolean shouldConfigure() {
+ IPreferenceStore store= AntUIPlugin.getDefault().getPreferenceStore();
+ return store.getBoolean(AntEditorPreferenceConstants.CODEASSIST_USER_DEFINED_TASKS);
+ }
- protected void setNeedsToBeConfigured(boolean configure) {
- fConfigured = !configure;
- }
+ protected void setNeedsToBeConfigured(boolean configure) {
+ fConfigured= !configure;
+ }
}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModel.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModel.java
index dfbf9f9..b75d9fe 100644
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModel.java
+++ b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModel.java
@@ -507,7 +507,9 @@
}
private void setPropertiesFromFiles(Project project, List<Properties> allProperties) {
- for (Properties props : allProperties) {
+ Iterator<Properties> iter = allProperties.iterator();
+ while (iter.hasNext()) {
+ Properties props = iter.next();
Enumeration<?> propertyNames = props.propertyNames();
while (propertyNames.hasMoreElements()) {
String name = (String) propertyNames.nextElement();
@@ -1550,7 +1552,7 @@
}
}
- protected void removeDefinerTasks(String definerIdentifier, Hashtable<String, AntTypeDefinition> typeTable) {
+ protected void removeDefinerTasks(String definerIdentifier, Hashtable<String, Class<?>> typeTable) {
if (fDefinerNodeIdentifierToDefinedTasks == null) {
return;
}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModelProject.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModelProject.java
index 0d11caf..3e5a311 100644
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModelProject.java
+++ b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModelProject.java
@@ -46,7 +46,6 @@
*
* @see org.apache.tools.ant.PropertyHelper.PropertySetter#setNew(java.lang.String, java.lang.Object, org.apache.tools.ant.PropertyHelper)
*/
- @Override
public boolean setNew(String property, Object value, PropertyHelper propertyHelper) {
setNewProperty(property, value.toString());
return false;
@@ -57,7 +56,6 @@
*
* @see org.apache.tools.ant.PropertyHelper.PropertySetter#set(java.lang.String, java.lang.Object, org.apache.tools.ant.PropertyHelper)
*/
- @Override
public boolean set(String property, Object value, PropertyHelper propertyHelper) {
return false;
}
@@ -169,14 +167,14 @@
* @see org.apache.tools.ant.Project#getReference(java.lang.String)
*/
@Override
- public <T> T getReference(String key) {
- T ref = super.getReference(key);/* references.get(key); */
+ public Object getReference(String key) {
+ Object ref = super.getReference(key);/* references.get(key); */
if (ref == null) {
- ref = (T) idrefs.get(key);
+ ref = idrefs.get(key);
if (ref instanceof UnknownElement) {
UnknownElement ue = (UnknownElement) ref;
ue.maybeConfigure();
- return (T) ue.getRealThing();
+ return ue.getRealThing();
}
}
return ref;
@@ -188,9 +186,9 @@
* @see org.apache.tools.ant.Project#getProperties()
*/
@Override
- public Hashtable<String, Object> getProperties() {
+ public Hashtable getProperties() {
// override as we cannot remove properties from the Apache Ant project
- Hashtable<String, Object> allProps = super.getProperties();
+ Hashtable<String, String> allProps = super.getProperties();
allProps.putAll(getUserProperties());
allProps.put("basedir", getBaseDir().getPath()); //$NON-NLS-1$
return allProps;
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntTargetNode.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntTargetNode.java
index 4106554..f7de446 100644
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntTargetNode.java
+++ b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntTargetNode.java
@@ -116,7 +116,7 @@
@Override
public void reset() {
super.reset();
- Map<String, Target> currentTargets = fTarget.getProject().getTargets();
+ Map<String, Object> currentTargets = fTarget.getProject().getTargets();
if (currentTargets.get(fTarget.getName()) != null) {
currentTargets.remove(fTarget.getName());
}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntTaskNode.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntTaskNode.java
index 41fb0c9..5f5efeb 100644
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntTaskNode.java
+++ b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntTaskNode.java
@@ -155,12 +155,12 @@
@Override
public boolean containsOccurrence(String identifier) {
RuntimeConfigurable wrapper = getTask().getRuntimeConfigurableWrapper();
- Map<String, Object> attributeMap = wrapper.getAttributeMap();
+ Map<String, String> attributeMap = wrapper.getAttributeMap();
Set<String> keys = attributeMap.keySet();
boolean lookingForProperty = identifier.startsWith("${") && identifier.endsWith("}"); //$NON-NLS-1$ //$NON-NLS-2$
for (Iterator<String> iter = keys.iterator(); iter.hasNext();) {
String key = iter.next();
- String value = (String) attributeMap.get(key);
+ String value = attributeMap.get(key);
if (lookingForProperty && (key.equals("if") || key.equals("unless"))) { //$NON-NLS-1$ //$NON-NLS-2$
if (value.indexOf(identifier.substring(2, identifier.length() - 1)) != -1) {
return true;
@@ -187,12 +187,12 @@
}
List<Integer> results = new ArrayList<Integer>();
RuntimeConfigurable wrapper = getTask().getRuntimeConfigurableWrapper();
- Map<String, Object> attributeMap = wrapper.getAttributeMap();
+ Map<String, String> attributeMap = wrapper.getAttributeMap();
Set<String> keys = attributeMap.keySet();
String lineSep = System.getProperty("line.separator"); //$NON-NLS-1$
for (Iterator<String> iter = keys.iterator(); iter.hasNext();) {
String key = iter.next();
- String value = (String) attributeMap.get(key);
+ String value = attributeMap.get(key);
int identifierCorrection = 1;
if (value.indexOf(identifier) != -1) {
int keyOffset = textToSearch.indexOf(key);
diff --git a/ant/org.eclipse.ant.ui/META-INF/MANIFEST.MF b/ant/org.eclipse.ant.ui/META-INF/MANIFEST.MF
index 7e04a28..d829059 100644
--- a/ant/org.eclipse.ant.ui/META-INF/MANIFEST.MF
+++ b/ant/org.eclipse.ant.ui/META-INF/MANIFEST.MF
@@ -32,7 +32,7 @@
org.eclipse.jface.text;bundle-version="[3.5.0,4.0.0)";resolution:=optional,
org.eclipse.ui.workbench.texteditor;bundle-version="[3.5.0,4.0.0)";resolution:=optional,
org.eclipse.ui.editors;bundle-version="[3.2.0,4.0.0)";resolution:=optional,
- org.apache.ant;bundle-version="1.9.2",
+ org.apache.ant;bundle-version="1.8.4",
org.eclipse.ant.core;bundle-version="[3.2.0,4.0.0)",
org.eclipse.core.filesystem;bundle-version="[1.0.0,2.0.0)",
org.eclipse.core.resources;bundle-version="[3.2.0,4.0.0)",
diff --git a/ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/inputhandler/SWTInputHandler.java b/ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/inputhandler/SWTInputHandler.java
index feacb86..650fe6d 100644
--- a/ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/inputhandler/SWTInputHandler.java
+++ b/ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/inputhandler/SWTInputHandler.java
@@ -12,6 +12,8 @@
package org.eclipse.ant.internal.ui.antsupport.inputhandler;
+import java.util.Iterator;
+
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.input.DefaultInputHandler;
import org.apache.tools.ant.input.InputRequest;
@@ -123,8 +125,9 @@
if (fRequest instanceof MultipleChoiceInputRequest) {
fCombo = new Combo(fDialog, SWT.BORDER | SWT.READ_ONLY);
fCombo.add(""); //$NON-NLS-1$
- for (String text : ((MultipleChoiceInputRequest) fRequest).getChoices()) {
- fCombo.add(text);
+ // TODO ANT-1.9.1 API USE
+ for (Iterator<?> i = ((MultipleChoiceInputRequest) fRequest).getChoices().iterator(); i.hasNext();) {
+ fCombo.add((String) i.next());
fCombo.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL));
fCombo.addSelectionListener(new SelectionAdapter() {
@Override