diff --git a/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/AbstractEasyAntTest.java b/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/AbstractEasyAntTest.java
index 539ee15..1fc2310 100644
--- a/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/AbstractEasyAntTest.java
+++ b/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/AbstractEasyAntTest.java
@@ -41,10 +41,6 @@
 
 import com.google.inject.Inject;
 
-/**
- * 
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
- */
 public abstract class AbstractEasyAntTest {
 	protected IProject testProject;
 	protected IJavaProject testJavaProject;
diff --git a/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/EasyAntAllTests.java b/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/EasyAntAllTests.java
index 2339d5b..d7ca41b 100644
--- a/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/EasyAntAllTests.java
+++ b/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/EasyAntAllTests.java
@@ -21,10 +21,6 @@
 import org.junit.runners.Suite;
 import org.junit.runners.Suite.SuiteClasses;
 
-/**
- * 
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
- */
 @RunWith(Suite.class)
 @SuiteClasses(value = { 
 		ImportProjectTest.class,
diff --git a/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/EasyantCoreServiceTest.java b/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/EasyantCoreServiceTest.java
index f8ae6eb..9045909 100644
--- a/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/EasyantCoreServiceTest.java
+++ b/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/EasyantCoreServiceTest.java
@@ -29,10 +29,6 @@
 import org.junit.Before;
 import org.junit.Test;
 
-/**
- * 
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
- */
 public class EasyantCoreServiceTest extends AbstractEasyAntTest {
 
 /*
diff --git a/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/EasyantProjectServiceTest.java b/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/EasyantProjectServiceTest.java
index ec689b0..6154552 100644
--- a/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/EasyantProjectServiceTest.java
+++ b/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/EasyantProjectServiceTest.java
@@ -31,10 +31,6 @@
 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 {
 
 /*
diff --git a/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/ExtensionRegistryTest.java b/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/ExtensionRegistryTest.java
index 847f385..0133748 100644
--- a/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/ExtensionRegistryTest.java
+++ b/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/ExtensionRegistryTest.java
@@ -29,10 +29,6 @@
 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
diff --git a/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/ImportProjectTest.java b/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/ImportProjectTest.java
index 96c0995..28a654f 100644
--- a/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/ImportProjectTest.java
+++ b/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/ImportProjectTest.java
@@ -55,11 +55,6 @@
 
 import com.google.inject.Inject;
 
-
-/**
- * 
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
- */
 public class ImportProjectTest{
 	@Inject
 	EasyantProjectService projectService;
diff --git a/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/StartupTest.java b/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/StartupTest.java
index f0c5009..163d2d8 100644
--- a/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/StartupTest.java
+++ b/org.apache.easyant4e.tests/src/org/apache/easyant4e/tests/StartupTest.java
@@ -29,10 +29,6 @@
 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
diff --git a/org.apache.easyant4e/src/org/apache/easyant4e/Activator.java b/org.apache.easyant4e/src/org/apache/easyant4e/Activator.java
index 00857f3..a0f230a 100644
--- a/org.apache.easyant4e/src/org/apache/easyant4e/Activator.java
+++ b/org.apache.easyant4e/src/org/apache/easyant4e/Activator.java
@@ -30,8 +30,6 @@
 
 /**
  * This class manage plugin life cycle
- * 
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
  */
 public class Activator extends AbstractUIPlugin {
 
diff --git a/org.apache.easyant4e/src/org/apache/easyant4e/EasyAntConstants.java b/org.apache.easyant4e/src/org/apache/easyant4e/EasyAntConstants.java
index 0db9a06..b576a35 100644
--- a/org.apache.easyant4e/src/org/apache/easyant4e/EasyAntConstants.java
+++ b/org.apache.easyant4e/src/org/apache/easyant4e/EasyAntConstants.java
@@ -17,10 +17,6 @@
  */
 package org.apache.easyant4e;
 
-/**
- * 
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
- */
 public interface EasyAntConstants {
 
 	
diff --git a/org.apache.easyant4e/src/org/apache/easyant4e/EasyAntPlugin.java b/org.apache.easyant4e/src/org/apache/easyant4e/EasyAntPlugin.java
index 8a6fe60..e95769a 100644
--- a/org.apache.easyant4e/src/org/apache/easyant4e/EasyAntPlugin.java
+++ b/org.apache.easyant4e/src/org/apache/easyant4e/EasyAntPlugin.java
@@ -34,10 +34,6 @@
 import com.google.inject.Injector;
 import com.google.inject.Module;
 
-/**
- * 
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
- */
 public class EasyAntPlugin {
 
 	private final Injector injector;
diff --git a/org.apache.easyant4e/src/org/apache/easyant4e/Startup.java b/org.apache.easyant4e/src/org/apache/easyant4e/Startup.java
index b9fa247..ef9e8da 100644
--- a/org.apache.easyant4e/src/org/apache/easyant4e/Startup.java
+++ b/org.apache.easyant4e/src/org/apache/easyant4e/Startup.java
@@ -23,10 +23,6 @@
 import org.eclipse.core.runtime.RegistryFactory;
 import org.eclipse.ui.IStartup;
 
-/**
- * 
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
- */
 // http://wiki.eclipse.org/FAQ_How_do_I_make_my_plug-in_dynamic_aware%3F
 // http://wiki.eclipse.org/FAQ_How_do_I_make_my_plug-in_dynamic_enabled%3F
 public class Startup implements IStartup {
diff --git a/org.apache.easyant4e/src/org/apache/easyant4e/ant/editor/EasyAntEditor.java b/org.apache.easyant4e/src/org/apache/easyant4e/ant/editor/EasyAntEditor.java
index 4d3cb03..c1d91c7 100644
--- a/org.apache.easyant4e/src/org/apache/easyant4e/ant/editor/EasyAntEditor.java
+++ b/org.apache.easyant4e/src/org/apache/easyant4e/ant/editor/EasyAntEditor.java
@@ -17,9 +17,6 @@
  */
 package org.apache.easyant4e.ant.editor;
 
-/**
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
- */
 //@SuppressWarnings("restriction")
 public class EasyAntEditor /*extends org.eclipse.ant.internal.ui.editor.AntEditor*/ {
 
diff --git a/org.apache.easyant4e/src/org/apache/easyant4e/builders/EasyAntBuilder.java b/org.apache.easyant4e/src/org/apache/easyant4e/builders/EasyAntBuilder.java
index 0ee4b78..3b90fea 100644
--- a/org.apache.easyant4e/src/org/apache/easyant4e/builders/EasyAntBuilder.java
+++ b/org.apache.easyant4e/src/org/apache/easyant4e/builders/EasyAntBuilder.java
@@ -37,8 +37,6 @@
 
 /**
  * The EastAnt builder.
- * 
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
  */
 public class EasyAntBuilder extends IncrementalProjectBuilder {
 
diff --git a/org.apache.easyant4e/src/org/apache/easyant4e/configurers/Configurer.java b/org.apache.easyant4e/src/org/apache/easyant4e/configurers/Configurer.java
index 2a96d29..c3a39db 100644
--- a/org.apache.easyant4e/src/org/apache/easyant4e/configurers/Configurer.java
+++ b/org.apache.easyant4e/src/org/apache/easyant4e/configurers/Configurer.java
@@ -21,8 +21,6 @@
  * This interface must be implement to configure use in order to configure a basic eclipse project.
  * 
  * In example : you muste add JavaNature, ScalaNature, GroovyNature or others
- * 
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
  */
 public interface Configurer {
 
diff --git a/org.apache.easyant4e/src/org/apache/easyant4e/console/EasyAntConsole.java b/org.apache.easyant4e/src/org/apache/easyant4e/console/EasyAntConsole.java
index 7c4a134..41b27dc 100644
--- a/org.apache.easyant4e/src/org/apache/easyant4e/console/EasyAntConsole.java
+++ b/org.apache.easyant4e/src/org/apache/easyant4e/console/EasyAntConsole.java
@@ -19,10 +19,6 @@
 
 import org.eclipse.ui.console.IConsole;
 
-/**
- * 
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
- */
 public interface EasyAntConsole extends IConsole{
 
 	void show();
diff --git a/org.apache.easyant4e/src/org/apache/easyant4e/console/EasyAntConsoleFactory.java b/org.apache.easyant4e/src/org/apache/easyant4e/console/EasyAntConsoleFactory.java
index 6b0b7dc..6459b8a 100644
--- a/org.apache.easyant4e/src/org/apache/easyant4e/console/EasyAntConsoleFactory.java
+++ b/org.apache.easyant4e/src/org/apache/easyant4e/console/EasyAntConsoleFactory.java
@@ -22,10 +22,6 @@
 
 import com.google.inject.Inject;
 
-/**
- * 
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
- */
 public class EasyAntConsoleFactory implements IConsoleFactory {
 	
 	private EasyAntConsole console;
diff --git a/org.apache.easyant4e/src/org/apache/easyant4e/console/EasyAntConsoleImpl.java b/org.apache.easyant4e/src/org/apache/easyant4e/console/EasyAntConsoleImpl.java
index 6ca91d5..dfd6a2f 100644
--- a/org.apache.easyant4e/src/org/apache/easyant4e/console/EasyAntConsoleImpl.java
+++ b/org.apache.easyant4e/src/org/apache/easyant4e/console/EasyAntConsoleImpl.java
@@ -31,10 +31,6 @@
 
 import com.google.inject.Inject;
 
-/**
- * 
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
- */
 public class EasyAntConsoleImpl extends IvyConsole implements EasyAntConsole {
 	
 	private boolean isOpen=false;
diff --git a/org.apache.easyant4e/src/org/apache/easyant4e/console/EasyAntConsolePageParticipant.java b/org.apache.easyant4e/src/org/apache/easyant4e/console/EasyAntConsolePageParticipant.java
index a958f49..52f36e5 100644
--- a/org.apache.easyant4e/src/org/apache/easyant4e/console/EasyAntConsolePageParticipant.java
+++ b/org.apache.easyant4e/src/org/apache/easyant4e/console/EasyAntConsolePageParticipant.java
@@ -21,10 +21,6 @@
 import org.eclipse.ui.console.IConsolePageParticipant;
 import org.eclipse.ui.part.IPageBookViewPage;
 
-/**
- * 
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
- */
 public class EasyAntConsolePageParticipant implements IConsolePageParticipant {
 
 	//private CloseConsoleAction closeAction;
diff --git a/org.apache.easyant4e/src/org/apache/easyant4e/ivyde/extension/RepositoryInstaller.java b/org.apache.easyant4e/src/org/apache/easyant4e/ivyde/extension/RepositoryInstaller.java
index f89b0ba..c1ab0ef 100644
--- a/org.apache.easyant4e/src/org/apache/easyant4e/ivyde/extension/RepositoryInstaller.java
+++ b/org.apache.easyant4e/src/org/apache/easyant4e/ivyde/extension/RepositoryInstaller.java
@@ -31,8 +31,6 @@
 
 /**
  * This class unpack the default EasyAnt repository in local file system.
- * 
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
  */
 public class RepositoryInstaller {
 	static final int BUFFER_SIZE = 102400;
diff --git a/org.apache.easyant4e/src/org/apache/easyant4e/ivyde/extension/model/EasyAntModuleDescriptorExtension.java b/org.apache.easyant4e/src/org/apache/easyant4e/ivyde/extension/model/EasyAntModuleDescriptorExtension.java
index 750da04..07c7744 100644
--- a/org.apache.easyant4e/src/org/apache/easyant4e/ivyde/extension/model/EasyAntModuleDescriptorExtension.java
+++ b/org.apache.easyant4e/src/org/apache/easyant4e/ivyde/extension/model/EasyAntModuleDescriptorExtension.java
@@ -58,8 +58,6 @@
 /**
  * This class provide extension in order to add EasyAnt semantic information in
  * Ivy module descriptor model.
- * 
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
  */
 public class EasyAntModuleDescriptorExtension implements ModuleDescriptorExtension {
 
diff --git a/org.apache.easyant4e/src/org/apache/easyant4e/ivyde/extension/page/BuildLifeCycleContentProvider.java b/org.apache.easyant4e/src/org/apache/easyant4e/ivyde/extension/page/BuildLifeCycleContentProvider.java
index 10a504b..9ee28ef 100644
--- a/org.apache.easyant4e/src/org/apache/easyant4e/ivyde/extension/page/BuildLifeCycleContentProvider.java
+++ b/org.apache.easyant4e/src/org/apache/easyant4e/ivyde/extension/page/BuildLifeCycleContentProvider.java
@@ -30,10 +30,6 @@
 
 import com.google.inject.Inject;
 
-/**
- * 
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
- */
 public class BuildLifeCycleContentProvider implements ITreeContentProvider {
 
 	private EasyantProjectService easyantProjectService;
diff --git a/org.apache.easyant4e/src/org/apache/easyant4e/ivyde/extension/page/BuildLifecycleBlock.java b/org.apache.easyant4e/src/org/apache/easyant4e/ivyde/extension/page/BuildLifecycleBlock.java
index 8c0af34..a148493 100644
--- a/org.apache.easyant4e/src/org/apache/easyant4e/ivyde/extension/page/BuildLifecycleBlock.java
+++ b/org.apache.easyant4e/src/org/apache/easyant4e/ivyde/extension/page/BuildLifecycleBlock.java
@@ -65,10 +65,6 @@
 
 //import com.google.inject.Inject;
 
-/**
- * 
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
- */
 public class BuildLifecycleBlock extends MasterDetailsBlock {
 	private FormPage page;	
 
diff --git a/org.apache.easyant4e/src/org/apache/easyant4e/ivyde/extension/page/BuildLifecycleLabelProvider.java b/org.apache.easyant4e/src/org/apache/easyant4e/ivyde/extension/page/BuildLifecycleLabelProvider.java
index c6c6aa6..e585768 100644
--- a/org.apache.easyant4e/src/org/apache/easyant4e/ivyde/extension/page/BuildLifecycleLabelProvider.java
+++ b/org.apache.easyant4e/src/org/apache/easyant4e/ivyde/extension/page/BuildLifecycleLabelProvider.java
@@ -28,10 +28,6 @@
 
 //import com.google.inject.Inject;
 
-/**
- * 
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
- */
 public class BuildLifecycleLabelProvider extends BaseLabelProvider implements ILabelProvider {
 
 	@Inject 
diff --git a/org.apache.easyant4e/src/org/apache/easyant4e/ivyde/extension/page/BuildPage.java b/org.apache.easyant4e/src/org/apache/easyant4e/ivyde/extension/page/BuildPage.java
index ea65ca1..bd08545 100644
--- a/org.apache.easyant4e/src/org/apache/easyant4e/ivyde/extension/page/BuildPage.java
+++ b/org.apache.easyant4e/src/org/apache/easyant4e/ivyde/extension/page/BuildPage.java
@@ -27,10 +27,6 @@
 
 import com.google.inject.Inject;
 
-/**
- * 
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
- */
 public class BuildPage extends FormPage implements IvyEditorPage {
 
 	private static final String ID = "build";
diff --git a/org.apache.easyant4e/src/org/apache/easyant4e/ivyde/extension/page/PhaseDetailsPage.java b/org.apache.easyant4e/src/org/apache/easyant4e/ivyde/extension/page/PhaseDetailsPage.java
index 642cf69..2c4ce28 100644
--- a/org.apache.easyant4e/src/org/apache/easyant4e/ivyde/extension/page/PhaseDetailsPage.java
+++ b/org.apache.easyant4e/src/org/apache/easyant4e/ivyde/extension/page/PhaseDetailsPage.java
@@ -52,10 +52,6 @@
 
 //import com.google.inject.Inject;
 
-/**
- * 
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
- */
 public class PhaseDetailsPage implements IDetailsPage {
 	private IManagedForm mform;
 	private PhaseReport phase;
diff --git a/org.apache.easyant4e/src/org/apache/easyant4e/ivyde/extension/page/TargetDetailsPage.java b/org.apache.easyant4e/src/org/apache/easyant4e/ivyde/extension/page/TargetDetailsPage.java
index f97835b..0833a87 100644
--- a/org.apache.easyant4e/src/org/apache/easyant4e/ivyde/extension/page/TargetDetailsPage.java
+++ b/org.apache.easyant4e/src/org/apache/easyant4e/ivyde/extension/page/TargetDetailsPage.java
@@ -50,10 +50,6 @@
 
 import com.google.inject.Inject;
 
-/**
- * 
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
- */
 public class TargetDetailsPage implements IDetailsPage {
 	private IManagedForm mform;
 	private TargetReport target;
diff --git a/org.apache.easyant4e/src/org/apache/easyant4e/modules/EasyAnt4EclipseModule.java b/org.apache.easyant4e/src/org/apache/easyant4e/modules/EasyAnt4EclipseModule.java
index 8cd0d79..97aa86e 100644
--- a/org.apache.easyant4e/src/org/apache/easyant4e/modules/EasyAnt4EclipseModule.java
+++ b/org.apache.easyant4e/src/org/apache/easyant4e/modules/EasyAnt4EclipseModule.java
@@ -35,11 +35,6 @@
 import com.google.inject.AbstractModule;
 import com.google.inject.Singleton;
 
-
-/**
- * 
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
- */
 public class EasyAnt4EclipseModule extends AbstractModule{
 
 
diff --git a/org.apache.easyant4e/src/org/apache/easyant4e/modules/EasyAntCoreModule.java b/org.apache.easyant4e/src/org/apache/easyant4e/modules/EasyAntCoreModule.java
index 8201814..04095c0 100644
--- a/org.apache.easyant4e/src/org/apache/easyant4e/modules/EasyAntCoreModule.java
+++ b/org.apache.easyant4e/src/org/apache/easyant4e/modules/EasyAntCoreModule.java
@@ -30,10 +30,6 @@
 import com.google.inject.Provider;
 import com.google.inject.Singleton;
 
-/**
- * 
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
- */
 public class EasyAntCoreModule extends AbstractModule{
 
 	@Override
diff --git a/org.apache.easyant4e/src/org/apache/easyant4e/natures/AddEasyAntNatureAction.java b/org.apache.easyant4e/src/org/apache/easyant4e/natures/AddEasyAntNatureAction.java
index d796051..b7fbcdc 100644
--- a/org.apache.easyant4e/src/org/apache/easyant4e/natures/AddEasyAntNatureAction.java
+++ b/org.apache.easyant4e/src/org/apache/easyant4e/natures/AddEasyAntNatureAction.java
@@ -32,8 +32,6 @@
 
 /**
  * Add the EasyAnt nature to the project.
- * 
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
  */
 public class AddEasyAntNatureAction implements IObjectActionDelegate {
 	
diff --git a/org.apache.easyant4e/src/org/apache/easyant4e/natures/AddEasyAntNatureOperation.java b/org.apache.easyant4e/src/org/apache/easyant4e/natures/AddEasyAntNatureOperation.java
index f9415b9..56d80d1 100644
--- a/org.apache.easyant4e/src/org/apache/easyant4e/natures/AddEasyAntNatureOperation.java
+++ b/org.apache.easyant4e/src/org/apache/easyant4e/natures/AddEasyAntNatureOperation.java
@@ -29,8 +29,6 @@
 
 /**
  * Add the EasyAnt nature to the project.
- * 
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
  */
 public class AddEasyAntNatureOperation implements IRunnableWithProgress {
 
diff --git a/org.apache.easyant4e/src/org/apache/easyant4e/natures/EasyAntNature.java b/org.apache.easyant4e/src/org/apache/easyant4e/natures/EasyAntNature.java
index 83d65a9..76d1b3e 100644
--- a/org.apache.easyant4e/src/org/apache/easyant4e/natures/EasyAntNature.java
+++ b/org.apache.easyant4e/src/org/apache/easyant4e/natures/EasyAntNature.java
@@ -50,8 +50,6 @@
 
 /**
  * The EastAnt nature.
- * 
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
  */
 public class EasyAntNature implements IProjectNature {
 
diff --git a/org.apache.easyant4e/src/org/apache/easyant4e/natures/RemoveEasyAntNatureAction.java b/org.apache.easyant4e/src/org/apache/easyant4e/natures/RemoveEasyAntNatureAction.java
index 319e8e7..10af869 100644
--- a/org.apache.easyant4e/src/org/apache/easyant4e/natures/RemoveEasyAntNatureAction.java
+++ b/org.apache.easyant4e/src/org/apache/easyant4e/natures/RemoveEasyAntNatureAction.java
@@ -32,8 +32,6 @@
 
 /**
  * Remove the EasyAnt nature to the project.
- * 
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
  */
 public class RemoveEasyAntNatureAction implements IObjectActionDelegate {
 
diff --git a/org.apache.easyant4e/src/org/apache/easyant4e/natures/RemoveEasyAntNatureOperation.java b/org.apache.easyant4e/src/org/apache/easyant4e/natures/RemoveEasyAntNatureOperation.java
index 1cf9af6..afdee2a 100644
--- a/org.apache.easyant4e/src/org/apache/easyant4e/natures/RemoveEasyAntNatureOperation.java
+++ b/org.apache.easyant4e/src/org/apache/easyant4e/natures/RemoveEasyAntNatureOperation.java
@@ -30,8 +30,6 @@
 
 /**
  * Remove the EasyAnt nature to the project.
- * 
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
  */
 public class RemoveEasyAntNatureOperation implements IRunnableWithProgress {
 
diff --git a/org.apache.easyant4e/src/org/apache/easyant4e/providers/ImageProvider.java b/org.apache.easyant4e/src/org/apache/easyant4e/providers/ImageProvider.java
index 5690bcb..96138e8 100644
--- a/org.apache.easyant4e/src/org/apache/easyant4e/providers/ImageProvider.java
+++ b/org.apache.easyant4e/src/org/apache/easyant4e/providers/ImageProvider.java
@@ -20,10 +20,6 @@
 import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.swt.graphics.Image;
 
-/**
- * 
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
- */
 public interface ImageProvider {
 
 	ImageDescriptor getConsoleImageDescriptor();
diff --git a/org.apache.easyant4e/src/org/apache/easyant4e/providers/ImageProviderImpl.java b/org.apache.easyant4e/src/org/apache/easyant4e/providers/ImageProviderImpl.java
index 7ba66d1..c195155 100644
--- a/org.apache.easyant4e/src/org/apache/easyant4e/providers/ImageProviderImpl.java
+++ b/org.apache.easyant4e/src/org/apache/easyant4e/providers/ImageProviderImpl.java
@@ -30,10 +30,6 @@
 import org.eclipse.swt.graphics.Image;
 import org.osgi.framework.Bundle;
 
-/**
- * 
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
- */
 public class ImageProviderImpl implements ImageProvider {
 
 	public static final String IMG_HORIZONTAL = "horizontal";
diff --git a/org.apache.easyant4e/src/org/apache/easyant4e/services/EasyantCoreService.java b/org.apache.easyant4e/src/org/apache/easyant4e/services/EasyantCoreService.java
index 9a7cdd6..275de84 100644
--- a/org.apache.easyant4e/src/org/apache/easyant4e/services/EasyantCoreService.java
+++ b/org.apache.easyant4e/src/org/apache/easyant4e/services/EasyantCoreService.java
@@ -21,10 +21,6 @@
 
 import org.apache.easyant.core.descriptor.PropertyDescriptor;
 
-/**
- * 
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
- */
 public interface EasyantCoreService {
 	
 	String getPluginsRepositoryPath();
diff --git a/org.apache.easyant4e/src/org/apache/easyant4e/services/EasyantCoreServiceImpl.java b/org.apache.easyant4e/src/org/apache/easyant4e/services/EasyantCoreServiceImpl.java
index 9ee99eb..39a2774 100644
--- a/org.apache.easyant4e/src/org/apache/easyant4e/services/EasyantCoreServiceImpl.java
+++ b/org.apache.easyant4e/src/org/apache/easyant4e/services/EasyantCoreServiceImpl.java
@@ -43,10 +43,6 @@
 
 import com.google.inject.Inject;
 
-/**
- * 
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
- */
 public class EasyantCoreServiceImpl implements EasyantCoreService {
 
 	//TODO a déplacer dans pluginService
diff --git a/org.apache.easyant4e/src/org/apache/easyant4e/services/EasyantProjectService.java b/org.apache.easyant4e/src/org/apache/easyant4e/services/EasyantProjectService.java
index c634ae3..873643e 100644
--- a/org.apache.easyant4e/src/org/apache/easyant4e/services/EasyantProjectService.java
+++ b/org.apache.easyant4e/src/org/apache/easyant4e/services/EasyantProjectService.java
@@ -33,10 +33,6 @@
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.swt.widgets.Shell;
 
-/**
- * 
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
- */
 public interface EasyantProjectService {
 
 	//Ivy getIvyInstance(IProject project);
diff --git a/org.apache.easyant4e/src/org/apache/easyant4e/services/EasyantProjectServiceImpl.java b/org.apache.easyant4e/src/org/apache/easyant4e/services/EasyantProjectServiceImpl.java
index 9779529..bd91d22 100644
--- a/org.apache.easyant4e/src/org/apache/easyant4e/services/EasyantProjectServiceImpl.java
+++ b/org.apache.easyant4e/src/org/apache/easyant4e/services/EasyantProjectServiceImpl.java
@@ -65,10 +65,6 @@
 
 import com.google.inject.Inject;
 
-/**
- * 
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
- */
 public class EasyantProjectServiceImpl implements EasyantProjectService{
 
 	private EasyAntConsole console;
diff --git a/org.apache.easyant4e/src/org/apache/easyant4e/wizards/EasyAntImportWizard.java b/org.apache.easyant4e/src/org/apache/easyant4e/wizards/EasyAntImportWizard.java
index 9efe9cf..4f0c212 100644
--- a/org.apache.easyant4e/src/org/apache/easyant4e/wizards/EasyAntImportWizard.java
+++ b/org.apache.easyant4e/src/org/apache/easyant4e/wizards/EasyAntImportWizard.java
@@ -26,10 +26,6 @@
 
 import com.google.inject.Inject;
 
-/**
- * 
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
- */
 public class EasyAntImportWizard extends Wizard implements IImportWizard {
 
 	private EasyAntImportWizardPage importPage;
diff --git a/org.apache.easyant4e/src/org/apache/easyant4e/wizards/EasyAntImportWizardPage.java b/org.apache.easyant4e/src/org/apache/easyant4e/wizards/EasyAntImportWizardPage.java
index f876df7..ae1a38c 100644
--- a/org.apache.easyant4e/src/org/apache/easyant4e/wizards/EasyAntImportWizardPage.java
+++ b/org.apache.easyant4e/src/org/apache/easyant4e/wizards/EasyAntImportWizardPage.java
@@ -82,8 +82,6 @@
  * This wizard is used to import existing EasyAnt Projects
  * 
  * Inspired from WizardProjectsImportPage
- * 
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
  */
 public class EasyAntImportWizardPage extends WizardPage {
 	
diff --git a/org.apache.easyant4e/src/org/apache/easyant4e/wizards/ProjectRecord.java b/org.apache.easyant4e/src/org/apache/easyant4e/wizards/ProjectRecord.java
index c26b2ec..a059ef2 100644
--- a/org.apache.easyant4e/src/org/apache/easyant4e/wizards/ProjectRecord.java
+++ b/org.apache.easyant4e/src/org/apache/easyant4e/wizards/ProjectRecord.java
@@ -30,11 +30,6 @@
 
 import com.google.inject.Inject;
 
-
-/**
- * 
- * @author <a href="mailto:jerome@benois.fr">Jerome Benois</a>
- */
 public class ProjectRecord {
 	
 	private EasyantProjectService easyantProjectService;
