You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by re...@apache.org on 2006/04/24 12:25:33 UTC

svn commit: r396502 [3/6] - in /cocoon/trunk/tools/cocoon-maven-eclipse-plugin: ./ src/ src/main/ src/main/java/ src/main/java/org/ src/main/java/org/apache/ src/main/java/org/apache/maven/ src/main/java/org/apache/maven/plugin/ src/main/java/org/apach...

Added: cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/ide/AbstractIdeSupportMojo.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/ide/AbstractIdeSupportMojo.java?rev=396502&view=auto
==============================================================================
--- cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/ide/AbstractIdeSupportMojo.java (added)
+++ cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/ide/AbstractIdeSupportMojo.java Mon Apr 24 03:24:53 2006
@@ -0,0 +1,733 @@
+package org.apache.maven.plugin.ide;
+
+/*
+ * Copyright 2001-2005 The Apache Software Foundation.
+ *
+ * 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.
+ */
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeSet;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.factory.ArtifactFactory;
+import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.resolver.ArtifactCollector;
+import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
+import org.apache.maven.artifact.resolver.ArtifactResolutionException;
+import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
+import org.apache.maven.artifact.resolver.ArtifactResolver;
+import org.apache.maven.artifact.resolver.DebugResolutionListener;
+import org.apache.maven.artifact.resolver.ResolutionNode;
+import org.apache.maven.artifact.resolver.WarningResolutionListener;
+import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
+import org.apache.maven.artifact.resolver.filter.ExcludesArtifactFilter;
+import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
+import org.apache.maven.artifact.versioning.VersionRange;
+import org.apache.maven.model.Dependency;
+import org.apache.maven.model.DependencyManagement;
+import org.apache.maven.model.Exclusion;
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.project.MavenProject;
+import org.codehaus.plexus.logging.LogEnabled;
+import org.codehaus.plexus.logging.Logger;
+
+/**
+ * Abstract base plugin which takes care of the common stuff usually needed by maven IDE plugins. A
+ * plugin extending AbstractIdeSupportMojo should implement the <code>setup()</code> and
+ * <code>writeConfiguration()</code> methods, plus the getters needed to get the various
+ * configuration flags and required components. The lifecycle:
+ * 
+ * <pre>
+ *       *** calls setup() where you can configure your specific stuff and stop the mojo from execute if appropriate ***
+ *       - manually resolve project dependencies, NOT failing if a dependency is missing
+ *       - compute project references (reactor projects) if the getUseProjectReferences() flag is set
+ *       - download sources/javadocs if the getDownloadSources() flag is set
+ *       *** calls writeConfiguration(), passing the list of resolved referenced dependencies ***
+ *       - report the list of missing sources or just tell how to turn this feature on if the flag was disabled
+ * </pre>
+ * 
+ * @author Fabrizio Giustina
+ * @version $Id: AbstractIdeSupportMojo.java 392813 2006-04-09 19:42:06Z fgiust $
+ */
+public abstract class AbstractIdeSupportMojo
+    extends AbstractMojo
+    implements LogEnabled
+{
+
+    /**
+     * The project whose project files to create.
+     * 
+     * @parameter expression="${project}"
+     * @required
+     * @readonly
+     */
+    protected MavenProject project;
+
+    /**
+     * The currently executed project (can be a reactor project).
+     * 
+     * @parameter expression="${executedProject}"
+     * @readonly
+     */
+    protected MavenProject executedProject;
+
+    /**
+     * Artifact factory, needed to download source jars for inclusion in classpath.
+     * 
+     * @component role="org.apache.maven.artifact.factory.ArtifactFactory"
+     * @required
+     * @readonly
+     */
+    protected ArtifactFactory artifactFactory;
+
+    /**
+     * Artifact resolver, needed to download source jars for inclusion in classpath.
+     * 
+     * @component role="org.apache.maven.artifact.resolver.ArtifactResolver"
+     * @required
+     * @readonly
+     */
+    protected ArtifactResolver artifactResolver;
+
+    /**
+     * Artifact collector, needed to resolve dependencies.
+     * 
+     * @component role="org.apache.maven.artifact.resolver.ArtifactCollector"
+     * @required
+     * @readonly
+     */
+    protected ArtifactCollector artifactCollector;
+
+    /**
+     * @component role="org.apache.maven.artifact.metadata.ArtifactMetadataSource" hint="maven"
+     */
+    protected ArtifactMetadataSource artifactMetadataSource;
+
+    /**
+     * Remote repositories which will be searched for source attachments.
+     * 
+     * @parameter expression="${project.remoteArtifactRepositories}"
+     * @required
+     * @readonly
+     */
+    protected List remoteArtifactRepositories;
+
+    /**
+     * Local maven repository.
+     * 
+     * @parameter expression="${localRepository}"
+     * @required
+     * @readonly
+     */
+    protected ArtifactRepository localRepository;
+
+    /**
+     * If the executed project is a reactor project, this will contains the full list of projects in
+     * the reactor.
+     * 
+     * @parameter expression="${reactorProjects}"
+     * @required
+     * @readonly
+     */
+    protected List reactorProjects;
+
+    /**
+     * Enables/disables the downloading of source attachments. Defaults to false.
+     * @parameter expression="${downloadSources}"
+     */
+    protected boolean downloadSources;
+
+    /**
+     * Plexus logger needed for debugging manual artifact resolution.
+     */
+    private Logger logger;
+
+    /**
+     * Getter for <code>artifactMetadataSource</code>.
+     * @return Returns the artifactMetadataSource.
+     */
+    public ArtifactMetadataSource getArtifactMetadataSource()
+    {
+        return this.artifactMetadataSource;
+    }
+
+    /**
+     * Setter for <code>artifactMetadataSource</code>.
+     * @param artifactMetadataSource The artifactMetadataSource to set.
+     */
+    public void setArtifactMetadataSource( ArtifactMetadataSource artifactMetadataSource )
+    {
+        this.artifactMetadataSource = artifactMetadataSource;
+    }
+
+    /**
+     * Getter for <code>project</code>.
+     * @return Returns the project.
+     */
+    public MavenProject getProject()
+    {
+        return this.project;
+    }
+
+    /**
+     * Setter for <code>project</code>.
+     * @param project The project to set.
+     */
+    public void setProject( MavenProject project )
+    {
+        this.project = project;
+    }
+
+    /**
+     * Getter for <code>reactorProjects</code>.
+     * @return Returns the reactorProjects.
+     */
+    public List getReactorProjects()
+    {
+        return this.reactorProjects;
+    }
+
+    /**
+     * Setter for <code>reactorProjects</code>.
+     * @param reactorProjects The reactorProjects to set.
+     */
+    public void setReactorProjects( List reactorProjects )
+    {
+        this.reactorProjects = reactorProjects;
+    }
+
+    /**
+     * Getter for <code>remoteArtifactRepositories</code>.
+     * @return Returns the remoteArtifactRepositories.
+     */
+    public List getRemoteArtifactRepositories()
+    {
+        return this.remoteArtifactRepositories;
+    }
+
+    /**
+     * Setter for <code>remoteArtifactRepositories</code>.
+     * @param remoteArtifactRepositories The remoteArtifactRepositories to set.
+     */
+    public void setRemoteArtifactRepositories( List remoteArtifactRepositories )
+    {
+        this.remoteArtifactRepositories = remoteArtifactRepositories;
+    }
+
+    /**
+     * Getter for <code>artifactFactory</code>.
+     * @return Returns the artifactFactory.
+     */
+    public ArtifactFactory getArtifactFactory()
+    {
+        return this.artifactFactory;
+    }
+
+    /**
+     * Setter for <code>artifactFactory</code>.
+     * @param artifactFactory The artifactFactory to set.
+     */
+    public void setArtifactFactory( ArtifactFactory artifactFactory )
+    {
+        this.artifactFactory = artifactFactory;
+    }
+
+    /**
+     * Getter for <code>artifactResolver</code>.
+     * @return Returns the artifactResolver.
+     */
+    public ArtifactResolver getArtifactResolver()
+    {
+        return this.artifactResolver;
+    }
+
+    /**
+     * Setter for <code>artifactResolver</code>.
+     * @param artifactResolver The artifactResolver to set.
+     */
+    public void setArtifactResolver( ArtifactResolver artifactResolver )
+    {
+        this.artifactResolver = artifactResolver;
+    }
+
+    /**
+     * Getter for <code>executedProject</code>.
+     * @return Returns the executedProject.
+     */
+    public MavenProject getExecutedProject()
+    {
+        return this.executedProject;
+    }
+
+    /**
+     * Setter for <code>executedProject</code>.
+     * @param executedProject The executedProject to set.
+     */
+    public void setExecutedProject( MavenProject executedProject )
+    {
+        this.executedProject = executedProject;
+    }
+
+    /**
+     * Getter for <code>localRepository</code>.
+     * @return Returns the localRepository.
+     */
+    public ArtifactRepository getLocalRepository()
+    {
+        return this.localRepository;
+    }
+
+    /**
+     * Setter for <code>localRepository</code>.
+     * @param localRepository The localRepository to set.
+     */
+    public void setLocalRepository( ArtifactRepository localRepository )
+    {
+        this.localRepository = localRepository;
+    }
+
+    /**
+     * Getter for <code>downloadSources</code>.
+     * @return Returns the downloadSources.
+     */
+    public boolean getDownloadSources()
+    {
+        return this.downloadSources;
+    }
+
+    /**
+     * Setter for <code>downloadSources</code>.
+     * @param downloadSources The downloadSources to set.
+     */
+    public void setDownloadSources( boolean downloadSources )
+    {
+        this.downloadSources = downloadSources;
+    }
+
+    /**
+     * return <code>false</code> if projects available in a reactor build should be considered normal dependencies,
+     * <code>true</code> if referenced project will be linked and not need artifact resolution.
+     * @return <code>true</code> if referenced project will be linked and not need artifact resolution
+     */
+    protected abstract boolean getUseProjectReferences();
+
+    /**
+     * Hook for preparation steps before the actual plugin execution.
+     * @return <code>true</code> if execution should continue or <code>false</code> if not.
+     * @throws MojoExecutionException generic mojo exception
+     */
+    protected abstract boolean setup()
+        throws MojoExecutionException;
+
+    /**
+     * Main plugin method where dependencies should be processed in order to generate IDE configuration files.
+     * @param deps list of  <code>IdeDependency</code> objects, with artifacts, sources and javadocs already resolved
+     * @throws MojoExecutionException generic mojo exception
+     */
+    protected abstract void writeConfiguration( IdeDependency[] deps )
+        throws MojoExecutionException;
+
+    /**
+     * Not a plugin parameter. Collect the list of dependencies with a missing source artifact for the final report.
+     */
+    private List missingSourceDependencies = new ArrayList();
+
+    /**
+     * @see org.codehaus.plexus.logging.LogEnabled#enableLogging(org.codehaus.plexus.logging.Logger)
+     */
+    public void enableLogging( Logger logger )
+    {
+        this.logger = logger;
+    }
+
+    /**
+     * @see org.apache.maven.plugin.Mojo#execute()
+     */
+    public final void execute()
+        throws MojoExecutionException, MojoFailureException
+    {
+        boolean processProject = setup();
+        if ( !processProject )
+        {
+            return;
+        }
+
+        // resolve artifacts
+        IdeDependency[] deps = doDependencyResolution();
+
+        resolveSourceArtifacts( deps );
+
+        writeConfiguration( deps );
+
+        reportMissingSources();
+
+    }
+
+    /**
+     * Resolve project dependencies. Manual resolution is needed in order to avoid resoltion of multiproject artifacts
+     * (if projects will be linked each other an installed jar is not needed) and to avoid a failure when a jar is
+     * missing.
+     * @throws MojoExecutionException if dependencies can't be resolved
+     * @return resoved IDE dependencies, with attached jars for non-reactor dependencies
+     */
+    protected IdeDependency[] doDependencyResolution()
+        throws MojoExecutionException
+    {
+        MavenProject project = getProject();
+        ArtifactRepository localRepo = getLocalRepository();
+
+        List dependencies = getProject().getDependencies();
+
+        // Collect the list of resolved IdeDependencies.
+        List dependencyList = new ArrayList();
+
+        if ( dependencies != null )
+        {
+            Map managedVersions = createManagedVersionMap( getArtifactFactory(), project.getId(), project
+                .getDependencyManagement() );
+
+            ArtifactResolutionResult artifactResolutionResult = null;
+
+            try
+            {
+
+                List listeners = new ArrayList();
+
+                if ( logger.isDebugEnabled() )
+                {
+                    listeners.add( new DebugResolutionListener( logger ) );
+                }
+
+                listeners.add( new WarningResolutionListener( logger ) );
+
+                artifactResolutionResult = artifactCollector.collect( getProjectArtifacts(), project.getArtifact(),
+                                                                      managedVersions, localRepo, project
+                                                                          .getRemoteArtifactRepositories(),
+                                                                      getArtifactMetadataSource(), null, listeners );
+            }
+            catch ( ArtifactResolutionException e )
+            {
+                getLog().debug( e.getMessage(), e );
+                getLog().error(
+                                Messages
+                                    .getString( "artifactresolution", new Object[] { //$NON-NLS-1$
+                                                e.getGroupId(), e.getArtifactId(), e.getVersion(), e.getMessage() } ) );
+
+                // if we are here artifactResolutionResult is null, create a project without dependencies but don't fail
+                // (this could be a reactor projects, we don't want to fail everything)
+                return new IdeDependency[0];
+            }
+
+            // keep track of added reactor projects in order to avoid duplicates
+            Set emittedReactorProjectId = new HashSet();
+
+            for ( Iterator i = artifactResolutionResult.getArtifactResolutionNodes().iterator(); i.hasNext(); )
+            {
+                ResolutionNode node = (ResolutionNode) i.next();
+                Artifact art = node.getArtifact();
+                boolean isReactorProject = getUseProjectReferences() && isAvailableAsAReactorProject( art );
+
+                // don't resolve jars for reactor projects
+                if ( !isReactorProject )
+                {
+                    try
+                    {
+                        artifactResolver.resolve( art, node.getRemoteRepositories(), localRepository );
+                    }
+                    catch ( ArtifactNotFoundException e )
+                    {
+                        getLog().debug( e.getMessage(), e );
+                        getLog().warn(
+                                       Messages.getString( "artifactdownload", new Object[] { //$NON-NLS-1$
+                                                               e.getGroupId(),
+                                                               e.getArtifactId(),
+                                                               e.getVersion(),
+                                                               e.getMessage() } ) );
+                    }
+                    catch ( ArtifactResolutionException e )
+                    {
+                        getLog().debug( e.getMessage(), e );
+                        getLog().warn(
+                                       Messages.getString( "artifactresolution", new Object[] { //$NON-NLS-1$
+                                                               e.getGroupId(),
+                                                               e.getArtifactId(),
+                                                               e.getVersion(),
+                                                               e.getMessage() } ) );
+                    }
+                }
+
+                if ( !isReactorProject || emittedReactorProjectId.add( art.getGroupId() + '-' + art.getArtifactId() ) )
+                {
+
+                    IdeDependency dep = new IdeDependency( art.getGroupId(), art.getArtifactId(), art.getVersion(),
+                                                           isReactorProject, Artifact.SCOPE_TEST
+                                                               .equals( art.getScope() ), Artifact.SCOPE_SYSTEM
+                                                               .equals( art.getScope() ), Artifact.SCOPE_PROVIDED
+                                                               .equals( art.getScope() ), art.getArtifactHandler()
+                                                               .isAddedToClasspath(), art.getFile(), art.getType() );
+
+                    dependencyList.add( dep );
+                }
+
+            }
+
+            //@todo a final report with the list of missingArtifacts?
+
+        }
+
+        IdeDependency[] deps = (IdeDependency[]) dependencyList.toArray( new IdeDependency[dependencyList.size()] );
+
+        return deps;
+    }
+
+    /**
+     * Returns the list of project artifacts. Also artifacts generated from referenced projects will be added, but with
+     * the <code>resolved</code> property set to true.
+     * @return list of projects artifacts
+     * @throws MojoExecutionException if unable to parse dependency versions
+     */
+    private Set getProjectArtifacts()
+        throws MojoExecutionException
+    {
+        // keep it sorted, this should avoid random classpath order in tests
+        Set artifacts = new TreeSet();
+
+        for ( Iterator dependencies = getProject().getDependencies().iterator(); dependencies.hasNext(); )
+        {
+            Dependency dependency = (Dependency) dependencies.next();
+
+            String groupId = dependency.getGroupId();
+            String artifactId = dependency.getArtifactId();
+            VersionRange versionRange;
+            try
+            {
+                versionRange = VersionRange.createFromVersionSpec( dependency.getVersion() );
+            }
+            catch ( InvalidVersionSpecificationException e )
+            {
+                throw new MojoExecutionException( Messages.getString( "unabletoparseversion", new Object[] { //$NON-NLS-1$
+                                                                          dependency.getArtifactId(),
+                                                                          dependency.getVersion(),
+                                                                          dependency.getManagementKey(),
+                                                                          e.getMessage() } ), e );
+            }
+
+            String type = dependency.getType();
+            if ( type == null )
+            {
+                type = "jar"; //$NON-NLS-1$
+            }
+            String classifier = dependency.getClassifier();
+            boolean optional = dependency.isOptional();
+            String scope = dependency.getScope();
+            if ( scope == null )
+            {
+                scope = Artifact.SCOPE_COMPILE;
+            }
+
+            Artifact art = getArtifactFactory().createDependencyArtifact( groupId, artifactId, versionRange, type,
+                                                                          classifier, scope, optional );
+
+            if ( scope.equalsIgnoreCase( Artifact.SCOPE_SYSTEM ) )
+            {
+                art.setFile( new File( dependency.getSystemPath() ) );
+            }
+
+            List exclusions = new ArrayList();
+            for ( Iterator j = dependency.getExclusions().iterator(); j.hasNext(); )
+            {
+                Exclusion e = (Exclusion) j.next();
+                exclusions.add( e.getGroupId() + ":" + e.getArtifactId() ); //$NON-NLS-1$
+            }
+
+            ArtifactFilter newFilter = new ExcludesArtifactFilter( exclusions );
+
+            art.setDependencyFilter( newFilter );
+
+            artifacts.add( art );
+        }
+
+        return artifacts;
+    }
+
+    /**
+     * Utility method that locates a project producing the given artifact.
+     * @param artifact the artifact a project should produce.
+     * @return <code>true</code> if the artifact is produced by a reactor projectart.
+     */
+    private boolean isAvailableAsAReactorProject( Artifact artifact )
+    {
+        if ( reactorProjects != null )
+        {
+            for ( Iterator iter = reactorProjects.iterator(); iter.hasNext(); )
+            {
+                MavenProject reactorProject = (MavenProject) iter.next();
+
+                if ( reactorProject.getGroupId().equals( artifact.getGroupId() )
+                    && reactorProject.getArtifactId().equals( artifact.getArtifactId() ) )
+                {
+                    if ( reactorProject.getVersion().equals( artifact.getVersion() ) )
+                    {
+                        return true;
+                    }
+                    else
+                    {
+                        getLog()
+                            .info(
+                                   "Artifact "
+                                       + artifact.getId()
+                                       + " already available as a reactor project, but with different version. Expected: "
+                                       + artifact.getVersion() + ", found: " + reactorProject.getVersion() );
+                    }
+                }
+            }
+        }
+        return false;
+    }
+
+    private Map createManagedVersionMap( ArtifactFactory artifactFactory, String projectId,
+                                         DependencyManagement dependencyManagement )
+        throws MojoExecutionException
+    {
+        Map map;
+        if ( dependencyManagement != null && dependencyManagement.getDependencies() != null )
+        {
+            map = new HashMap();
+            for ( Iterator i = dependencyManagement.getDependencies().iterator(); i.hasNext(); )
+            {
+                Dependency d = (Dependency) i.next();
+
+                try
+                {
+                    VersionRange versionRange = VersionRange.createFromVersionSpec( d.getVersion() );
+                    Artifact artifact = artifactFactory.createDependencyArtifact( d.getGroupId(), d.getArtifactId(),
+                                                                                  versionRange, d.getType(), d
+                                                                                      .getClassifier(), d.getScope(), d
+                                                                                      .isOptional() );
+                    map.put( d.getManagementKey(), artifact );
+                }
+                catch ( InvalidVersionSpecificationException e )
+                {
+                    throw new MojoExecutionException( Messages.getString( "unabletoparseversion", new Object[] { //$NON-NLS-1$
+                                                                              projectId,
+                                                                              d.getVersion(),
+                                                                              d.getManagementKey(),
+                                                                              e.getMessage() } ), e );
+                }
+            }
+        }
+        else
+        {
+            map = Collections.EMPTY_MAP;
+        }
+        return map;
+    }
+
+    /**
+     * Resolve source artifacts and download them if <code>downloadSources</code> is <code>true</code>. Source and
+     * javadocs artifacts will be attached to the <code>IdeDependency</code>
+     * @param deps resolved dependencies
+     */
+    private void resolveSourceArtifacts( IdeDependency[] deps )
+    {
+
+        ArtifactRepository localRepository = getLocalRepository();
+        ArtifactResolver artifactResolver = getArtifactResolver();
+        ArtifactFactory artifactFactory = getArtifactFactory();
+
+        // if downloadSources is off, just check local repository for reporting missing jars
+        List remoteRepos = getDownloadSources() ? getRemoteArtifactRepositories() : Collections.EMPTY_LIST;
+
+        for ( int j = 0; j < deps.length; j++ )
+        {
+            IdeDependency dependency = deps[j];
+
+            if ( dependency.isReferencedProject() || dependency.isSystemScoped() )
+            {
+                // source artifact not needed
+                continue;
+            }
+
+            // source artifact: use the "sources" classifier added by the source plugin
+            Artifact sourceArtifact = IdeUtils.resolveArtifactWithClassifier( dependency.getGroupId(), dependency
+                .getArtifactId(), dependency.getVersion(), "sources", localRepository, artifactResolver, //$NON-NLS-1$
+                                                                              artifactFactory, remoteRepos, getLog() );
+
+            if ( sourceArtifact.isResolved() )
+            {
+                dependency.setSourceAttachment( sourceArtifact.getFile() );
+            }
+            else
+            {
+                // try using a plain javadoc jar if the source jar is not available
+                Artifact javadocArtifact = IdeUtils.resolveArtifactWithClassifier( dependency.getGroupId(), dependency
+                    .getArtifactId(), dependency.getVersion(), "javadoc", localRepository, artifactResolver, //$NON-NLS-1$
+                                                                                   artifactFactory, remoteRepos,
+                                                                                   getLog() );
+
+                if ( javadocArtifact.isResolved() )
+                {
+                    dependency.setJavadocAttachment( javadocArtifact.getFile() );
+                }
+
+                // @todo also report deps without a source attachment but with a javadoc one?
+                missingSourceDependencies.add( dependency );
+            }
+        }
+    }
+
+    /**
+     * Output a message with the list of missing dependencies and info on how turn download on if it was disabled.
+     */
+    private void reportMissingSources()
+    {
+        if ( missingSourceDependencies.isEmpty() )
+        {
+            return;
+        }
+
+        StringBuffer msg = new StringBuffer();
+
+        if ( getDownloadSources() )
+        {
+            msg.append( Messages.getString( "sourcesnotavailable" ) ); //$NON-NLS-1$
+        }
+        else
+        {
+            msg.append( Messages.getString( "sourcesnotdownloaded" ) ); //$NON-NLS-1$
+        }
+
+        for ( Iterator it = missingSourceDependencies.iterator(); it.hasNext(); )
+        {
+            IdeDependency art = (IdeDependency) it.next();
+            msg.append( Messages.getString( "sourcesmissingitem", art.getId() ) ); //$NON-NLS-1$
+        }
+        msg.append( "\n" ); //$NON-NLS-1$
+
+        getLog().info( msg ); //$NON-NLS-1$
+
+    }
+
+}

Propchange: cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/ide/AbstractIdeSupportMojo.java
------------------------------------------------------------------------------
    eol:style = 'native'

Added: cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/ide/IdeDependency.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/ide/IdeDependency.java?rev=396502&view=auto
==============================================================================
--- cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/ide/IdeDependency.java (added)
+++ cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/ide/IdeDependency.java Mon Apr 24 03:24:53 2006
@@ -0,0 +1,364 @@
+package org.apache.maven.plugin.ide;
+
+/*
+ * Copyright 2001-2005 The Apache Software Foundation.
+ *
+ * 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.
+ */
+
+import java.io.File;
+
+/**
+ * @author Fabrizio Giustina
+ * @version $Id: IdeDependency.java 390686 2006-04-01 15:39:33Z fgiust $
+ */
+public class IdeDependency
+{
+    /**
+     * Is this dependency available in the reactor?
+     */
+    private boolean referencedProject;
+
+    /**
+     * Is this a test dependency?
+     */
+    private boolean testDependency;
+
+    /**
+     * Is this a system scope dependency?
+     */
+    private boolean systemScoped;
+
+    /**
+     * Is this a provided dependency?
+     */
+    private boolean provided;
+
+    /**
+     * Is this dependency added to classpath?
+     */
+    private boolean addedToClasspath;
+
+    /**
+     * Resolved artifact file.
+     */
+    private File file;
+
+    /**
+     * Resolved javadoc file.
+     */
+    private File javadocAttachment;
+
+    /**
+     * Resolved source file.
+     */
+    private File sourceAttachment;
+
+    /**
+     * Group id.
+     */
+    private String groupId;
+
+    /**
+     * Artifact id.
+     */
+    private String artifactId;
+
+    /**
+     * Artifact version.
+     */
+    private String version;
+
+    /**
+     * Artifact type.
+     */
+    private String type;
+
+    /**
+     * 
+     * @param groupId Group id
+     * @param artifactId Artifact id
+     * @param version Artifact version
+     * @param referencedProject Is this dependency available in the reactor?
+     * @param testDependency Is this a test dependency?
+     * @param systemScoped Is this a system scope dependency?
+     * @param provided Is this a provided dependency?
+     * @param addedToClasspath Is this dependency added to classpath?
+     * @param file Resolved artifact file
+     * @param type Artifact type
+     */
+    public IdeDependency( String groupId, String artifactId, String version, boolean referencedProject,
+                          boolean testDependency, boolean systemScoped, boolean provided, boolean addedToClasspath,
+                          File file, String type )
+    {
+        // group:artifact:version
+        this.groupId = groupId;
+        this.artifactId = artifactId;
+        this.version = version;
+
+        // flags
+        this.referencedProject = referencedProject;
+        this.testDependency = testDependency;
+        this.systemScoped = systemScoped;
+        this.provided = provided;
+        this.addedToClasspath = addedToClasspath;
+
+        // file and type
+        this.file = file;
+        this.type = type;
+    }
+    
+    /**
+     * Is the artifact an OSGi bundle?
+     * @return Returns true if the dependency is an OSGi bundle.
+     */
+	public boolean isOSGiBundle() 
+	{
+		return false;
+	}    
+
+    /**
+     * Getter for <code>javadocAttachment</code>.
+     * @return Returns the javadocAttachment.
+     */
+    public File getJavadocAttachment()
+    {
+        return this.javadocAttachment;
+    }
+
+    /**
+     * Setter for <code>javadocAttachment</code>.
+     * @param javadocAttachment The javadocAttachment to set.
+     */
+    public void setJavadocAttachment( File javadocAttachment )
+    {
+        this.javadocAttachment = javadocAttachment;
+    }
+
+    /**
+     * Getter for <code>artifactId</code>.
+     * @return Returns the artifactId.
+     */
+    public String getArtifactId()
+    {
+        return this.artifactId;
+    }
+
+    /**
+     * Setter for <code>artifactId</code>.
+     * @param artifactId The artifactId to set.
+     */
+    public void setArtifactId( String artifactId )
+    {
+        this.artifactId = artifactId;
+    }
+
+    /**
+     * Getter for <code>groupId</code>.
+     * @return Returns the groupId.
+     */
+    public String getGroupId()
+    {
+        return this.groupId;
+    }
+
+    /**
+     * Setter for <code>groupId</code>.
+     * @param groupId The groupId to set.
+     */
+    public void setGroupId( String groupId )
+    {
+        this.groupId = groupId;
+    }
+
+    /**
+     * Getter for <code>version</code>.
+     * @return Returns the version.
+     */
+    public String getVersion()
+    {
+        return this.version;
+    }
+
+    /**
+     * Setter for <code>version</code>.
+     * @param version The version to set.
+     */
+    public void setVersion( String version )
+    {
+        this.version = version;
+    }
+
+    /**
+     * Getter for <code>referencedProject</code>.
+     * @return Returns the referencedProject.
+     */
+    public boolean isReferencedProject()
+    {
+        return this.referencedProject;
+    }
+
+    /**
+     * Setter for <code>referencedProject</code>.
+     * @param referencedProject The referencedProject to set.
+     */
+    public void setReferencedProject( boolean referencedProject )
+    {
+        this.referencedProject = referencedProject;
+    }
+
+    /**
+     * Getter for <code>sourceAttachment</code>.
+     * @return Returns the sourceAttachment.
+     */
+    public File getSourceAttachment()
+    {
+        return this.sourceAttachment;
+    }
+
+    /**
+     * Setter for <code>sourceAttachment</code>.
+     * @param sourceAttachment The sourceAttachment to set.
+     */
+    public void setSourceAttachment( File sourceAttachment )
+    {
+        this.sourceAttachment = sourceAttachment;
+    }
+
+    /**
+     * Getter for <code>systemScoped</code>.
+     * @return Returns the systemScoped.
+     */
+    public boolean isSystemScoped()
+    {
+        return this.systemScoped;
+    }
+
+    /**
+     * Setter for <code>systemScoped</code>.
+     * @param systemScoped The systemScoped to set.
+     */
+    public void setSystemScoped( boolean systemScoped )
+    {
+        this.systemScoped = systemScoped;
+    }
+
+    /**
+     * Getter for <code>testDependency</code>.
+     * @return Returns the testDependency.
+     */
+    public boolean isTestDependency()
+    {
+        return this.testDependency;
+    }
+
+    /**
+     * Setter for <code>testDependency</code>.
+     * @param testDependency The testDependency to set.
+     */
+    public void setTestDependency( boolean testDependency )
+    {
+        this.testDependency = testDependency;
+    }
+
+    /**
+     * Getter for <code>file</code>.
+     * @return Returns the file.
+     */
+    public File getFile()
+    {
+        return this.file;
+    }
+
+    /**
+     * Setter for <code>file</code>.
+     * @param file The file to set.
+     */
+    public void setFile( File file )
+    {
+        this.file = file;
+    }
+
+    /**
+     * Getter for <code>artifactId</code>.
+     * @return Returns the artifactId.
+     */
+    public String getId()
+    {
+        return this.groupId + ':' + this.artifactId + ':' + this.version;
+    }
+
+    /**
+     * Getter for <code>type</code>.
+     * @return Returns the type.
+     */
+    public String getType()
+    {
+        return this.type;
+    }
+
+    /**
+     * Setter for <code>type</code>.
+     * @param type The type to set.
+     */
+    public void setType( String type )
+    {
+        this.type = type;
+    }
+
+    /**
+     * Getter for <code>addedToClasspath</code>.
+     * @return Returns the addedToClasspath.
+     */
+    public boolean isAddedToClasspath()
+    {
+        return this.addedToClasspath;
+    }
+
+    /**
+     * Setter for <code>addedToClasspath</code>.
+     * @param addedToClasspath The addedToClasspath to set.
+     */
+    public void setAddedToClasspath( boolean addedToClasspath )
+    {
+        this.addedToClasspath = addedToClasspath;
+    }
+
+    /**
+     * Getter for <code>provided</code>.
+     * @return Returns the provided.
+     */
+    public boolean isProvided()
+    {
+        return this.provided;
+    }
+
+    /**
+     * Setter for <code>provided</code>.
+     * @param provided The provided to set.
+     */
+    public void setProvided( boolean provided )
+    {
+        this.provided = provided;
+    }
+
+    /**
+     * @see java.lang.Object#toString()
+     */
+    public String toString()
+    {
+        return getId();
+    }
+
+
+}

Propchange: cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/ide/IdeDependency.java
------------------------------------------------------------------------------
    eol:style = 'native'

Added: cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/ide/IdeUtils.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/ide/IdeUtils.java?rev=396502&view=auto
==============================================================================
--- cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/ide/IdeUtils.java (added)
+++ cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/ide/IdeUtils.java Mon Apr 24 03:24:53 2006
@@ -0,0 +1,184 @@
+package org.apache.maven.plugin.ide;
+
+/*
+ * Copyright 2001-2005 The Apache Software Foundation.
+ *
+ * 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.
+ */
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.factory.ArtifactFactory;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
+import org.apache.maven.artifact.resolver.ArtifactResolutionException;
+import org.apache.maven.artifact.resolver.ArtifactResolver;
+import org.apache.maven.model.Plugin;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.project.MavenProject;
+import org.codehaus.plexus.util.StringUtils;
+import org.codehaus.plexus.util.xml.Xpp3Dom;
+
+/**
+ * @author <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
+ * @author <a href="mailto:fgiust@users.sourceforge.net">Fabrizio Giustina</a>
+ * @version $Id: IdeUtils.java 390800 2006-04-02 08:49:59Z fgiust $
+ */
+public class IdeUtils
+{
+
+    private IdeUtils()
+    {
+        // don't instantiate
+    }
+
+    public static String getCanonicalPath( File file )
+        throws MojoExecutionException
+    {
+        try
+        {
+            return file.getCanonicalPath();
+        }
+        catch ( IOException e )
+        {
+            throw new MojoExecutionException( Messages.getString( "cantcanonicalize", file //$NON-NLS-1$
+                .getAbsolutePath() ), e );
+        }
+    }
+
+    public static String toRelativeAndFixSeparator( File basedir, File fileToAdd, boolean replaceSlashesWithDashes )
+        throws MojoExecutionException
+    {
+        String basedirpath;
+        String absolutePath;
+
+        basedirpath = getCanonicalPath( basedir );
+        absolutePath = getCanonicalPath( fileToAdd );
+
+        String relative;
+
+        if ( absolutePath.equals( basedirpath ) )
+        {
+            relative = "."; //$NON-NLS-1$
+        }
+        else if ( absolutePath.startsWith( basedirpath ) )
+        {
+            relative = absolutePath.substring( basedirpath.length() + 1 );
+        }
+        else
+        {
+            relative = absolutePath;
+        }
+
+        relative = StringUtils.replace( relative, '\\', '/' );
+
+        if ( replaceSlashesWithDashes )
+        {
+            relative = StringUtils.replace( relative, '/', '-' );
+            relative = StringUtils.replace( relative, ':', '-' ); // remove ":" for absolute paths in windows
+        }
+
+        return relative;
+    }
+
+    /**
+     * @todo there should be a better way to do this
+     */
+    public static String getPluginSetting( MavenProject project, String artifactId, String optionName,
+                                           String defaultValue )
+    {
+        for ( Iterator it = project.getModel().getBuild().getPlugins().iterator(); it.hasNext(); )
+        {
+            Plugin plugin = (Plugin) it.next();
+
+            if ( plugin.getArtifactId().equals( artifactId ) )
+            {
+                Xpp3Dom o = (Xpp3Dom) plugin.getConfiguration();
+
+                if ( o != null && o.getChild( optionName ) != null )
+                {
+                    return o.getChild( optionName ).getValue();
+                }
+            }
+        }
+
+        return defaultValue;
+    }
+
+    public static Artifact resolveArtifactWithClassifier( String groupId, String artifactId, String version,
+                                                          String classifier, ArtifactRepository localRepository,
+                                                          ArtifactResolver artifactResolver,
+                                                          ArtifactFactory artifactFactory, List remoteRepos, Log log )
+
+    {
+        String type = classifier;
+
+        // the "sources" classifier maps to the "java-source" type
+        if ( "sources".equals( type ) ) //$NON-NLS-1$
+        {
+            type = "java-source"; //$NON-NLS-1$
+        }
+
+        Artifact resolvedArtifact = artifactFactory.createArtifactWithClassifier( groupId, artifactId, version, type,
+                                                                                  classifier );
+
+        try
+        {
+            artifactResolver.resolve( resolvedArtifact, remoteRepos, localRepository );
+        }
+        catch ( ArtifactNotFoundException e )
+        {
+            // ignore, the jar has not been found
+        }
+        catch ( ArtifactResolutionException e )
+        {
+            String message = Messages.getString( "errorresolving", new Object[] { //$NON-NLS-1$
+                                                 classifier, resolvedArtifact.getId(), e.getMessage() } );
+
+            log.warn( message );
+        }
+
+        return resolvedArtifact;
+    }
+
+    /**
+     * Extracts the version of the first matching dependency in the given list.
+     * 
+     * @param artifactNames artifact names to compare against for extracting version
+     * @param artifacts Collection of dependencies for our project
+     * @param len expected length of the version sub-string
+     * @return
+     */
+    public static String getDependencyVersion( String[] artifactNames, Set artifacts, int len )
+    {
+        for ( Iterator itr = artifacts.iterator(); itr.hasNext(); )
+        {
+            Artifact artifact = (Artifact) itr.next();
+            for ( int j = 0; j < artifactNames.length; j++ )
+            {
+                String name = artifactNames[j];
+                if ( name.equals( artifact.getArtifactId() ) )
+                {
+                    return StringUtils.substring( artifact.getVersion(), 0, len );
+                }
+            }
+        }
+        return null;
+    }
+}

Propchange: cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/ide/IdeUtils.java
------------------------------------------------------------------------------
    eol:style = 'native'

Added: cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/ide/Messages.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/ide/Messages.java?rev=396502&view=auto
==============================================================================
--- cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/ide/Messages.java (added)
+++ cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/ide/Messages.java Mon Apr 24 03:24:53 2006
@@ -0,0 +1,93 @@
+package org.apache.maven.plugin.ide;
+
+/*
+ * Copyright 2001-2005 The Apache Software Foundation.
+ *
+ * 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.
+ */
+
+import java.text.MessageFormat;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+/**
+ * @author <a href="mailto:fgiust@users.sourceforge.net">Fabrizio Giustina</a>
+ * @version $Id: Messages.java 390686 2006-04-01 15:39:33Z fgiust $
+ */
+class Messages
+{
+
+    /**
+     * bundle filename.
+     */
+    private static final String BUNDLE_NAME = "org.apache.maven.plugin.ide.messages"; //$NON-NLS-1$
+
+    /**
+     * Static resource bundle.
+     */
+    private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle( BUNDLE_NAME );
+
+    /**
+     * Don't instantiate.
+     *
+     */
+    private Messages()
+    {
+    }
+
+    /**
+     * Returns a string from the bundle.
+     * @param key message key
+     * @return message value or <code>!key!</code> if key is not found
+     */
+    public static String getString( String key )
+    {
+        try
+        {
+            return RESOURCE_BUNDLE.getString( key );
+        }
+        catch ( MissingResourceException e )
+        {
+            return '!' + key + '!';
+        }
+    }
+
+    /**
+     * Returns a string from the bundle, formatting it using provided params.
+     * @param key message key
+     * @param params MessageFormat arguments
+     * @return message value or <code>!key!</code> if key is not found
+     */
+    public static String getString( String key, Object[] params )
+    {
+        try
+        {
+            return MessageFormat.format( RESOURCE_BUNDLE.getString( key ), params );
+        }
+        catch ( MissingResourceException e )
+        {
+            return '!' + key + '!';
+        }
+    }
+
+    /**
+     * Returns a string from the bundle, formatting it using provided param.
+     * @param key message key
+     * @param param MessageFormat arguments
+     * @return message value or <code>!key!</code> if key is not found
+     */
+    public static String getString( String key, Object param )
+    {
+        return getString( key, new Object[] { param } );
+    }
+}

Propchange: cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/ide/Messages.java
------------------------------------------------------------------------------
    eol:style = 'native'

Propchange: cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/main/resources/
------------------------------------------------------------------------------
    eol:style = 'native'

Propchange: cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/main/resources/org/
------------------------------------------------------------------------------
    eol:style = 'native'

Propchange: cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/main/resources/org/apache/
------------------------------------------------------------------------------
    eol:style = 'native'

Propchange: cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/main/resources/org/apache/maven/
------------------------------------------------------------------------------
    eol:style = 'native'

Propchange: cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/main/resources/org/apache/maven/plugin/
------------------------------------------------------------------------------
    eol:style = 'native'

Propchange: cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/main/resources/org/apache/maven/plugin/eclipse/
------------------------------------------------------------------------------
    eol:style = 'native'

Added: cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/main/resources/org/apache/maven/plugin/eclipse/messages.properties
URL: http://svn.apache.org/viewcvs/cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/main/resources/org/apache/maven/plugin/eclipse/messages.properties?rev=396502&view=auto
==============================================================================
--- cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/main/resources/org/apache/maven/plugin/eclipse/messages.properties (added)
+++ cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/main/resources/org/apache/maven/plugin/eclipse/messages.properties Mon Apr 24 03:24:53 2006
@@ -0,0 +1,34 @@
+EclipsePlugin.missingpom=There must be a POM in the current working directory for the Eclipse plugin to work.
+EclipsePlugin.pompackaging=Not running eclipse plugin goal for pom project
+EclipsePlugin.notadir=Not a directory: "{0}"
+EclipsePlugin.cantcreatedir=Can''t create directory "{0}"
+EclipsePlugin.erroropeningfile=Exception while opening file.
+EclipsePlugin.cantwritetofile=Unable to write to file: {0}
+EclipsePlugin.cantreadfile=Unable to read file: {0}
+EclipsePlugin.keepexisting=File {0} already exists.\n       Additional settings will be preserved, run mvn eclipse:clean if you want old settings to be removed.
+EclipsePlugin.cantparseexisting=Unable to parse existing file: {0}. Settings will not be preserved.
+EclipsePlugin.cantresolvesources=Cannot resolve source artifact. Artifact id: {0} (Message: {1})
+EclipsePlugin.wrote=Wrote Eclipse project for "{0}" to {1}.
+EclipsePlugin.missingelement=Missing element from the project descriptor: "{0}"
+EclipsePlugin.includenotsupported=This plugin currently doesn't support include patterns for resources. Adding the entire directory.
+EclipsePlugin.excludenotsupported=This plugin currently doesn't support exclude patterns for resources. Adding the entire directory.
+EclipsePlugin.artifactpathisnull=The artifact path was null. Artifact id: {0}
+EclipsePlugin.artifactissystemscoped=The artifact has scope ''system''. Artifact id: {0}. System path: {1}
+EclipsePlugin.unsupportedwtp=Unsupported WTP version: {0}. This plugin currently supports only the following versions: {1}.
+EclipsePlugin.wtpversion=Adding support for WTP version {0}.
+EclipsePlugin.missingjrecontainer=You did specify a list of classpath containers without the base org.eclipse.jdt.launching.JRE_CONTAINER.\n       If you specify custom classpath containers you should also add org.eclipse.jdt.launching.JRE_CONTAINER to the list
+EclipsePlugin.deprecatedpar=Plugin parameter "{0}" is deprecated, please use "{1}"
+
+EclipseSettingsWriter.wrotesettings=Wrote settings to {0}
+EclipseSettingsWriter.cannotcreatesettings=Cannot create settings file
+EclipseSettingsWriter.errorwritingsettings=Error writing settings file
+EclipseSettingsWriter.usingdefaults=Not writing settings - defaults suffice
+
+EclipseClasspathWriter.lookingforsources=Looking for source archive for artifact {0}
+EclipseClasspathWriter.sourcesavailable=Sources attachment for artifact {0} set to {1}
+
+EclipseProjectWriter.notafile=Not adding a file link to {0}; it is not a file
+
+EclipseCleanMojo.deleting=Deleting {0} file...
+EclipseCleanMojo.failedtodelete=Failed to delete {0} file: {0}
+EclipseCleanMojo.nofilefound=No {0} file found
\ No newline at end of file

Propchange: cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/main/resources/org/apache/maven/plugin/eclipse/messages.properties
------------------------------------------------------------------------------
    eol:style = 'native'

Propchange: cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/main/resources/org/apache/maven/plugin/ide/
------------------------------------------------------------------------------
    eol:style = 'native'

Added: cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/main/resources/org/apache/maven/plugin/ide/messages.properties
URL: http://svn.apache.org/viewcvs/cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/main/resources/org/apache/maven/plugin/ide/messages.properties?rev=396502&view=auto
==============================================================================
--- cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/main/resources/org/apache/maven/plugin/ide/messages.properties (added)
+++ cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/main/resources/org/apache/maven/plugin/ide/messages.properties Mon Apr 24 03:24:53 2006
@@ -0,0 +1,8 @@
+sourcesnotavailable=\n       Sources for some artifacts are not available.\n       List of artifacts without a source archive:
+sourcesnotdownloaded=\n       Sources for some artifacts are not available.\n       Please run the same goal with the -DdownloadSources=true parameter in order to check remote repositories for sources.\n       List of artifacts without a source archive:
+sourcesmissingitem=\n         o {0}
+errorresolving=Error resolving {0} artifact. Artifact id: {1} (Message: {2})
+artifactresolution=An error occurred during dependency resolution of the following artifact:\n    {0}:{1}:{2}\nCaused by: {3}
+artifactdownload=An error occurred during dependency resolution.\n    Failed to retrieve {0}:{1}-{2}\nCaused by: {3}
+cantcanonicalize=Can''t canonicalize system path: {0}
+unabletoparseversion={0}: unable to parse version ''{1}'' for dependency ''{2}'': {3}
\ No newline at end of file

Propchange: cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/main/resources/org/apache/maven/plugin/ide/messages.properties
------------------------------------------------------------------------------
    eol:style = 'native'

Propchange: cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/optional/
------------------------------------------------------------------------------
    eol:style = 'native'

Propchange: cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/optional/eclipse-config/
------------------------------------------------------------------------------
    eol:style = 'native'

Added: cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/optional/eclipse-config/maven-styles.xml
URL: http://svn.apache.org/viewcvs/cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/optional/eclipse-config/maven-styles.xml?rev=396502&view=auto
==============================================================================
--- cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/optional/eclipse-config/maven-styles.xml (added)
+++ cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/optional/eclipse-config/maven-styles.xml Mon Apr 24 03:24:53 2006
@@ -0,0 +1,244 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<profiles version="8">
+<profile name="mergere-formats" version="8">
+<setting id="org.eclipse.jdt.core.formatter.align_type_members_on_columns" value="false"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression" value="18"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call" value="18"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation" value="18"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression" value="18"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_binary_expression" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_if" value="18"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression" value="18"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer" value="48"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_multiple_fields" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration" value="18"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration" value="18"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration" value="37"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration" value="37"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration" value="37"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration" value="37"/>
+<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_imports" value="1"/>
+<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_package" value="1"/>
+<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_field" value="1"/>
+<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration" value="0"/>
+<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_imports" value="1"/>
+<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_member_type" value="1"/>
+<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_method" value="1"/>
+<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk" value="1"/>
+<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_package" value="0"/>
+<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations" value="1"/>
+<setting id="org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration" value="end_of_line"/>
+<setting id="org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration" value="next_line"/>
+<setting id="org.eclipse.jdt.core.formatter.brace_position_for_array_initializer" value="end_of_line"/>
+<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block" value="next_line"/>
+<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block_in_case" value="next_line"/>
+<setting id="org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration" value="next_line"/>
+<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_constant" value="end_of_line"/>
+<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration" value="end_of_line"/>
+<setting id="org.eclipse.jdt.core.formatter.brace_position_for_method_declaration" value="next_line"/>
+<setting id="org.eclipse.jdt.core.formatter.brace_position_for_switch" value="next_line"/>
+<setting id="org.eclipse.jdt.core.formatter.brace_position_for_type_declaration" value="next_line"/>
+<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines" value="false"/>
+<setting id="org.eclipse.jdt.core.formatter.comment.format_comments" value="false"/>
+<setting id="org.eclipse.jdt.core.formatter.comment.format_header" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.comment.format_html" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.comment.format_source_code" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.comment.indent_parameter_description" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.comment.indent_root_tags" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.comment.line_length" value="100"/>
+<setting id="org.eclipse.jdt.core.formatter.compact_else_if" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.continuation_indentation" value="1"/>
+<setting id="org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer" value="1"/>
+<setting id="org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line" value="false"/>
+<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_block" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_body" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.indentation.size" value="4"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_binary_operator" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_ellipsis" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_unary_operator" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_binary_operator" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_ellipsis" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_unary_operator" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line" value="false"/>
+<setting id="org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line" value="false"/>
+<setting id="org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line" value="false"/>
+<setting id="org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line" value="false"/>
+<setting id="org.eclipse.jdt.core.formatter.lineSplit" value="120"/>
+<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body" value="0"/>
+<setting id="org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve" value="1"/>
+<setting id="org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line" value="false"/>
+<setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="space"/>
+<setting id="org.eclipse.jdt.core.formatter.tabulation.size" value="4"/>
+</profile>
+</profiles>

Propchange: cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/optional/eclipse-config/maven-styles.xml
------------------------------------------------------------------------------
    eol:style = 'native'

Propchange: cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/site/
------------------------------------------------------------------------------
    eol:style = 'native'

Propchange: cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/site/apt/
------------------------------------------------------------------------------
    eol:style = 'native'

Added: cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/site/apt/overview.apt
URL: http://svn.apache.org/viewcvs/cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/site/apt/overview.apt?rev=396502&view=auto
==============================================================================
--- cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/site/apt/overview.apt (added)
+++ cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/site/apt/overview.apt Mon Apr 24 03:24:53 2006
@@ -0,0 +1,74 @@
+ ------
+ Guide to using Eclipse with Maven 2.x
+ ------
+ Bernd Mau, mau@hhla.de
+ ------
+ 28 October 2005
+ ------
+ 
+Guide to using Eclipse with Maven 2.x
+
+ This mini guide explains howto use Maven 2 in Eclipse IDE.
+
+ * {{{#Maven 2 repository}Maven 2 repository}}
+
+ * {{{#Maven as an external tool}Maven as an external tool}}
+
+ * {{{#Simple Project}Simple Project}}
+
+* {Maven 2 repository}
+
+ Eclipse needs to know the path to the local maven
+repository. Therefore the classpath variable <M2_REPO> has to be
+set. Execute the following command:
+
++----+
+
+mvn -Declipse.workspace=<path-to-eclipse-workspace> eclipse:add-maven-repo 
+
++----+
+
+ You can also define a new classpath variable inside eclipse: From the
+menu bar, select Window > Preferences.  Select the Java > Build Path >
+Classpath Variables page.
+
+* {Maven as an external tool}
+
+ You might want to execute some maven goals from inside eclipse. This
+is possible by configuring an external launcher.
+
+ It is best practice to prepare eclipse by adding a variable, which points to your local
+maven excutable (mvn.bat/mvn).
+
+ From the menu bar, select Window > Preferences. 
+ Select the Run/Debug > String Substitution. Add a new variable e.g.  <maven_exec>.
+ 
+ When you set up a new external launcher (from the menu bar, select Run > External Tools. Select Program) you
+can refer to <maven_exec> in the location field.
+
+ Furhtermore refer to <project_loc> as the working directory and specify the maven goals of
+your choice as arguments, e.g. <eclipse:eclipse>.
+
+ For further information please refer to the eclipse help.
+
+
+* {Simple Project}
+
+ If you have a simple java project which is made up of only one
+module, using eclipse is very simple. To generate the eclipse project
+files from your POM you execute the following command:
+
++----+
+
+mvn eclipse:eclipse
+
++----+
+
+ If you have created or checked out the project with eclipse, you only
+have to refresh the project in your workspace. Otherwise you have to
+import the project into your eclipse workspace (From the menu bar,
+select File >Import >Existing Projects into Workspace). In the
+latter case the project (directory) should not be located in your
+workspace, because eclipse might come into trouble, especially if you
+want to use eclipse as the scm client.
+

Propchange: cocoon/trunk/tools/cocoon-maven-eclipse-plugin/src/site/apt/overview.apt
------------------------------------------------------------------------------
    eol:style = 'native'