You are viewing a plain text version of this content. The canonical link for it is here.
Posted to easyant-commits@incubator.apache.org by hi...@apache.org on 2011/02/17 20:23:04 UTC

svn commit: r1071768 [3/7] - in /incubator/easyant/easyant4e: ./ trunk/ trunk/org.apache.easyant/ trunk/org.apache.easyant/META-INF/ trunk/org.apache.easyant/lib/ trunk/org.apache.easyant4e.feature/ trunk/org.apache.easyant4e.releng/ trunk/org.apache.e...

Added: incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/EasyantProjectServiceTest.java
URL: http://svn.apache.org/viewvc/incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/EasyantProjectServiceTest.java?rev=1071768&view=auto
==============================================================================
--- incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/EasyantProjectServiceTest.java (added)
+++ incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/EasyantProjectServiceTest.java Thu Feb 17 20:22:56 2011
@@ -0,0 +1,121 @@
+/* 
+ *  Copyright 2008-2009 the EasyAnt project
+ * 
+ *  See the NOTICE file distributed with this work for additional information
+ *  regarding copyright ownership. 
+ * 
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ * 
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ *  Unless required by applicable law or agreed to in writing, software 
+ *  distributed under the License is distributed on an "AS IS" BASIS, 
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and 
+ *  limitations under the License.
+ */
+package org.apache.easyant4e.tests;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.util.List;
+
+import org.apache.easyant.core.report.PhaseReport;
+import org.apache.easyant.core.report.TargetReport;
+import org.apache.easyant4e.EasyAntConstants;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.junit.Test;
+
+/**
+ * 
+ * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
+ */
+public class EasyantProjectServiceTest extends AbstractEasyAntTest {
+
+/*
+	@Test
+	public void testGetIvyInstance() {
+		Ivy ivy = projectService.getIvyInstance(testProject);
+		assertNotNull(ivy);
+	}
+*/
+	
+	// @Test
+	// public void testAddNature(){
+	// assertFalse(projectService.hasEasyAntNature(testProject));
+	// projectService.addNature(testProject);
+	// assertTrue(projectService.hasEasyAntNature(testProject));
+	// assertFalse(projectService.hasEasyAntBuilder(testProject));
+	// }
+	//	
+	// @Test
+	// public void testRemoveNature(){
+	// assertFalse(projectService.hasEasyAntNature(testProject));
+	// projectService.addNature(testProject);
+	// assertTrue(projectService.hasEasyAntNature(testProject));
+	// assertFalse(projectService.hasEasyAntBuilder(testProject));
+	// projectService.removeNature(testProject);
+	// assertFalse(projectService.hasEasyAntNature(testProject));
+	// assertFalse(projectService.hasEasyAntBuilder(testProject));
+	// }
+
+	@Test
+	public void testAddNatureOnJavaProject() {
+		IProject javaProject = testJavaProject.getProject();
+		assertFalse(projectService.hasEasyAntNature(javaProject));
+		assertFalse(projectService.hasEasyAntBuilder(javaProject));
+		projectService.addNature(javaProject);
+		assertTrue(projectService.hasEasyAntNature(javaProject));
+		assertTrue(projectService.hasEasyAntBuilder(javaProject));
+		// TODO check classpath and source folder
+	}
+
+	@Test
+	public void testRemoveNatureOnJavaProject() {
+		IProject javaProject = testJavaProject.getProject();
+		assertFalse(projectService.hasEasyAntNature(javaProject));
+		projectService.addNature(javaProject);
+		assertTrue(projectService.hasEasyAntNature(javaProject));
+		assertTrue(projectService.hasEasyAntBuilder(javaProject));
+		projectService.removeNature(javaProject);
+		assertFalse(projectService.hasEasyAntNature(javaProject));
+		assertFalse(projectService.hasEasyAntBuilder(javaProject));
+		// TODO check classpath and source folder
+	}
+
+	@Test
+	public void testGetPhases() {
+		IProject javaProject = testJavaProject.getProject();
+		IFile ivyFile = javaProject.getFile("module.ivy");
+		assertNotNull(ivyFile);
+		List<PhaseReport> phases = projectService.getPhases(ivyFile);
+		assertNotNull(phases);		
+		assertTrue("nb phases:" + phases.size(), phases.size() > 0);
+	}
+
+	@Test
+	public void testGetTargets() {
+		IProject javaProject = testJavaProject.getProject();
+		IFile ivyFile = javaProject.getFile("module.ivy");
+		assertNotNull(ivyFile);
+		List<TargetReport> targets = projectService.getTargets(ivyFile);
+		assertNotNull(targets);		
+		assertTrue("nb targets:" + targets.size(), targets.size() > 0);
+	}
+
+	@Test
+	public void testRunBuild() {
+		try {
+			projectService.runBuild(testJavaProject.getProject(), "compile", EasyAntConstants.ANT_LOGLEVEL_DEBUG, null);
+		} catch (Exception e) {
+			fail(e.getMessage());
+		}
+	}
+
+}

Propchange: incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/EasyantProjectServiceTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/EasyantProjectServiceTest.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/EasyantProjectServiceTest.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/EclipseProjectBuilder.java
URL: http://svn.apache.org/viewvc/incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/EclipseProjectBuilder.java?rev=1071768&view=auto
==============================================================================
--- incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/EclipseProjectBuilder.java (added)
+++ incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/EclipseProjectBuilder.java Thu Feb 17 20:22:56 2011
@@ -0,0 +1,249 @@
+/* 
+ *  Copyright 2008-2009 the EasyAnt project
+ * 
+ *  See the NOTICE file distributed with this work for additional information
+ *  regarding copyright ownership. 
+ * 
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ * 
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ *  Unless required by applicable law or agreed to in writing, software 
+ *  distributed under the License is distributed on an "AS IS" BASIS, 
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and 
+ *  limitations under the License.
+ */
+package org.apache.easyant4e.tests;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IProjectDescription;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.jdt.core.IClasspathEntry;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.jdt.launching.JavaRuntime;
+
+/**
+ * This is a modified version of the TestProject class written by Erich Gamma
+ * and Kent Beck and described in their book
+ * "Contributing to Eclipse: Principles, Patterns, and Plug-Ins" It's largely
+ * inspired by Spring IDE TestSuite
+ */
+public class EclipseProjectBuilder {
+
+	// private IProject project;
+	// private IJavaProject javaProject;
+	// private IPackageFragmentRoot sourceFolder;
+
+	public EclipseProjectBuilder() throws CoreException {
+		// IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
+		// project = root.getProject("TestProject");
+		// project.create(null);
+		// project.open(null);
+		// javaProject = JavaCore.create(project);
+		//
+		// IFolder binFolder = createBinFolder();
+		//
+		// setJavaNature();
+		// javaProject.setRawClasspath(new IClasspathEntry[0], null);
+		//
+		// createOutputFolder(binFolder);
+		// addSystemLibraries();
+	}
+
+	public static IProject createProject(String name) throws CoreException {
+		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
+		IProject project = root.getProject(name);
+		project.create(null);
+		project.open(null);
+		return project;
+	}
+
+	public static IJavaProject createJavaProject(String name) throws CoreException {
+		IProject project = createProject(name);
+		IJavaProject javaProject = JavaCore.create(project);
+		addJavaNature(project);
+		javaProject.setRawClasspath(new IClasspathEntry[0], null);
+		createOutputFolder(javaProject);
+		addSystemLibraries(javaProject);
+		return javaProject;
+	}
+
+	private static void addJavaNature(IProject project) throws CoreException {
+		IProjectDescription description = project.getDescription();
+		description.setNatureIds(new String[] { JavaCore.NATURE_ID });
+		project.setDescription(description, null);
+	}
+
+	private static void createOutputFolder(IJavaProject javaProject) throws CoreException {
+		IFolder binFolder = createBinFolder(javaProject.getProject());
+		IPath outputLocation = binFolder.getFullPath();
+		javaProject.setOutputLocation(outputLocation, null);
+	}
+
+	private static IFolder createBinFolder(IProject project) throws CoreException {
+		IFolder binFolder = project.getFolder("bin");
+		binFolder.create(false, true, null);
+		return binFolder;
+	}
+
+	private static void addSystemLibraries(IJavaProject javaProject) throws JavaModelException {
+		IClasspathEntry[] oldEntries = javaProject.getRawClasspath();
+		IClasspathEntry[] newEntries = new IClasspathEntry[oldEntries.length + 1];
+		System.arraycopy(oldEntries, 0, newEntries, 0, oldEntries.length);
+		newEntries[oldEntries.length] = JavaRuntime.getDefaultJREContainerEntry();
+		javaProject.setRawClasspath(newEntries, null);
+	}
+
+	public static IFile createModuleDescriptorFile(IProject project, String org) throws CoreException {
+		IFile moduleDescFile = project.getFile("module.ivy");
+		String content = "" 
+				+ "<ivy-module version=\"2.0\" xmlns:ea=\"http://www.easyant.org\">"
+				+ "  <info organisation=\"" + org + "\" module=\"" + project.getName() + "\" status=\"integration\" >"
+				+ "    <description>project description</description>" 
+				+ "    <ea:build type=\"org.apache.easyant.buildtypes#build-std-java;0.2\" />"
+				+ "  </info>" 
+				+ "</ivy-module>";
+		InputStream in = new ByteArrayInputStream(content.getBytes());
+		moduleDescFile.create(in, true, null);
+		return moduleDescFile;
+	}
+
+	public static void deleteProject(IProject project) throws CoreException {
+		// waitForIndexer();
+		deleteProject(project, true);
+	}
+	
+	public static void deleteProject(IProject project, boolean deleteContent) throws CoreException {
+		// waitForIndexer();
+		project.delete(deleteContent, true, new NullProgressMonitor());
+	}
+
+	// public IJavaProject getJavaProject() {
+	// return javaProject;
+	// }
+
+	// public void addJar(String plugin, String jar) throws
+	// MalformedURLException,
+	// IOException, JavaModelException {
+	// Path result = findFileInPlugin(plugin, jar);
+	// IClasspathEntry[] oldEntries = javaProject.getRawClasspath();
+	// IClasspathEntry[] newEntries = new IClasspathEntry[oldEntries.length +
+	// 1];
+	// System.arraycopy(oldEntries, 0, newEntries, 0, oldEntries.length);
+	// newEntries[oldEntries.length] = JavaCore.newLibraryEntry(result, null,
+	// null);
+	// javaProject.setRawClasspath(newEntries, null);
+	// }
+	//
+	// public IPackageFragment createPackage(String name) throws CoreException {
+	// if (sourceFolder == null)
+	// sourceFolder = createSourceFolder();
+	// return sourceFolder.createPackageFragment(name, false, null);
+	// }
+	//
+	// public IType createType(IPackageFragment pack, String cuName, String
+	// source)
+	// throws JavaModelException {
+	// StringBuffer buf = new StringBuffer();
+	// buf.append("package " + pack.getElementName() + ";\n");
+	// buf.append("\n");
+	// buf.append(source);
+	// ICompilationUnit cu = pack.createCompilationUnit(cuName,
+	// buf.toString(), false, null);
+	// return cu.getTypes()[0];
+	// }
+	//
+	// /**
+	// * Wait for autobuild notification to occur, that is
+	// * for the autbuild to finish.
+	// */
+	// public void waitForAutoBuild() {
+	// boolean wasInterrupted = false;
+	// do {
+	// try {
+	// Platform.getJobManager().join(
+	// ResourcesPlugin.FAMILY_AUTO_BUILD, null);
+	// wasInterrupted = false;
+	// } catch (OperationCanceledException e) {
+	// throw (e);
+	// } catch (InterruptedException e) {
+	// wasInterrupted = true;
+	// }
+	// } while (wasInterrupted);
+	// }
+	//
+	// public void dispose() throws CoreException {
+	// waitForIndexer();
+	// project.delete(true, true, null);
+	// }
+	//
+
+	//
+	// public IFolder createXmlFolder() throws CoreException {
+	// IFolder xmlFolder = project.getFolder("xml");
+	// if (!xmlFolder.exists()) {
+	// xmlFolder.create(false, true, null);
+	// }
+	// return xmlFolder;
+	// }
+	//
+
+	//
+	// private IPackageFragmentRoot createSourceFolder() throws CoreException {
+	// IFolder folder = project.getFolder("src");
+	// folder.create(false, true, null);
+	// IPackageFragmentRoot root = javaProject.getPackageFragmentRoot(folder);
+	//
+	// IClasspathEntry[] oldEntries = javaProject.getRawClasspath();
+	// IClasspathEntry[] newEntries = new IClasspathEntry[oldEntries.length +
+	// 1];
+	// System.arraycopy(oldEntries, 0, newEntries, 0, oldEntries.length);
+	// newEntries[oldEntries.length] = JavaCore.newSourceEntry(root.getPath());
+	// javaProject.setRawClasspath(newEntries, null);
+	// return root;
+	// }
+	//
+
+	// private Path findFileInPlugin(String plugin, String file)
+	// throws MalformedURLException, IOException {
+	// IPluginRegistry registry = Platform.getPluginRegistry();
+	// IPluginDescriptor descriptor = registry.getPluginDescriptor(plugin);
+	// URL pluginURL = descriptor.getInstallURL();
+	// URL jarURL = new URL(pluginURL, file);
+	// URL localJarURL = Platform.asLocalURL(jarURL);
+	// return new Path(localJarURL.getPath());
+	// }
+	//
+	// private void waitForIndexer() throws JavaModelException {
+	// new SearchEngine().searchAllTypeNames(ResourcesPlugin.getWorkspace(),
+	// null, null, IJavaSearchConstants.EXACT_MATCH,
+	// IJavaSearchConstants.CASE_SENSITIVE,
+	// IJavaSearchConstants.CLASS, SearchEngine
+	// .createJavaSearchScope(new IJavaElement[0]),
+	// new ITypeNameRequestor() {
+	// public void acceptClass(char[] packageName,
+	// char[] simpleTypeName, char[][] enclosingTypeNames,
+	// String path) {
+	// }
+	//
+	// public void acceptInterface(char[] packageName,
+	// char[] simpleTypeName, char[][] enclosingTypeNames,
+	// String path) {
+	// }
+	// }, IJavaSearchConstants.WAIT_UNTIL_READY_TO_SEARCH, null);
+	// }
+}

Propchange: incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/EclipseProjectBuilder.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/EclipseProjectBuilder.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/EclipseProjectBuilder.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/ExtensionRegistryTest.java
URL: http://svn.apache.org/viewvc/incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/ExtensionRegistryTest.java?rev=1071768&view=auto
==============================================================================
--- incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/ExtensionRegistryTest.java (added)
+++ incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/ExtensionRegistryTest.java Thu Feb 17 20:22:56 2011
@@ -0,0 +1,85 @@
+/* 
+ *  Copyright 2008-2009 the EasyAnt project
+ * 
+ *  See the NOTICE file distributed with this work for additional information
+ *  regarding copyright ownership. 
+ * 
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ * 
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ *  Unless required by applicable law or agreed to in writing, software 
+ *  distributed under the License is distributed on an "AS IS" BASIS, 
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and 
+ *  limitations under the License.
+ */
+package org.apache.easyant4e.tests;
+
+import static org.junit.Assert.assertNotNull;
+
+import org.eclipse.core.internal.registry.ExtensionRegistry;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IContributor;
+import org.eclipse.core.runtime.IExtension;
+import org.eclipse.core.runtime.IExtensionPoint;
+import org.eclipse.core.runtime.IExtensionRegistry;
+import org.eclipse.core.runtime.RegistryFactory;
+import org.eclipse.core.runtime.spi.IDynamicExtensionRegistry;
+import org.junit.Test;
+
+/**
+ * 
+ * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
+ */
+public class ExtensionRegistryTest {
+
+	@Test
+	public void testRemoveExtension() {
+		IExtensionRegistry reg = RegistryFactory.getRegistry();		
+		
+		//assertNull(reg.getExtension("org.apache.ivyde.eclipse.ui.actions.ResolveAction"));
+		//assertNull(reg.getExtension("org.eclipse.ui.popupMenus","org.apache.ivyde.eclipse.ui.actions.ResolveAction"));
+		//assertNull(reg.getExtension("org.eclipse.ui","popupMenus","org.apache.ivyde.eclipse.ui.actions.ResolveAction"));
+
+		IDynamicExtensionRegistry reg2 = (IDynamicExtensionRegistry)reg;
+		for(IContributor contributor : reg2.getAllContributors()){			
+			if("org.apache.ivyde.eclipse".equals(contributor.getName())){
+				System.out.println("--> contributor "+contributor);
+				reg2.removeContributor(contributor, ((ExtensionRegistry) reg2).getTemporaryUserToken());
+				System.out.println("--> remove all extensions ");
+			}
+		}		
+		
+//		IExtension[] extensions = reg.getExtensions("org.apache.ivyde.eclipse");
+//		assertNotNull(extensions);
+//		for(IExtension extension:extensions){
+//			if("org.eclipse.ui.popupMenus".equals(extension.getExtensionPointUniqueIdentifier())){
+//				reg.removeExtension(extension, ((ExtensionRegistry) reg).getTemporaryUserToken());
+//			}
+//			System.out.println(extension.getNamespaceIdentifier() +" - "+extension.getExtensionPointUniqueIdentifier());			
+//			final IConfigurationElement[] configElements = extension.getConfigurationElements();
+//	        for (IConfigurationElement element:configElements) {
+//	        	System.out.println("\t--> "+element.getName()+" : "+element.getAttribute("id"));		        	
+//	        }		        
+//		}
+		
+	
+	}
+
+//	private void removeExtension(String extensionPointId, String extensionId) {
+//		IExtensionRegistry reg = RegistryFactory.getRegistry();
+//		IExtension extension = reg.getExtension(extensionPointId, extensionId);
+//		if (extension != null) {
+//			reg.removeExtension(extension, getUserToken());
+//		}
+//	}
+//
+//	private Object getUserToken() {
+//		IExtensionRegistry registry = RegistryFactory.getRegistry();
+//		// return null; // require -Declipse.registry.nulltoken=true
+//		return ((ExtensionRegistry) registry).getTemporaryUserToken();
+//	}
+}

Propchange: incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/ExtensionRegistryTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/ExtensionRegistryTest.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/ExtensionRegistryTest.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/ImportProjectTest.java
URL: http://svn.apache.org/viewvc/incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/ImportProjectTest.java?rev=1071768&view=auto
==============================================================================
--- incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/ImportProjectTest.java (added)
+++ incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/ImportProjectTest.java Thu Feb 17 20:22:56 2011
@@ -0,0 +1,165 @@
+/* 
+ *  Copyright 2008-2009 the EasyAnt project
+ * 
+ *  See the NOTICE file distributed with this work for additional information
+ *  regarding copyright ownership. 
+ * 
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ * 
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ *  Unless required by applicable law or agreed to in writing, software 
+ *  distributed under the License is distributed on an "AS IS" BASIS, 
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and 
+ *  limitations under the License.
+ */
+package org.apache.easyant4e.tests;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.io.File;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.easyant4e.Activator;
+import org.apache.easyant4e.EasyAntPlugin;
+import org.apache.easyant4e.services.EasyantProjectService;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IProjectDescription;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jdt.core.IClasspathEntry;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.pde.core.plugin.IPluginModelBase;
+import org.eclipse.pde.core.plugin.PluginRegistry;
+import org.eclipse.pde.internal.core.util.CoreUtility;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.PlatformUI;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import com.google.inject.Inject;
+
+
+/**
+ * 
+ * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
+ */
+public class ImportProjectTest{
+	@Inject
+	EasyantProjectService projectService;
+	
+	@Before
+	public void setUp() throws Exception {
+		EasyAntPlugin easyAntPlugin = Activator.getEasyAntPlugin();
+		assertNotNull(easyAntPlugin);
+		easyAntPlugin.injectMembers(this);
+		assertNotNull(projectService);
+	}	
+	
+	IProject simpleJavaProject;
+	@Test
+	public void testImportSimpleProject() throws Exception {
+		final String projectName = "simplejavaproject";
+		IProjectDescription description = Activator.getEasyAntPlugin().getPluginWorkspace().newProjectDescription(projectName);
+		assertNotNull(description);
+		URL url = getClass().getResource("/datas/"+projectName);
+		assertNotNull(url);
+		String filePath = url.getFile();
+		assertNotNull(filePath);
+		//String testWorkspacePath = ResourcesPlugin.getWorkspace().getRoot().getLocation().toOSString();
+		
+		IPath projectLocation = getSimpleJavaProjectLocation(filePath);
+		assertNotNull(projectLocation);
+		description.setLocation(projectLocation);
+		final String comment = projectName+ " description";
+		description.setComment(comment);
+		String[] newNatures= {};
+		description.setNatureIds(newNatures);	
+	
+		Thread.sleep(2000);
+		Shell messageShell = PlatformUI.getWorkbench().getDisplay().getActiveShell();
+		assertNotNull(messageShell);
+		simpleJavaProject = projectService.importProject(description, messageShell, new NullProgressMonitor());
+		assertNotNull(simpleJavaProject);
+		assertTrue(simpleJavaProject.exists());
+		assertTrue(simpleJavaProject.isOpen());
+		assertEquals(projectName, simpleJavaProject.getName());
+		try {
+			assertEquals(comment, simpleJavaProject.getDescription().getComment());
+		} catch (CoreException e) {
+			fail(e.getMessage());
+		}
+		assertTrue(projectService.hasEasyAntNature(simpleJavaProject));
+		
+		//Assert source folders
+		assertTrue(simpleJavaProject.hasNature(JavaCore.NATURE_ID));	
+		IJavaProject javaProject = (IJavaProject)simpleJavaProject.getNature(JavaCore.NATURE_ID);
+		assertNotNull(javaProject);
+		List<IClasspathEntry> entries = new ArrayList<IClasspathEntry>();
+		entries.addAll(Arrays.asList(javaProject.getRawClasspath()));
+		assertTrue(entries.size()>0);
+		boolean srcMainJavaSourceFolderFound=false;
+		boolean srcTestJavaSourceFolderFound=false;
+		boolean srcMainResourcesSourceFolderFound=false;
+		boolean srcTestResourcesSourceFolderFound=false;
+		for(IClasspathEntry entry:entries){
+			if(IClasspathEntry.CPE_SOURCE==entry.getEntryKind()){
+				String path = entry.getPath().toOSString();
+				assertNotNull(path);
+				if("/simplejavaproject/src/main/java".equals(path)){
+					srcMainJavaSourceFolderFound=true;
+				}else if("/simplejavaproject/src/test/java".equals(path)){
+					srcTestJavaSourceFolderFound=true;
+				}else if("/simplejavaproject/src/main/resources".equals(path)){
+					srcMainResourcesSourceFolderFound=true;
+				}else if("/simplejavaproject/src/test/resources".equals(path)){
+					srcTestResourcesSourceFolderFound=true;
+				}
+			}
+		}
+		assertTrue(srcMainJavaSourceFolderFound);
+		assertTrue(srcTestJavaSourceFolderFound);
+		assertTrue(srcMainResourcesSourceFolderFound);
+		assertTrue(srcTestResourcesSourceFolderFound);
+		
+		//TODO assert classpath
+		//org.eclipse.jdt.launching.JRE_CONTAINER
+		//org.apache.ivyde.eclipse.cpcontainer.IVYDE_CONTAINER/module.ivy/*
+	}
+	
+	private IPath getSimpleJavaProjectLocation(String projectPath){
+		IPluginModelBase model = PluginRegistry.findModel(TestPlugin.PLUGIN_ID);
+		assertNotNull(model);
+		IPath projectLocation=null;
+		if (model != null && model.getInstallLocation() != null) {
+			File modelNode = new File(model.getInstallLocation());
+			String pluginPath = modelNode.getAbsolutePath();
+			projectLocation = new Path(pluginPath + "/" + projectPath);
+		}
+		return projectLocation;
+	}
+
+	@After
+	public void tearDown() throws CoreException {
+		if(simpleJavaProject!=null){
+			EclipseProjectBuilder.deleteProject(simpleJavaProject,false);
+		}
+	}
+}

Propchange: incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/ImportProjectTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/ImportProjectTest.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/ImportProjectTest.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/StartupTest.java
URL: http://svn.apache.org/viewvc/incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/StartupTest.java?rev=1071768&view=auto
==============================================================================
--- incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/StartupTest.java (added)
+++ incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/StartupTest.java Thu Feb 17 20:22:56 2011
@@ -0,0 +1,82 @@
+/* 
+ *  Copyright 2008-2009 the EasyAnt project
+ * 
+ *  See the NOTICE file distributed with this work for additional information
+ *  regarding copyright ownership. 
+ * 
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ * 
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ *  Unless required by applicable law or agreed to in writing, software 
+ *  distributed under the License is distributed on an "AS IS" BASIS, 
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and 
+ *  limitations under the License.
+ */
+package org.apache.easyant4e.tests;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import org.apache.easyant4e.Activator;
+import org.apache.easyant4e.EasyAntPlugin;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.views.navigator.ResourceNavigator;
+import org.junit.Test;
+
+/**
+ * 
+ * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
+ */
+public class StartupTest extends AbstractEasyAntTest{
+	
+	@Test
+	public void testActivatorStartup() {
+		EasyAntPlugin easyAntPlugin = Activator.getEasyAntPlugin(); 
+		assertNotNull(easyAntPlugin);
+	}
+
+	@Test
+	public void testEasyAntCoreServiceInit() {
+		assertNotNull(coreService);			
+	}
+	
+	@Test
+	public void testEasyAntProjectServiceInit() {
+		assertNotNull(projectService);					
+	}
+		
+	@Test
+	public void testGetCurrentProject() {	    	
+		ResourceNavigator resourceNavigator = getResourceNavigator();
+		assertNotNull(resourceNavigator);
+		
+		resourceNavigator.selectReveal(new StructuredSelection(testProject));
+		IProject project1 = Activator.getEasyAntPlugin().getCurrentProject();
+		assertNotNull(project1);
+		assertEquals(testProject, project1);
+		
+		resourceNavigator.selectReveal(new StructuredSelection(testJavaProject));
+		IProject project2 = Activator.getEasyAntPlugin().getCurrentProject();
+		assertNotNull(project2);
+		assertEquals(testJavaProject.getProject(), project2);
+	}
+	
+	private ResourceNavigator getResourceNavigator(){
+		ResourceNavigator navigator = null;
+		try {
+			navigator = (ResourceNavigator) PlatformUI.getWorkbench()
+				.getActiveWorkbenchWindow().getActivePage().showView("org.eclipse.ui.views.ResourceNavigator");
+		} catch (PartInitException e) {
+			throw new RuntimeException(e);
+		}	
+		return navigator;
+	}
+	
+}

Propchange: incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/StartupTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/StartupTest.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/StartupTest.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/TestPlugin.java
URL: http://svn.apache.org/viewvc/incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/TestPlugin.java?rev=1071768&view=auto
==============================================================================
--- incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/TestPlugin.java (added)
+++ incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/TestPlugin.java Thu Feb 17 20:22:56 2011
@@ -0,0 +1,50 @@
+package org.apache.easyant4e.tests;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class TestPlugin extends AbstractUIPlugin {
+
+	// The plug-in ID
+	public static final String PLUGIN_ID = "org.apache.easyant4e.tests";
+
+	// The shared instance
+	private static TestPlugin plugin;
+	
+	/**
+	 * The constructor
+	 */
+	public TestPlugin() {
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+	 */
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+	 */
+	public void stop(BundleContext context) throws Exception {
+		plugin = null;
+		super.stop(context);
+	}
+
+	/**
+	 * Returns the shared instance
+	 *
+	 * @return the shared instance
+	 */
+	public static TestPlugin getDefault() {
+		return plugin;
+	}
+
+}

Propchange: incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/TestPlugin.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/TestPlugin.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/easyant4e/trunk/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/TestPlugin.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/.checkstyle
URL: http://svn.apache.org/viewvc/incubator/easyant/easyant4e/trunk/org.apache.easyant4e/.checkstyle?rev=1071768&view=auto
==============================================================================
--- incubator/easyant/easyant4e/trunk/org.apache.easyant4e/.checkstyle (added)
+++ incubator/easyant/easyant4e/trunk/org.apache.easyant4e/.checkstyle Thu Feb 17 20:22:56 2011
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<fileset-config file-format-version="1.2.0" simple-config="true">
+    <local-check-config name="EasyAnt4E" location="/quality/checkstyle/checkstyle-config" type="project" description="">
+        <property name="checkstyle.src.dir" value="${basedir}/../quality/checkstyle"/>
+        <additional-data name="protect-config-file" value="false"/>
+    </local-check-config>
+    <fileset name="tous" enabled="true" check-config-name="EasyAnt4E" local="true">
+        <file-match-pattern match-pattern="." include-pattern="true"/>
+    </fileset>
+</fileset-config>

Added: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/.classpath
URL: http://svn.apache.org/viewvc/incubator/easyant/easyant4e/trunk/org.apache.easyant4e/.classpath?rev=1071768&view=auto
==============================================================================
--- incubator/easyant/easyant4e/trunk/org.apache.easyant4e/.classpath (added)
+++ incubator/easyant/easyant4e/trunk/org.apache.easyant4e/.classpath Thu Feb 17 20:22:56 2011
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry exported="true" kind="lib" path="lib/guice/guice-2.0.jar"/>
+	<classpathentry exported="true" kind="lib" path="lib/guice/aopalliance.jar"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>

Added: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/.fbprefs
URL: http://svn.apache.org/viewvc/incubator/easyant/easyant4e/trunk/org.apache.easyant4e/.fbprefs?rev=1071768&view=auto
==============================================================================
--- incubator/easyant/easyant4e/trunk/org.apache.easyant4e/.fbprefs (added)
+++ incubator/easyant/easyant4e/trunk/org.apache.easyant4e/.fbprefs Thu Feb 17 20:22:56 2011
@@ -0,0 +1,124 @@
+#FindBugs User Preferences
+#Sun Apr 19 13:12:13 GMT+01:00 2009
+detectorAppendingToAnObjectOutputStream=AppendingToAnObjectOutputStream|true
+detectorBadAppletConstructor=BadAppletConstructor|false
+detectorBadResultSetAccess=BadResultSetAccess|true
+detectorBadSyntaxForRegularExpression=BadSyntaxForRegularExpression|true
+detectorBadUseOfReturnValue=BadUseOfReturnValue|true
+detectorBadlyOverriddenAdapter=BadlyOverriddenAdapter|true
+detectorBooleanReturnNull=BooleanReturnNull|true
+detectorCallToUnsupportedMethod=CallToUnsupportedMethod|true
+detectorCheckImmutableAnnotation=CheckImmutableAnnotation|true
+detectorCheckTypeQualifiers=CheckTypeQualifiers|true
+detectorCloneIdiom=CloneIdiom|true
+detectorComparatorIdiom=ComparatorIdiom|true
+detectorConfusedInheritance=ConfusedInheritance|true
+detectorConfusionBetweenInheritedAndOuterMethod=ConfusionBetweenInheritedAndOuterMethod|true
+detectorCrossSiteScripting=CrossSiteScripting|true
+detectorDoInsideDoPrivileged=DoInsideDoPrivileged|true
+detectorDontCatchIllegalMonitorStateException=DontCatchIllegalMonitorStateException|true
+detectorDontUseEnum=DontUseEnum|true
+detectorDroppedException=DroppedException|true
+detectorDumbMethodInvocations=DumbMethodInvocations|true
+detectorDumbMethods=DumbMethods|true
+detectorDuplicateBranches=DuplicateBranches|true
+detectorEmptyZipFileEntry=EmptyZipFileEntry|true
+detectorEqualsOperandShouldHaveClassCompatibleWithThis=EqualsOperandShouldHaveClassCompatibleWithThis|true
+detectorFinalizerNullsFields=FinalizerNullsFields|true
+detectorFindBadCast2=FindBadCast2|true
+detectorFindBadForLoop=FindBadForLoop|true
+detectorFindCircularDependencies=FindCircularDependencies|false
+detectorFindDeadLocalStores=FindDeadLocalStores|true
+detectorFindDoubleCheck=FindDoubleCheck|true
+detectorFindEmptySynchronizedBlock=FindEmptySynchronizedBlock|true
+detectorFindFieldSelfAssignment=FindFieldSelfAssignment|true
+detectorFindFinalizeInvocations=FindFinalizeInvocations|true
+detectorFindFloatEquality=FindFloatEquality|true
+detectorFindHEmismatch=FindHEmismatch|true
+detectorFindInconsistentSync2=FindInconsistentSync2|true
+detectorFindJSR166LockMonitorenter=FindJSR166LockMonitorenter|true
+detectorFindLocalSelfAssignment2=FindLocalSelfAssignment2|true
+detectorFindMaskedFields=FindMaskedFields|true
+detectorFindMismatchedWaitOrNotify=FindMismatchedWaitOrNotify|true
+detectorFindNakedNotify=FindNakedNotify|true
+detectorFindNonSerializableStoreIntoSession=FindNonSerializableStoreIntoSession|true
+detectorFindNonSerializableValuePassedToWriteObject=FindNonSerializableValuePassedToWriteObject|true
+detectorFindNonShortCircuit=FindNonShortCircuit|true
+detectorFindNullDeref=FindNullDeref|true
+detectorFindNullDerefsInvolvingNonShortCircuitEvaluation=FindNullDerefsInvolvingNonShortCircuitEvaluation|true
+detectorFindOpenStream=FindOpenStream|true
+detectorFindPuzzlers=FindPuzzlers|true
+detectorFindRefComparison=FindRefComparison|true
+detectorFindReturnRef=FindReturnRef|true
+detectorFindRunInvocations=FindRunInvocations|true
+detectorFindSelfComparison=FindSelfComparison|true
+detectorFindSelfComparison2=FindSelfComparison2|true
+detectorFindSleepWithLockHeld=FindSleepWithLockHeld|true
+detectorFindSpinLoop=FindSpinLoop|true
+detectorFindSqlInjection=FindSqlInjection|true
+detectorFindTwoLockWait=FindTwoLockWait|true
+detectorFindUncalledPrivateMethods=FindUncalledPrivateMethods|true
+detectorFindUnconditionalWait=FindUnconditionalWait|true
+detectorFindUninitializedGet=FindUninitializedGet|true
+detectorFindUnrelatedTypesInGenericContainer=FindUnrelatedTypesInGenericContainer|true
+detectorFindUnreleasedLock=FindUnreleasedLock|true
+detectorFindUnsatisfiedObligation=FindUnsatisfiedObligation|true
+detectorFindUnsyncGet=FindUnsyncGet|true
+detectorFindUselessControlFlow=FindUselessControlFlow|true
+detectorFormatStringChecker=FormatStringChecker|true
+detectorHugeSharedStringConstants=HugeSharedStringConstants|true
+detectorIDivResultCastToDouble=IDivResultCastToDouble|true
+detectorIncompatMask=IncompatMask|true
+detectorInconsistentAnnotations=InconsistentAnnotations|true
+detectorInefficientMemberAccess=InefficientMemberAccess|false
+detectorInefficientToArray=InefficientToArray|true
+detectorInfiniteLoop=InfiniteLoop|true
+detectorInfiniteRecursiveLoop=InfiniteRecursiveLoop|true
+detectorInfiniteRecursiveLoop2=InfiniteRecursiveLoop2|false
+detectorInheritanceUnsafeGetResource=InheritanceUnsafeGetResource|true
+detectorInitializationChain=InitializationChain|true
+detectorInstantiateStaticClass=InstantiateStaticClass|true
+detectorInvalidJUnitTest=InvalidJUnitTest|true
+detectorIteratorIdioms=IteratorIdioms|true
+detectorLazyInit=LazyInit|true
+detectorLoadOfKnownNullValue=LoadOfKnownNullValue|true
+detectorMethodReturnCheck=MethodReturnCheck|true
+detectorMultithreadedInstanceAccess=MultithreadedInstanceAccess|true
+detectorMutableLock=MutableLock|true
+detectorMutableStaticFields=MutableStaticFields|true
+detectorNaming=Naming|true
+detectorNumberConstructor=NumberConstructor|true
+detectorOverridingEqualsNotSymmetrical=OverridingEqualsNotSymmetrical|true
+detectorPreferZeroLengthArrays=PreferZeroLengthArrays|true
+detectorPublicSemaphores=PublicSemaphores|false
+detectorQuestionableBooleanAssignment=QuestionableBooleanAssignment|true
+detectorReadReturnShouldBeChecked=ReadReturnShouldBeChecked|true
+detectorRedundantInterfaces=RedundantInterfaces|true
+detectorRepeatedConditionals=RepeatedConditionals|true
+detectorRuntimeExceptionCapture=RuntimeExceptionCapture|true
+detectorSerializableIdiom=SerializableIdiom|true
+detectorStartInConstructor=StartInConstructor|true
+detectorStaticCalendarDetector=StaticCalendarDetector|true
+detectorStringConcatenation=StringConcatenation|true
+detectorSuperfluousInstanceOf=SuperfluousInstanceOf|true
+detectorSuspiciousThreadInterrupted=SuspiciousThreadInterrupted|true
+detectorSwitchFallthrough=SwitchFallthrough|true
+detectorSynchronizeAndNullCheckField=SynchronizeAndNullCheckField|true
+detectorSynchronizeOnClassLiteralNotGetClass=SynchronizeOnClassLiteralNotGetClass|true
+detectorSynchronizingOnContentsOfFieldToProtectField=SynchronizingOnContentsOfFieldToProtectField|true
+detectorURLProblems=URLProblems|true
+detectorUncallableMethodOfAnonymousClass=UncallableMethodOfAnonymousClass|true
+detectorUnnecessaryMath=UnnecessaryMath|true
+detectorUnreadFields=UnreadFields|true
+detectorUseObjectEquals=UseObjectEquals|false
+detectorUselessSubclassMethod=UselessSubclassMethod|false
+detectorVarArgsProblems=VarArgsProblems|true
+detectorVolatileUsage=VolatileUsage|true
+detectorWaitInLoop=WaitInLoop|true
+detectorWrongMapIterator=WrongMapIterator|true
+detectorXMLFactoryBypass=XMLFactoryBypass|true
+detector_threshold=2
+effort=default
+filter_settings=Medium|BAD_PRACTICE,CORRECTNESS,MT_CORRECTNESS,PERFORMANCE,STYLE|false
+filter_settings_neg=I18N,NOISE,MALICIOUS_CODE,SECURITY,EXPERIMENTAL|
+run_at_full_build=true

Added: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/.pmd
URL: http://svn.apache.org/viewvc/incubator/easyant/easyant4e/trunk/org.apache.easyant4e/.pmd?rev=1071768&view=auto
==============================================================================
--- incubator/easyant/easyant4e/trunk/org.apache.easyant4e/.pmd (added)
+++ incubator/easyant/easyant4e/trunk/org.apache.easyant4e/.pmd Thu Feb 17 20:22:56 2011
@@ -0,0 +1,941 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<pmd>
+    <useProjectRuleSet>false</useProjectRuleSet>
+    <ruleSetFile>.ruleset</ruleSetFile>
+    <rules>
+        <rule>
+            <name>AvoidDecimalLiteralsInBigDecimalConstructor</name>
+            <ruleset>Basic Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AvoidMultipleUnaryOperators</name>
+            <ruleset>Basic Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AvoidThreadGroup</name>
+            <ruleset>Basic Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AvoidUsingHardCodedIP</name>
+            <ruleset>Basic Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AvoidUsingOctalValues</name>
+            <ruleset>Basic Rules</ruleset>
+        </rule>
+        <rule>
+            <name>BigIntegerInstantiation</name>
+            <ruleset>Basic Rules</ruleset>
+        </rule>
+        <rule>
+            <name>BooleanInstantiation</name>
+            <ruleset>Basic Rules</ruleset>
+        </rule>
+        <rule>
+            <name>BrokenNullCheck</name>
+            <ruleset>Basic Rules</ruleset>
+        </rule>
+        <rule>
+            <name>CheckResultSet</name>
+            <ruleset>Basic Rules</ruleset>
+        </rule>
+        <rule>
+            <name>ClassCastExceptionWithToArray</name>
+            <ruleset>Basic Rules</ruleset>
+        </rule>
+        <rule>
+            <name>CollapsibleIfStatements</name>
+            <ruleset>Basic Rules</ruleset>
+        </rule>
+        <rule>
+            <name>DoubleCheckedLocking</name>
+            <ruleset>Basic Rules</ruleset>
+        </rule>
+        <rule>
+            <name>EmptyCatchBlock</name>
+            <ruleset>Basic Rules</ruleset>
+        </rule>
+        <rule>
+            <name>EmptyFinallyBlock</name>
+            <ruleset>Basic Rules</ruleset>
+        </rule>
+        <rule>
+            <name>EmptyIfStmt</name>
+            <ruleset>Basic Rules</ruleset>
+        </rule>
+        <rule>
+            <name>EmptyInitializer</name>
+            <ruleset>Basic Rules</ruleset>
+        </rule>
+        <rule>
+            <name>EmptyStatementNotInLoop</name>
+            <ruleset>Basic Rules</ruleset>
+        </rule>
+        <rule>
+            <name>EmptyStaticInitializer</name>
+            <ruleset>Basic Rules</ruleset>
+        </rule>
+        <rule>
+            <name>EmptySwitchStatements</name>
+            <ruleset>Basic Rules</ruleset>
+        </rule>
+        <rule>
+            <name>EmptySynchronizedBlock</name>
+            <ruleset>Basic Rules</ruleset>
+        </rule>
+        <rule>
+            <name>EmptyTryBlock</name>
+            <ruleset>Basic Rules</ruleset>
+        </rule>
+        <rule>
+            <name>EmptyWhileStmt</name>
+            <ruleset>Basic Rules</ruleset>
+        </rule>
+        <rule>
+            <name>ForLoopShouldBeWhileLoop</name>
+            <ruleset>Basic Rules</ruleset>
+        </rule>
+        <rule>
+            <name>JumbledIncrementer</name>
+            <ruleset>Basic Rules</ruleset>
+        </rule>
+        <rule>
+            <name>MisplacedNullCheck</name>
+            <ruleset>Basic Rules</ruleset>
+        </rule>
+        <rule>
+            <name>OverrideBothEqualsAndHashcode</name>
+            <ruleset>Basic Rules</ruleset>
+        </rule>
+        <rule>
+            <name>ReturnFromFinallyBlock</name>
+            <ruleset>Basic Rules</ruleset>
+        </rule>
+        <rule>
+            <name>UnconditionalIfStatement</name>
+            <ruleset>Basic Rules</ruleset>
+        </rule>
+        <rule>
+            <name>UnnecessaryConversionTemporary</name>
+            <ruleset>Basic Rules</ruleset>
+        </rule>
+        <rule>
+            <name>UnnecessaryFinalModifier</name>
+            <ruleset>Basic Rules</ruleset>
+        </rule>
+        <rule>
+            <name>UnnecessaryReturn</name>
+            <ruleset>Basic Rules</ruleset>
+        </rule>
+        <rule>
+            <name>UnusedNullCheckInEquals</name>
+            <ruleset>Basic Rules</ruleset>
+        </rule>
+        <rule>
+            <name>UselessOperationOnImmutable</name>
+            <ruleset>Basic Rules</ruleset>
+        </rule>
+        <rule>
+            <name>UselessOverridingMethod</name>
+            <ruleset>Basic Rules</ruleset>
+        </rule>
+        <rule>
+            <name>ForLoopsMustUseBraces</name>
+            <ruleset>Braces Rules</ruleset>
+        </rule>
+        <rule>
+            <name>IfElseStmtsMustUseBraces</name>
+            <ruleset>Braces Rules</ruleset>
+        </rule>
+        <rule>
+            <name>IfStmtsMustUseBraces</name>
+            <ruleset>Braces Rules</ruleset>
+        </rule>
+        <rule>
+            <name>WhileLoopsMustUseBraces</name>
+            <ruleset>Braces Rules</ruleset>
+        </rule>
+        <rule>
+            <name>CloneThrowsCloneNotSupportedException</name>
+            <ruleset>Clone Implementation Rules</ruleset>
+        </rule>
+        <rule>
+            <name>ProperCloneImplementation</name>
+            <ruleset>Clone Implementation Rules</ruleset>
+        </rule>
+        <rule>
+            <name>CyclomaticComplexity</name>
+            <ruleset>Code Size Rules</ruleset>
+        </rule>
+        <rule>
+            <name>ExcessiveClassLength</name>
+            <ruleset>Code Size Rules</ruleset>
+        </rule>
+        <rule>
+            <name>ExcessiveMethodLength</name>
+            <ruleset>Code Size Rules</ruleset>
+        </rule>
+        <rule>
+            <name>ExcessiveParameterList</name>
+            <ruleset>Code Size Rules</ruleset>
+        </rule>
+        <rule>
+            <name>ExcessivePublicCount</name>
+            <ruleset>Code Size Rules</ruleset>
+        </rule>
+        <rule>
+            <name>NcssConstructorCount</name>
+            <ruleset>Code Size Rules</ruleset>
+        </rule>
+        <rule>
+            <name>NcssMethodCount</name>
+            <ruleset>Code Size Rules</ruleset>
+        </rule>
+        <rule>
+            <name>NcssTypeCount</name>
+            <ruleset>Code Size Rules</ruleset>
+        </rule>
+        <rule>
+            <name>NPathComplexity</name>
+            <ruleset>Code Size Rules</ruleset>
+        </rule>
+        <rule>
+            <name>TooManyFields</name>
+            <ruleset>Code Size Rules</ruleset>
+        </rule>
+        <rule>
+            <name>TooManyMethods</name>
+            <ruleset>Code Size Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AssignmentInOperand</name>
+            <ruleset>Controversial Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AtLeastOneConstructor</name>
+            <ruleset>Controversial Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AvoidAccessibilityAlteration</name>
+            <ruleset>Controversial Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AvoidFinalLocalVariable</name>
+            <ruleset>Controversial Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AvoidUsingNativeCode</name>
+            <ruleset>Controversial Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AvoidUsingShortType</name>
+            <ruleset>Controversial Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AvoidUsingVolatile</name>
+            <ruleset>Controversial Rules</ruleset>
+        </rule>
+        <rule>
+            <name>BooleanInversion</name>
+            <ruleset>Controversial Rules</ruleset>
+        </rule>
+        <rule>
+            <name>CallSuperInConstructor</name>
+            <ruleset>Controversial Rules</ruleset>
+        </rule>
+        <rule>
+            <name>DataflowAnomalyAnalysis</name>
+            <ruleset>Controversial Rules</ruleset>
+        </rule>
+        <rule>
+            <name>DefaultPackage</name>
+            <ruleset>Controversial Rules</ruleset>
+        </rule>
+        <rule>
+            <name>DoNotCallGarbageCollectionExplicitly</name>
+            <ruleset>Controversial Rules</ruleset>
+        </rule>
+        <rule>
+            <name>DontImportSun</name>
+            <ruleset>Controversial Rules</ruleset>
+        </rule>
+        <rule>
+            <name>NullAssignment</name>
+            <ruleset>Controversial Rules</ruleset>
+        </rule>
+        <rule>
+            <name>OnlyOneReturn</name>
+            <ruleset>Controversial Rules</ruleset>
+        </rule>
+        <rule>
+            <name>SuspiciousOctalEscape</name>
+            <ruleset>Controversial Rules</ruleset>
+        </rule>
+        <rule>
+            <name>UnnecessaryConstructor</name>
+            <ruleset>Controversial Rules</ruleset>
+        </rule>
+        <rule>
+            <name>UnnecessaryParentheses</name>
+            <ruleset>Controversial Rules</ruleset>
+        </rule>
+        <rule>
+            <name>UnusedModifier</name>
+            <ruleset>Controversial Rules</ruleset>
+        </rule>
+        <rule>
+            <name>CouplingBetweenObjects</name>
+            <ruleset>Coupling Rules</ruleset>
+        </rule>
+        <rule>
+            <name>ExcessiveImports</name>
+            <ruleset>Coupling Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AbstractClassWithoutAbstractMethod</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AbstractClassWithoutAnyMethod</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AccessorClassGeneration</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AssignmentToNonFinalStatic</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AvoidConstantsInterface</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AvoidDeeplyNestedIfStmts</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AvoidInstanceofChecksInCatchClause</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AvoidProtectedFieldInFinalClass</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AvoidReassigningParameters</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AvoidSynchronizedAtMethodLevel</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>BadComparison</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>ClassWithOnlyPrivateConstructorsShouldBeFinal</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>CloseResource</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>CompareObjectsWithEquals</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>ConfusingTernary</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>ConstructorCallsOverridableMethod</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>DefaultLabelNotLastInSwitchStmt</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>EmptyMethodInAbstractClassShouldBeAbstract</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>EqualsNull</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>FinalFieldCouldBeStatic</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>IdempotentOperations</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>ImmutableField</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>InstantiationToGetClass</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>MissingBreakInSwitch</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>MissingStaticMethodInNonInstantiatableClass</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>NonCaseLabelInSwitchStatement</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>NonStaticInitializer</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>NonThreadSafeSingleton</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>OptimizableToArrayCall</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>PositionLiteralsFirstInComparisons</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>PreserveStackTrace</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>ReturnEmptyArrayRatherThanNull</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>SimpleDateFormatNeedsLocale</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>SimplifyBooleanExpressions</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>SimplifyBooleanReturns</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>SimplifyConditional</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>SingularField</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>SwitchDensity</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>SwitchStmtsShouldHaveDefault</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>TooFewBranchesForASwitchStatement</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>UncommentedEmptyConstructor</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>UncommentedEmptyMethod</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>UnnecessaryLocalBeforeReturn</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>UnsynchronizedStaticDateFormatter</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>UseCollectionIsEmpty</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>UseLocaleWithCaseConversions</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>UseNotifyAllInsteadOfNotify</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>UseSingleton</name>
+            <ruleset>Design Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AvoidCallingFinalize</name>
+            <ruleset>Finalizer Rules</ruleset>
+        </rule>
+        <rule>
+            <name>EmptyFinalizer</name>
+            <ruleset>Finalizer Rules</ruleset>
+        </rule>
+        <rule>
+            <name>FinalizeDoesNotCallSuperFinalize</name>
+            <ruleset>Finalizer Rules</ruleset>
+        </rule>
+        <rule>
+            <name>FinalizeOnlyCallsSuperFinalize</name>
+            <ruleset>Finalizer Rules</ruleset>
+        </rule>
+        <rule>
+            <name>FinalizeOverloaded</name>
+            <ruleset>Finalizer Rules</ruleset>
+        </rule>
+        <rule>
+            <name>FinalizeShouldBeProtected</name>
+            <ruleset>Finalizer Rules</ruleset>
+        </rule>
+        <rule>
+            <name>DontImportJavaLang</name>
+            <ruleset>Import Statement Rules</ruleset>
+        </rule>
+        <rule>
+            <name>DuplicateImports</name>
+            <ruleset>Import Statement Rules</ruleset>
+        </rule>
+        <rule>
+            <name>ImportFromSamePackage</name>
+            <ruleset>Import Statement Rules</ruleset>
+        </rule>
+        <rule>
+            <name>TooManyStaticImports</name>
+            <ruleset>Import Statement Rules</ruleset>
+        </rule>
+        <rule>
+            <name>DoNotCallSystemExit</name>
+            <ruleset>J2EE Rules</ruleset>
+        </rule>
+        <rule>
+            <name>DoNotUseThreads</name>
+            <ruleset>J2EE Rules</ruleset>
+        </rule>
+        <rule>
+            <name>LocalHomeNamingConvention</name>
+            <ruleset>J2EE Rules</ruleset>
+        </rule>
+        <rule>
+            <name>LocalInterfaceSessionNamingConvention</name>
+            <ruleset>J2EE Rules</ruleset>
+        </rule>
+        <rule>
+            <name>MDBAndSessionBeanNamingConvention</name>
+            <ruleset>J2EE Rules</ruleset>
+        </rule>
+        <rule>
+            <name>RemoteInterfaceNamingConvention</name>
+            <ruleset>J2EE Rules</ruleset>
+        </rule>
+        <rule>
+            <name>RemoteSessionInterfaceNamingConvention</name>
+            <ruleset>J2EE Rules</ruleset>
+        </rule>
+        <rule>
+            <name>StaticEJBFieldShouldBeFinal</name>
+            <ruleset>J2EE Rules</ruleset>
+        </rule>
+        <rule>
+            <name>UseProperClassLoader</name>
+            <ruleset>J2EE Rules</ruleset>
+        </rule>
+        <rule>
+            <name>ProperLogger</name>
+            <ruleset>Jakarta Commons Logging Rules</ruleset>
+        </rule>
+        <rule>
+            <name>UseCorrectExceptionLogging</name>
+            <ruleset>Jakarta Commons Logging Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AvoidPrintStackTrace</name>
+            <ruleset>Java Logging Rules</ruleset>
+        </rule>
+        <rule>
+            <name>LoggerIsNotStaticFinal</name>
+            <ruleset>Java Logging Rules</ruleset>
+        </rule>
+        <rule>
+            <name>MoreThanOneLogger</name>
+            <ruleset>Java Logging Rules</ruleset>
+        </rule>
+        <rule>
+            <name>SystemPrintln</name>
+            <ruleset>Java Logging Rules</ruleset>
+        </rule>
+        <rule>
+            <name>BeanMembersShouldSerialize</name>
+            <ruleset>JavaBean Rules</ruleset>
+        </rule>
+        <rule>
+            <name>MissingSerialVersionUID</name>
+            <ruleset>JavaBean Rules</ruleset>
+        </rule>
+        <rule>
+            <name>JUnitAssertionsShouldIncludeMessage</name>
+            <ruleset>JUnit Rules</ruleset>
+        </rule>
+        <rule>
+            <name>JUnitSpelling</name>
+            <ruleset>JUnit Rules</ruleset>
+        </rule>
+        <rule>
+            <name>JUnitStaticSuite</name>
+            <ruleset>JUnit Rules</ruleset>
+        </rule>
+        <rule>
+            <name>JUnitTestsShouldIncludeAssert</name>
+            <ruleset>JUnit Rules</ruleset>
+        </rule>
+        <rule>
+            <name>SimplifyBooleanAssertion</name>
+            <ruleset>JUnit Rules</ruleset>
+        </rule>
+        <rule>
+            <name>TestClassWithoutTestCases</name>
+            <ruleset>JUnit Rules</ruleset>
+        </rule>
+        <rule>
+            <name>UnnecessaryBooleanAssertion</name>
+            <ruleset>JUnit Rules</ruleset>
+        </rule>
+        <rule>
+            <name>UseAssertEqualsInsteadOfAssertTrue</name>
+            <ruleset>JUnit Rules</ruleset>
+        </rule>
+        <rule>
+            <name>UseAssertNullInsteadOfAssertTrue</name>
+            <ruleset>JUnit Rules</ruleset>
+        </rule>
+        <rule>
+            <name>UseAssertSameInsteadOfAssertTrue</name>
+            <ruleset>JUnit Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AvoidAssertAsIdentifier</name>
+            <ruleset>Migration Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AvoidEnumAsIdentifier</name>
+            <ruleset>Migration Rules</ruleset>
+        </rule>
+        <rule>
+            <name>ByteInstantiation</name>
+            <ruleset>Migration Rules</ruleset>
+        </rule>
+        <rule>
+            <name>IntegerInstantiation</name>
+            <ruleset>Migration Rules</ruleset>
+        </rule>
+        <rule>
+            <name>JUnit4SuitesShouldUseSuiteAnnotation</name>
+            <ruleset>Migration Rules</ruleset>
+        </rule>
+        <rule>
+            <name>JUnit4TestShouldUseAfterAnnotation</name>
+            <ruleset>Migration Rules</ruleset>
+        </rule>
+        <rule>
+            <name>JUnit4TestShouldUseBeforeAnnotation</name>
+            <ruleset>Migration Rules</ruleset>
+        </rule>
+        <rule>
+            <name>JUnit4TestShouldUseTestAnnotation</name>
+            <ruleset>Migration Rules</ruleset>
+        </rule>
+        <rule>
+            <name>JUnitUseExpected</name>
+            <ruleset>Migration Rules</ruleset>
+        </rule>
+        <rule>
+            <name>LongInstantiation</name>
+            <ruleset>Migration Rules</ruleset>
+        </rule>
+        <rule>
+            <name>ReplaceEnumerationWithIterator</name>
+            <ruleset>Migration Rules</ruleset>
+        </rule>
+        <rule>
+            <name>ReplaceHashtableWithMap</name>
+            <ruleset>Migration Rules</ruleset>
+        </rule>
+        <rule>
+            <name>ReplaceVectorWithList</name>
+            <ruleset>Migration Rules</ruleset>
+        </rule>
+        <rule>
+            <name>ShortInstantiation</name>
+            <ruleset>Migration Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AbstractNaming</name>
+            <ruleset>Naming Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AvoidDollarSigns</name>
+            <ruleset>Naming Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AvoidFieldNameMatchingMethodName</name>
+            <ruleset>Naming Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AvoidFieldNameMatchingTypeName</name>
+            <ruleset>Naming Rules</ruleset>
+        </rule>
+        <rule>
+            <name>BooleanGetMethodName</name>
+            <ruleset>Naming Rules</ruleset>
+        </rule>
+        <rule>
+            <name>ClassNamingConventions</name>
+            <ruleset>Naming Rules</ruleset>
+        </rule>
+        <rule>
+            <name>LongVariable</name>
+            <ruleset>Naming Rules</ruleset>
+        </rule>
+        <rule>
+            <name>MethodNamingConventions</name>
+            <ruleset>Naming Rules</ruleset>
+        </rule>
+        <rule>
+            <name>MethodWithSameNameAsEnclosingClass</name>
+            <ruleset>Naming Rules</ruleset>
+        </rule>
+        <rule>
+            <name>MisleadingVariableName</name>
+            <ruleset>Naming Rules</ruleset>
+        </rule>
+        <rule>
+            <name>NoPackage</name>
+            <ruleset>Naming Rules</ruleset>
+        </rule>
+        <rule>
+            <name>PackageCase</name>
+            <ruleset>Naming Rules</ruleset>
+        </rule>
+        <rule>
+            <name>ShortMethodName</name>
+            <ruleset>Naming Rules</ruleset>
+        </rule>
+        <rule>
+            <name>ShortVariable</name>
+            <ruleset>Naming Rules</ruleset>
+        </rule>
+        <rule>
+            <name>SuspiciousConstantFieldName</name>
+            <ruleset>Naming Rules</ruleset>
+        </rule>
+        <rule>
+            <name>SuspiciousEqualsMethodName</name>
+            <ruleset>Naming Rules</ruleset>
+        </rule>
+        <rule>
+            <name>SuspiciousHashcodeMethodName</name>
+            <ruleset>Naming Rules</ruleset>
+        </rule>
+        <rule>
+            <name>VariableNamingConventions</name>
+            <ruleset>Naming Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AddEmptyString</name>
+            <ruleset>Optimization Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AvoidArrayLoops</name>
+            <ruleset>Optimization Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AvoidInstantiatingObjectsInLoops</name>
+            <ruleset>Optimization Rules</ruleset>
+        </rule>
+        <rule>
+            <name>LocalVariableCouldBeFinal</name>
+            <ruleset>Optimization Rules</ruleset>
+        </rule>
+        <rule>
+            <name>MethodArgumentCouldBeFinal</name>
+            <ruleset>Optimization Rules</ruleset>
+        </rule>
+        <rule>
+            <name>SimplifyStartsWith</name>
+            <ruleset>Optimization Rules</ruleset>
+        </rule>
+        <rule>
+            <name>UnnecessaryWrapperObjectCreation</name>
+            <ruleset>Optimization Rules</ruleset>
+        </rule>
+        <rule>
+            <name>UseArrayListInsteadOfVector</name>
+            <ruleset>Optimization Rules</ruleset>
+        </rule>
+        <rule>
+            <name>UseArraysAsList</name>
+            <ruleset>Optimization Rules</ruleset>
+        </rule>
+        <rule>
+            <name>UseStringBufferForStringAppends</name>
+            <ruleset>Optimization Rules</ruleset>
+        </rule>
+        <rule>
+            <name>ArrayIsStoredDirectly</name>
+            <ruleset>Security Code Guidelines</ruleset>
+        </rule>
+        <rule>
+            <name>MethodReturnsInternalArray</name>
+            <ruleset>Security Code Guidelines</ruleset>
+        </rule>
+        <rule>
+            <name>AvoidCatchingNPE</name>
+            <ruleset>Strict Exception Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AvoidCatchingThrowable</name>
+            <ruleset>Strict Exception Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AvoidRethrowingException</name>
+            <ruleset>Strict Exception Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AvoidThrowingNewInstanceOfSameException</name>
+            <ruleset>Strict Exception Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AvoidThrowingNullPointerException</name>
+            <ruleset>Strict Exception Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AvoidThrowingRawExceptionTypes</name>
+            <ruleset>Strict Exception Rules</ruleset>
+        </rule>
+        <rule>
+            <name>DoNotExtendJavaLangError</name>
+            <ruleset>Strict Exception Rules</ruleset>
+        </rule>
+        <rule>
+            <name>DoNotThrowExceptionInFinally</name>
+            <ruleset>Strict Exception Rules</ruleset>
+        </rule>
+        <rule>
+            <name>ExceptionAsFlowControl</name>
+            <ruleset>Strict Exception Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AppendCharacterWithChar</name>
+            <ruleset>String and StringBuffer Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AvoidDuplicateLiterals</name>
+            <ruleset>String and StringBuffer Rules</ruleset>
+        </rule>
+        <rule>
+            <name>AvoidStringBufferField</name>
+            <ruleset>String and StringBuffer Rules</ruleset>
+        </rule>
+        <rule>
+            <name>ConsecutiveLiteralAppends</name>
+            <ruleset>String and StringBuffer Rules</ruleset>
+        </rule>
+        <rule>
+            <name>InefficientEmptyStringCheck</name>
+            <ruleset>String and StringBuffer Rules</ruleset>
+        </rule>
+        <rule>
+            <name>InefficientStringBuffering</name>
+            <ruleset>String and StringBuffer Rules</ruleset>
+        </rule>
+        <rule>
+            <name>InsufficientStringBufferDeclaration</name>
+            <ruleset>String and StringBuffer Rules</ruleset>
+        </rule>
+        <rule>
+            <name>StringBufferInstantiationWithChar</name>
+            <ruleset>String and StringBuffer Rules</ruleset>
+        </rule>
+        <rule>
+            <name>StringInstantiation</name>
+            <ruleset>String and StringBuffer Rules</ruleset>
+        </rule>
+        <rule>
+            <name>StringToString</name>
+            <ruleset>String and StringBuffer Rules</ruleset>
+        </rule>
+        <rule>
+            <name>UnnecessaryCaseChange</name>
+            <ruleset>String and StringBuffer Rules</ruleset>
+        </rule>
+        <rule>
+            <name>UseEqualsToCompareStrings</name>
+            <ruleset>String and StringBuffer Rules</ruleset>
+        </rule>
+        <rule>
+            <name>UseIndexOfChar</name>
+            <ruleset>String and StringBuffer Rules</ruleset>
+        </rule>
+        <rule>
+            <name>UselessStringValueOf</name>
+            <ruleset>String and StringBuffer Rules</ruleset>
+        </rule>
+        <rule>
+            <name>UseStringBufferLength</name>
+            <ruleset>String and StringBuffer Rules</ruleset>
+        </rule>
+        <rule>
+            <name>CloneMethodMustImplementCloneable</name>
+            <ruleset>Type Resolution Rules</ruleset>
+        </rule>
+        <rule>
+            <name>LooseCoupling</name>
+            <ruleset>Type Resolution Rules</ruleset>
+        </rule>
+        <rule>
+            <name>SignatureDeclareThrowsException</name>
+            <ruleset>Type Resolution Rules</ruleset>
+        </rule>
+        <rule>
+            <name>UnusedImports</name>
+            <ruleset>Type Resolution Rules</ruleset>
+        </rule>
+        <rule>
+            <name>UnusedFormalParameter</name>
+            <ruleset>Unused Code Rules</ruleset>
+        </rule>
+        <rule>
+            <name>UnusedLocalVariable</name>
+            <ruleset>Unused Code Rules</ruleset>
+        </rule>
+        <rule>
+            <name>UnusedPrivateField</name>
+            <ruleset>Unused Code Rules</ruleset>
+        </rule>
+        <rule>
+            <name>UnusedPrivateMethod</name>
+            <ruleset>Unused Code Rules</ruleset>
+        </rule>
+    </rules>
+    <includeDerivedFiles>false</includeDerivedFiles>
+    <violationsAsErrors>true</violationsAsErrors>
+</pmd>

Added: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/.project
URL: http://svn.apache.org/viewvc/incubator/easyant/easyant4e/trunk/org.apache.easyant4e/.project?rev=1071768&view=auto
==============================================================================
--- incubator/easyant/easyant4e/trunk/org.apache.easyant4e/.project (added)
+++ incubator/easyant/easyant4e/trunk/org.apache.easyant4e/.project Thu Feb 17 20:22:56 2011
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.apache.easyant4e</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>com.atlassw.tools.eclipse.checkstyle.CheckstyleBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>edu.umd.cs.findbugs.plugin.eclipse.findbugsBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>com.atlassw.tools.eclipse.checkstyle.CheckstyleNature</nature>
+		<nature>edu.umd.cs.findbugs.plugin.eclipse.findbugsNature</nature>
+	</natures>
+</projectDescription>

Propchange: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/.project
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/.project
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/.project
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/.settings/org.eclipse.jdt.core.prefs
URL: http://svn.apache.org/viewvc/incubator/easyant/easyant4e/trunk/org.apache.easyant4e/.settings/org.eclipse.jdt.core.prefs?rev=1071768&view=auto
==============================================================================
--- incubator/easyant/easyant4e/trunk/org.apache.easyant4e/.settings/org.eclipse.jdt.core.prefs (added)
+++ incubator/easyant/easyant4e/trunk/org.apache.easyant4e/.settings/org.eclipse.jdt.core.prefs Thu Feb 17 20:22:56 2011
@@ -0,0 +1,7 @@
+#Fri Apr 10 17:04:56 GMT+01:00 2009
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5

Added: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/META-INF/MANIFEST.MF
URL: http://svn.apache.org/viewvc/incubator/easyant/easyant4e/trunk/org.apache.easyant4e/META-INF/MANIFEST.MF?rev=1071768&view=auto
==============================================================================
--- incubator/easyant/easyant4e/trunk/org.apache.easyant4e/META-INF/MANIFEST.MF (added)
+++ incubator/easyant/easyant4e/trunk/org.apache.easyant4e/META-INF/MANIFEST.MF Thu Feb 17 20:22:56 2011
@@ -0,0 +1,40 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.apache.easyant4e;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .,
+ lib/guice/aopalliance.jar,
+ lib/guice/guice-2.0.jar
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Require-Bundle: 
+ org.eclipse.core.runtime,
+ org.eclipse.core.resources,
+ org.eclipse.jdt.core,
+ org.eclipse.ui,
+ org.eclipse.jdt.ui,
+ org.eclipse.ui.forms,
+ org.eclipse.ui.console,
+ org.eclipse.ui.ide,
+ org.eclipse.jface.text,
+ org.eclipse.jdt.launching,
+ org.apache.easyant,
+ org.apache.ivyde.eclipse
+Bundle-Activator: org.apache.easyant4e.Activator
+Bundle-ActivationPolicy: lazy
+Export-Package: com.google.inject,
+ org.apache.easyant4e,
+ org.apache.easyant4e.ant.editor,
+ org.apache.easyant4e.builders,
+ org.apache.easyant4e.configurers,
+ org.apache.easyant4e.console,
+ org.apache.easyant4e.ivyde.extension,
+ org.apache.easyant4e.ivyde.extension.model,
+ org.apache.easyant4e.ivyde.extension.page,
+ org.apache.easyant4e.modules,
+ org.apache.easyant4e.natures,
+ org.apache.easyant4e.providers,
+ org.apache.easyant4e.services,
+ org.apache.easyant4e.wizards

Added: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/TODO.txt
URL: http://svn.apache.org/viewvc/incubator/easyant/easyant4e/trunk/org.apache.easyant4e/TODO.txt?rev=1071768&view=auto
==============================================================================
--- incubator/easyant/easyant4e/trunk/org.apache.easyant4e/TODO.txt (added)
+++ incubator/easyant/easyant4e/trunk/org.apache.easyant4e/TODO.txt Thu Feb 17 20:22:56 2011
@@ -0,0 +1,14 @@
+* support different kind of project (java, scala)
+* update ivyDE setting when project.ivysettings.file change, when a user edit the module.ivy file
+* use checksum or version number to reinstall the local repository
+ou juste checker par rapport au qualifier
+* add internal package
+* Add Preference to manager EasyAnt core preferences (i.e: ivysettings configuration)
+* Add cool icons everywhere
+* create a new project from EasyAnt skeleton
+* Add I18N
+* Add launch config to run EaysAnt build
+===============================================================
+* bug en mode buildé : affichage en vert dans la console du message "BUILD FAILED"
+* lorsque l'on crée les source folder, tester l'existance des répertoires : ouvrir une popup pour demander à l'utilisateur ... checker cela notamment pour le multimodule
+

Propchange: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/TODO.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/TODO.txt
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/TODO.txt
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/build.properties
URL: http://svn.apache.org/viewvc/incubator/easyant/easyant4e/trunk/org.apache.easyant4e/build.properties?rev=1071768&view=auto
==============================================================================
--- incubator/easyant/easyant4e/trunk/org.apache.easyant4e/build.properties (added)
+++ incubator/easyant/easyant4e/trunk/org.apache.easyant4e/build.properties Thu Feb 17 20:22:56 2011
@@ -0,0 +1,16 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+bin.includes = .,\
+               META-INF/,\
+               plugin.xml,\
+               plugin.properties,\
+               icons/,\
+               lib/guice/aopalliance.jar,\
+               lib/guice/guice-2.0.jar
+jars.compile.order = .
+source.. = src/
+output.. = bin/

Propchange: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/build.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/build.properties
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Added: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/icons/EasyAnt-logo.gif
URL: http://svn.apache.org/viewvc/incubator/easyant/easyant4e/trunk/org.apache.easyant4e/icons/EasyAnt-logo.gif?rev=1071768&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/icons/EasyAnt-logo.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/icons/EasyAntNature.gif
URL: http://svn.apache.org/viewvc/incubator/easyant/easyant4e/trunk/org.apache.easyant4e/icons/EasyAntNature.gif?rev=1071768&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/icons/EasyAntNature.gif
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/icons/EasyAntNature.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/icons/build.gif
URL: http://svn.apache.org/viewvc/incubator/easyant/easyant4e/trunk/org.apache.easyant4e/icons/build.gif?rev=1071768&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/icons/build.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/icons/console.gif
URL: http://svn.apache.org/viewvc/incubator/easyant/easyant4e/trunk/org.apache.easyant4e/icons/console.gif?rev=1071768&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/icons/console.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/icons/console.png
URL: http://svn.apache.org/viewvc/incubator/easyant/easyant4e/trunk/org.apache.easyant4e/icons/console.png?rev=1071768&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/icons/console.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/icons/debug_loglevel.gif
URL: http://svn.apache.org/viewvc/incubator/easyant/easyant4e/trunk/org.apache.easyant4e/icons/debug_loglevel.gif?rev=1071768&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/icons/debug_loglevel.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/icons/default_incremental.gif
URL: http://svn.apache.org/viewvc/incubator/easyant/easyant4e/trunk/org.apache.easyant4e/icons/default_incremental.gif?rev=1071768&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/icons/default_incremental.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/icons/form_banner.gif
URL: http://svn.apache.org/viewvc/incubator/easyant/easyant4e/trunk/org.apache.easyant4e/icons/form_banner.gif?rev=1071768&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/icons/form_banner.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/icons/full/obj16/ant_buildfile.gif
URL: http://svn.apache.org/viewvc/incubator/easyant/easyant4e/trunk/org.apache.easyant4e/icons/full/obj16/ant_buildfile.gif?rev=1071768&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/icons/full/obj16/ant_buildfile.gif
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/icons/full/obj16/ant_buildfile.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/icons/phase.gif
URL: http://svn.apache.org/viewvc/incubator/easyant/easyant4e/trunk/org.apache.easyant4e/icons/phase.gif?rev=1071768&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/easyant/easyant4e/trunk/org.apache.easyant4e/icons/phase.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif