svn commit: r833728 [1/5] - in /maven/archetype/trunk: ./ archetype-common/ archetype-common/src/main/java/org/apache/maven/archetype/common/ archetype-common/src/main/java/org/apache/maven/archetype/exception/ archetype-common/src/main/mdo/ archetype-...

View: New views
1 Messages — Rating Filter:   Alert me  

svn commit: r833728 [1/5] - in /maven/archetype/trunk: ./ archetype-common/ archetype-common/src/main/java/org/apache/maven/archetype/common/ archetype-common/src/main/java/org/apache/maven/archetype/exception/ archetype-common/src/main/mdo/ archetype-...

by bentmann :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Author: bentmann
Date: Sat Nov  7 18:28:39 2009
New Revision: 833728

URL: http://svn.apache.org/viewvc?rev=833728&view=rev
Log:
o Set svn:eol-style=native

Modified:
    maven/archetype/trunk/NOTICE.txt   (contents, props changed)
    maven/archetype/trunk/archetype-common/pom.xml   (props changed)
    maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/ArchetypeArtifactManager.java   (contents, props changed)
    maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/ArchetypeFilesResolver.java   (contents, props changed)
    maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/ArchetypeRegistryManager.java   (contents, props changed)
    maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/Constants.java   (contents, props changed)
    maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeArtifactManager.java   (props changed)
    maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeFilesResolver.java   (contents, props changed)
    maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeRegistryManager.java   (contents, props changed)
    maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultPomManager.java   (contents, props changed)
    maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/MavenJDOMWriter.java   (contents, props changed)
    maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/PomManager.java   (contents, props changed)
    maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/exception/ArchetypeGenerationConfigurationFailure.java   (props changed)
    maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/exception/ArchetypeGenerationFailure.java   (props changed)
    maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/exception/ArchetypeNotConfigured.java   (props changed)
    maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/exception/ArchetypeNotDefined.java   (contents, props changed)
    maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/exception/ArchetypeSelectionFailure.java   (props changed)
    maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/exception/InvalidPackaging.java   (props changed)
    maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/exception/OutputFileExists.java   (props changed)
    maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/exception/PomFileExists.java   (props changed)
    maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/exception/ProjectDirectoryExists.java   (props changed)
    maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/exception/TemplateCreationException.java   (props changed)
    maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/exception/UnknownArchetype.java   (props changed)
    maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/exception/UnknownGroup.java   (props changed)
    maven/archetype/trunk/archetype-common/src/main/mdo/archetype-catalog.mdo   (contents, props changed)
    maven/archetype/trunk/archetype-common/src/main/mdo/archetype-common.mdo   (contents, props changed)
    maven/archetype/trunk/archetype-common/src/main/mdo/archetype-descriptor.mdo   (contents, props changed)
    maven/archetype/trunk/archetype-common/src/main/mdo/archetype-registry.mdo   (contents, props changed)
    maven/archetype/trunk/archetype-common/src/main/mdo/archetype.mdo   (props changed)
    maven/archetype/trunk/archetype-common/src/test/archetypes/fileset-1.0/archetype-resources/subproject/subsubproject/src/main/java/__rootArtifactId__/inner/__artifactId__/innest/Some__rootArtifactId__Class__artifactId__.java   (props changed)
    maven/archetype/trunk/archetype-plugin/pom.xml   (props changed)
    maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/AddArchetypeMetadataMojo.java   (contents, props changed)
    maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CleanMojo.java   (contents, props changed)
    maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateArchetypeFromProjectMojo.java   (props changed)
    maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateProjectFromArchetypeMojo.java   (props changed)
    maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/IntegrationTestMojo.java   (contents, props changed)
    maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/ui/ArchetypeFactory.java   (props changed)
    maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeFactory.java   (contents, props changed)
    maven/archetype/trunk/archetype-plugin/src/test/projects/deep-inheritence/a/b/pom.xml   (contents, props changed)
    maven/archetype/trunk/archetype-plugin/src/test/projects/deep-inheritence/a/pom.xml   (contents, props changed)
    maven/archetype/trunk/archetype-plugin/src/test/projects/deep-inheritence/pom.xml   (contents, props changed)
    maven/archetype/trunk/archetype-plugin/src/test/projects/sibling-dependency/a/pom.xml   (contents, props changed)
    maven/archetype/trunk/archetype-plugin/src/test/projects/sibling-dependency/b/pom.xml   (contents, props changed)
    maven/archetype/trunk/archetype-plugin/src/test/projects/sibling-dependency/pom.xml   (contents, props changed)
    maven/archetype/trunk/archetype-plugin/src/test/projects/simple-inheritence/enforcer-rules/pom.xml   (contents, props changed)
    maven/archetype/trunk/archetype-plugin/src/test/projects/simple-inheritence/pom.xml   (contents, props changed)
    maven/archetype/trunk/pom.xml   (props changed)

Modified: maven/archetype/trunk/NOTICE.txt
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/NOTICE.txt?rev=833728&r1=833727&r2=833728&view=diff
==============================================================================
--- maven/archetype/trunk/NOTICE.txt (original)
+++ maven/archetype/trunk/NOTICE.txt Sat Nov  7 18:28:39 2009
@@ -1,5 +1,5 @@
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
-This product includes software developed by jchardet.sourceforge.net
-jchardet is using Mozilla 1.1 license.
+This product includes software developed by
+The Apache Software Foundation (http://www.apache.org/).
+
+This product includes software developed by jchardet.sourceforge.net
+jchardet is using Mozilla 1.1 license.

Propchange: maven/archetype/trunk/NOTICE.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/archetype/trunk/archetype-common/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/ArchetypeArtifactManager.java
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/ArchetypeArtifactManager.java?rev=833728&r1=833727&r2=833728&view=diff
==============================================================================
--- maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/ArchetypeArtifactManager.java (original)
+++ maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/ArchetypeArtifactManager.java Sat Nov  7 18:28:39 2009
@@ -1,145 +1,145 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.maven.archetype.common;
-
-import org.apache.maven.archetype.exception.UnknownArchetype;
-import org.apache.maven.archetype.metadata.ArchetypeDescriptor;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.model.Model;
-
-import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
-
-import java.io.File;
-import java.io.IOException;
-
-import java.util.List;
-import java.util.zip.ZipFile;
-
-public interface ArchetypeArtifactManager
-{
-    String ROLE = ArchetypeArtifactManager.class.getName ();
-
-    Model getArchetypePom ( File jar )
-    throws XmlPullParserException, UnknownArchetype, IOException;
-
-    /**
-     */
-    File getArchetypeFile (
-        final String groupId,
-        final String artifactId,
-        final String version,
-        ArtifactRepository archetypeRepository,
-        final ArtifactRepository localRepository,
-        final List repositories
-    )
-    throws UnknownArchetype;
-
-    /**
-     */
-    ClassLoader getArchetypeJarLoader ( File archetypeFile )
-    throws UnknownArchetype;
-
-    /**
-     */
-    ZipFile getArchetypeZipFile ( File archetypeFile )
-    throws UnknownArchetype;
-
-    /**
-     */
-    boolean isFileSetArchetype ( File archetypeFile );
-
-    /**
-     */
-    boolean isFileSetArchetype (
-        String groupId,
-        String artifactId,
-        String version,
-        ArtifactRepository archetypeRepository,
-        ArtifactRepository localRepository,
-        List repositories
-    );
-
-    /**
-     */
-    boolean isOldArchetype ( File archetypeFile );
-
-    /**
-     */
-    boolean isOldArchetype (
-        String groupId,
-        String artifactId,
-        String version,
-        ArtifactRepository archetypeRepository,
-        ArtifactRepository localRepository,
-        List repositories
-    );
-
-    /**
-     */
-    boolean exists (
-        String archetypeGroupId,
-        String archetypeArtifactId,
-        String archetypeVersion,
-        ArtifactRepository archetypeRepository,
-        ArtifactRepository localRepository,
-        List repos
-    );
-
-    /**
-     */
-    ArchetypeDescriptor getFileSetArchetypeDescriptor ( File archetypeFile )
-    throws UnknownArchetype;
-
-    /**
-     */
-    org.apache.maven.archetype.metadata.ArchetypeDescriptor getFileSetArchetypeDescriptor (
-        String groupId,
-        String artifactId,
-        String version,
-        ArtifactRepository archetypeRepository,
-        ArtifactRepository localRepository,
-        List repositories
-    )
-    throws UnknownArchetype;
-
-    /**
-     */
-    List getFilesetArchetypeResources ( File archetypeFile )
-    throws UnknownArchetype;
-
-    /**
-     */
-    org.apache.maven.archetype.old.descriptor.ArchetypeDescriptor getOldArchetypeDescriptor (
-        File archetypeFile
-    )
-    throws UnknownArchetype;
-
-    /**
-     */
-    org.apache.maven.archetype.old.descriptor.ArchetypeDescriptor getOldArchetypeDescriptor (
-        String groupId,
-        String artifactId,
-        String version,
-        ArtifactRepository archetypeRepository,
-        ArtifactRepository localRepository,
-        List repositories
-    )
-    throws UnknownArchetype;
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.maven.archetype.common;
+
+import org.apache.maven.archetype.exception.UnknownArchetype;
+import org.apache.maven.archetype.metadata.ArchetypeDescriptor;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.model.Model;
+
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+
+import java.io.File;
+import java.io.IOException;
+
+import java.util.List;
+import java.util.zip.ZipFile;
+
+public interface ArchetypeArtifactManager
+{
+    String ROLE = ArchetypeArtifactManager.class.getName ();
+
+    Model getArchetypePom ( File jar )
+    throws XmlPullParserException, UnknownArchetype, IOException;
+
+    /**
+     */
+    File getArchetypeFile (
+        final String groupId,
+        final String artifactId,
+        final String version,
+        ArtifactRepository archetypeRepository,
+        final ArtifactRepository localRepository,
+        final List repositories
+    )
+    throws UnknownArchetype;
+
+    /**
+     */
+    ClassLoader getArchetypeJarLoader ( File archetypeFile )
+    throws UnknownArchetype;
+
+    /**
+     */
+    ZipFile getArchetypeZipFile ( File archetypeFile )
+    throws UnknownArchetype;
+
+    /**
+     */
+    boolean isFileSetArchetype ( File archetypeFile );
+
+    /**
+     */
+    boolean isFileSetArchetype (
+        String groupId,
+        String artifactId,
+        String version,
+        ArtifactRepository archetypeRepository,
+        ArtifactRepository localRepository,
+        List repositories
+    );
+
+    /**
+     */
+    boolean isOldArchetype ( File archetypeFile );
+
+    /**
+     */
+    boolean isOldArchetype (
+        String groupId,
+        String artifactId,
+        String version,
+        ArtifactRepository archetypeRepository,
+        ArtifactRepository localRepository,
+        List repositories
+    );
+
+    /**
+     */
+    boolean exists (
+        String archetypeGroupId,
+        String archetypeArtifactId,
+        String archetypeVersion,
+        ArtifactRepository archetypeRepository,
+        ArtifactRepository localRepository,
+        List repos
+    );
+
+    /**
+     */
+    ArchetypeDescriptor getFileSetArchetypeDescriptor ( File archetypeFile )
+    throws UnknownArchetype;
+
+    /**
+     */
+    org.apache.maven.archetype.metadata.ArchetypeDescriptor getFileSetArchetypeDescriptor (
+        String groupId,
+        String artifactId,
+        String version,
+        ArtifactRepository archetypeRepository,
+        ArtifactRepository localRepository,
+        List repositories
+    )
+    throws UnknownArchetype;
+
+    /**
+     */
+    List getFilesetArchetypeResources ( File archetypeFile )
+    throws UnknownArchetype;
+
+    /**
+     */
+    org.apache.maven.archetype.old.descriptor.ArchetypeDescriptor getOldArchetypeDescriptor (
+        File archetypeFile
+    )
+    throws UnknownArchetype;
+
+    /**
+     */
+    org.apache.maven.archetype.old.descriptor.ArchetypeDescriptor getOldArchetypeDescriptor (
+        String groupId,
+        String artifactId,
+        String version,
+        ArtifactRepository archetypeRepository,
+        ArtifactRepository localRepository,
+        List repositories
+    )
+    throws UnknownArchetype;
+}

Propchange: maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/ArchetypeArtifactManager.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/ArchetypeFilesResolver.java
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/ArchetypeFilesResolver.java?rev=833728&r1=833727&r2=833728&view=diff
==============================================================================
--- maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/ArchetypeFilesResolver.java (original)
+++ maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/ArchetypeFilesResolver.java Sat Nov  7 18:28:39 2009
@@ -1,87 +1,87 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.maven.archetype.common;
-
-import org.apache.maven.archetype.metadata.FileSet;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.List;
-
-/** @author rafale */
-public interface ArchetypeFilesResolver
-{
-    String ROLE = ArchetypeFilesResolver.class.getName();
-
-    List getFilesWithExtension( List files,
-                                String extension );
-
-    List getFilteredFiles( List files,
-                           String filtered );
-
-//    List filterFiles( FileSet fileSet,
-//                      List archetypeResources );
-
-    List filterFiles( String moduleOffset,
-                      FileSet fileSet,
-                      List archetypeResources );
-
-    List findOtherResources( int level,
-                             List files,
-                             String languages );
-
-    List findOtherResources( int level,
-                             List files,
-                             List sourcesFiles,
-                             String languages );
-
-    List findOtherSources( int level,
-                           List files,
-                           String languages );
-
-    List findResourcesMainFiles( List files,
-                                 String languages );
-
-    List findResourcesTestFiles( List files,
-                                 String languages );
-
-    List findSiteFiles( List files,
-                        String languages );
-
-    List findSourcesMainFiles( List files,
-                               String languages );
-
-    List findSourcesTestFiles( List files,
-                               String languages );
-
-    List getPackagedFiles( List files,
-                           String packageName );
-
-    String resolvePackage( File file,
-                           List languages )
-        throws
-        IOException;
-
-//    List getUnfilteredFiles( List files,
-//                             String filtered );
-
-    List getUnpackagedFiles( List files,
-                             String packageName );
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.maven.archetype.common;
+
+import org.apache.maven.archetype.metadata.FileSet;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.List;
+
+/** @author rafale */
+public interface ArchetypeFilesResolver
+{
+    String ROLE = ArchetypeFilesResolver.class.getName();
+
+    List getFilesWithExtension( List files,
+                                String extension );
+
+    List getFilteredFiles( List files,
+                           String filtered );
+
+//    List filterFiles( FileSet fileSet,
+//                      List archetypeResources );
+
+    List filterFiles( String moduleOffset,
+                      FileSet fileSet,
+                      List archetypeResources );
+
+    List findOtherResources( int level,
+                             List files,
+                             String languages );
+
+    List findOtherResources( int level,
+                             List files,
+                             List sourcesFiles,
+                             String languages );
+
+    List findOtherSources( int level,
+                           List files,
+                           String languages );
+
+    List findResourcesMainFiles( List files,
+                                 String languages );
+
+    List findResourcesTestFiles( List files,
+                                 String languages );
+
+    List findSiteFiles( List files,
+                        String languages );
+
+    List findSourcesMainFiles( List files,
+                               String languages );
+
+    List findSourcesTestFiles( List files,
+                               String languages );
+
+    List getPackagedFiles( List files,
+                           String packageName );
+
+    String resolvePackage( File file,
+                           List languages )
+        throws
+        IOException;
+
+//    List getUnfilteredFiles( List files,
+//                             String filtered );
+
+    List getUnpackagedFiles( List files,
+                             String packageName );
+}

Propchange: maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/ArchetypeFilesResolver.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/ArchetypeRegistryManager.java
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/ArchetypeRegistryManager.java?rev=833728&r1=833727&r2=833728&view=diff
==============================================================================
--- maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/ArchetypeRegistryManager.java (original)
+++ maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/ArchetypeRegistryManager.java Sat Nov  7 18:28:39 2009
@@ -1,77 +1,77 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.maven.archetype.common;
-
-import org.apache.maven.archetype.registry.ArchetypeRegistry;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.Reader;
-import java.util.List;
-
-public interface ArchetypeRegistryManager
-{
-    String ROLE = ArchetypeRegistryManager.class.getName();
-
-    List getFilteredExtensions( String archetypeFilteredExtentions,
-                                File archetypeRegistryFile )
-        throws
-        IOException;
-
-    List getLanguages( String archetypeLanguages,
-                       File archetypeRegistryFile )
-        throws
-        IOException;
-
-    ArchetypeRegistry readArchetypeRegistry( Reader reader )
-        throws
-        IOException,
-        XmlPullParserException;
-
-    ArchetypeRegistry readArchetypeRegistry( File archetypeRegistryFile )
-        throws
-        IOException,
-        XmlPullParserException;
-
-//    ArchetypeRegistry readArchetypeRegistry()
-//        throws
-//        IOException,
-//        XmlPullParserException;
-
-//    List getRepositories(
-//        List pomRemoteRepositories,
-//        String remoteRepositories,
-//        File archetypeRegistryFile
-//    )
-//        throws
-//        IOException,
-//        XmlPullParserException;
-
-    void writeArchetypeRegistry( File archetypeRegistryFile,
-                                 ArchetypeRegistry archetypeRegistry )
-        throws
-        IOException;
-
-    ArchetypeRegistry getDefaultArchetypeRegistry();
-
-    ArtifactRepository createRepository( String url, String repositoryId );
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.maven.archetype.common;
+
+import org.apache.maven.archetype.registry.ArchetypeRegistry;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.Reader;
+import java.util.List;
+
+public interface ArchetypeRegistryManager
+{
+    String ROLE = ArchetypeRegistryManager.class.getName();
+
+    List getFilteredExtensions( String archetypeFilteredExtentions,
+                                File archetypeRegistryFile )
+        throws
+        IOException;
+
+    List getLanguages( String archetypeLanguages,
+                       File archetypeRegistryFile )
+        throws
+        IOException;
+
+    ArchetypeRegistry readArchetypeRegistry( Reader reader )
+        throws
+        IOException,
+        XmlPullParserException;
+
+    ArchetypeRegistry readArchetypeRegistry( File archetypeRegistryFile )
+        throws
+        IOException,
+        XmlPullParserException;
+
+//    ArchetypeRegistry readArchetypeRegistry()
+//        throws
+//        IOException,
+//        XmlPullParserException;
+
+//    List getRepositories(
+//        List pomRemoteRepositories,
+//        String remoteRepositories,
+//        File archetypeRegistryFile
+//    )
+//        throws
+//        IOException,
+//        XmlPullParserException;
+
+    void writeArchetypeRegistry( File archetypeRegistryFile,
+                                 ArchetypeRegistry archetypeRegistry )
+        throws
+        IOException;
+
+    ArchetypeRegistry getDefaultArchetypeRegistry();
+
+    ArtifactRepository createRepository( String url, String repositoryId );
+}

Propchange: maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/ArchetypeRegistryManager.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/Constants.java
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/Constants.java?rev=833728&r1=833727&r2=833728&view=diff
==============================================================================
--- maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/Constants.java (original)
+++ maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/Constants.java Sat Nov  7 18:28:39 2009
@@ -1,92 +1,92 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.maven.archetype.common;
-
-import java.util.Arrays;
-import java.util.List;
-
-public interface Constants
-{
-    String ARCHETYPE_ARTIFACT_ID = "archetype.artifactId";
-
-    String ARCHETYPE_GROUP_ID = "archetype.groupId";
-
-    String ARCHETYPE_VERSION = "archetype.version";
-
-    String ARCHETYPE_REPOSITORY = "archetype.repository";
-
-    String ARCHETYPE_DESCRIPTOR = "META-INF/maven/archetype-metadata.xml";
-
-    String ARCHETYPE_POST_GENERATION_GOALS = "archetype.goals";
-
-    String ARCHETYPE_POM = "pom.xml";
-
-    String ARCHETYPE_RESOURCES = "archetype-resources";
-
-    String ARCHETYPE_SUFFIX = "-archetype";
-
-    String ARTIFACT_ID = "artifactId";
-
-    String ARCHETYPE_FILTERED_EXTENSIONS = "archetype.filteredExtensions";
-    
-    String ARCHETYPE_LANGUAGES = "archetype.languages";
-
-    List DEFAULT_FILTERED_EXTENSIONS =
-        Arrays.asList(
-            new String[]
-                {
-                    "java", "xml", "txt", "groovy", "cs", "mdo", "aj", "jsp", "gsp", "vm", "html",
-                    "xhtml", "properties", ".classpath", ".project"
-                }
-        );
-
-    List DEFAULT_LANGUAGES =
-        Arrays.asList( new String[]{"java", "groovy", "csharp", "aspectj"} );
-
-    String GROUP_ID = "groupId";
-
-    String MAIN = "main";
-
-    String OLD_ARCHETYPE_DESCRIPTOR = "META-INF/maven/archetype.xml";
-
-    String OLDER_ARCHETYPE_DESCRIPTOR = "META-INF/archetype.xml";
-
-    String PACKAGE = "package";
-
-    /*String PACKAGE_NAME = "packageName";*/
-
-    String PACKAGE_IN_PATH_FORMAT = "packageInPathFormat";
-
-    String PARENT_ARTIFACT_ID = "parentArtifactId";
-
-    String POM_PATH = Constants.ARCHETYPE_RESOURCES + "/" + Constants.ARCHETYPE_POM;
-
-    String RESOURCES = "resources";
-
-    String SITE = "site";
-
-    String SRC = "src";
-
-    String TEST = "test";
-
-    String TMP = ".tmp";
-
-    String VERSION = "version";
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.maven.archetype.common;
+
+import java.util.Arrays;
+import java.util.List;
+
+public interface Constants
+{
+    String ARCHETYPE_ARTIFACT_ID = "archetype.artifactId";
+
+    String ARCHETYPE_GROUP_ID = "archetype.groupId";
+
+    String ARCHETYPE_VERSION = "archetype.version";
+
+    String ARCHETYPE_REPOSITORY = "archetype.repository";
+
+    String ARCHETYPE_DESCRIPTOR = "META-INF/maven/archetype-metadata.xml";
+
+    String ARCHETYPE_POST_GENERATION_GOALS = "archetype.goals";
+
+    String ARCHETYPE_POM = "pom.xml";
+
+    String ARCHETYPE_RESOURCES = "archetype-resources";
+
+    String ARCHETYPE_SUFFIX = "-archetype";
+
+    String ARTIFACT_ID = "artifactId";
+
+    String ARCHETYPE_FILTERED_EXTENSIONS = "archetype.filteredExtensions";
+    
+    String ARCHETYPE_LANGUAGES = "archetype.languages";
+
+    List DEFAULT_FILTERED_EXTENSIONS =
+        Arrays.asList(
+            new String[]
+                {
+                    "java", "xml", "txt", "groovy", "cs", "mdo", "aj", "jsp", "gsp", "vm", "html",
+                    "xhtml", "properties", ".classpath", ".project"
+                }
+        );
+
+    List DEFAULT_LANGUAGES =
+        Arrays.asList( new String[]{"java", "groovy", "csharp", "aspectj"} );
+
+    String GROUP_ID = "groupId";
+
+    String MAIN = "main";
+
+    String OLD_ARCHETYPE_DESCRIPTOR = "META-INF/maven/archetype.xml";
+
+    String OLDER_ARCHETYPE_DESCRIPTOR = "META-INF/archetype.xml";
+
+    String PACKAGE = "package";
+
+    /*String PACKAGE_NAME = "packageName";*/
+
+    String PACKAGE_IN_PATH_FORMAT = "packageInPathFormat";
+
+    String PARENT_ARTIFACT_ID = "parentArtifactId";
+
+    String POM_PATH = Constants.ARCHETYPE_RESOURCES + "/" + Constants.ARCHETYPE_POM;
+
+    String RESOURCES = "resources";
+
+    String SITE = "site";
+
+    String SRC = "src";
+
+    String TEST = "test";
+
+    String TMP = ".tmp";
+
+    String VERSION = "version";
+}

Propchange: maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/Constants.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeArtifactManager.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeFilesResolver.java
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeFilesResolver.java?rev=833728&r1=833727&r2=833728&view=diff
==============================================================================
--- maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeFilesResolver.java (original)
+++ maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeFilesResolver.java Sat Nov  7 18:28:39 2009
@@ -1,482 +1,482 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.maven.archetype.common;
-
-import org.apache.maven.archetype.common.util.ListScanner;
-import org.apache.maven.archetype.common.util.PathUtils;
-import org.apache.maven.archetype.metadata.FileSet;
-import org.codehaus.plexus.logging.AbstractLogEnabled;
-import org.codehaus.plexus.util.FileUtils;
-import org.codehaus.plexus.util.StringUtils;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-/** @plexus.component */
-public class DefaultArchetypeFilesResolver
-    extends AbstractLogEnabled
-    implements ArchetypeFilesResolver
-{
-    public List getFilesWithExtension( List files,
-                                       String extension )
-    {
-        ListScanner scanner = new ListScanner();
-        scanner.setBasedir( "" );
-
-        scanner.setIncludes( "**/*." + extension );
-        scanner.setExcludes( "" );
-
-        return scanner.scan( files );
-    }
-
-    public List getFilteredFiles( List files,
-                                  String filtered )
-    {
-        ListScanner scanner = new ListScanner();
-        scanner.setBasedir( "" );
-
-        scanner.setIncludes( filtered );
-        scanner.setExcludes( "" );
-
-        List result = scanner.scan( files );
-        getLogger().debug(
-            "Scanned " + result.size() + " filtered files in " + files.size() + " files"
-        );
-
-        return result;
-    }
-
-    public List filterFiles( String moduleOffset,
-                             FileSet fileSet,
-                             List archetypeResources )
-    {
-        ListScanner scanner = new ListScanner();
-        scanner.setBasedir(
-            ( StringUtils.isEmpty( moduleOffset ) ? "" : ( moduleOffset + File.separatorChar ) )
-                + fileSet.getDirectory()
-        );
-        scanner.setIncludes( fileSet.getIncludes() );
-        scanner.setExcludes( fileSet.getExcludes() );
-        scanner.setCaseSensitive( true );
-
-        return scanner.scan( archetypeResources );
-    }
-
-    public List findOtherResources( int level,
-                                    List files,
-                                    String languages )
-    {
-        ListScanner scanner = new ListScanner();
-
-        scanner.setBasedir( "" );
-
-        String includes = "";
-        for ( int i = 0; i < level; i++ )
-        {
-            includes += "*/";
-        }
-
-        scanner.setIncludes( includes + "**" );
-        scanner.setExcludes( languages );
-
-        List result = scanner.scan( files );
-        getLogger().debug(
-            "Scanned " + result.size() + " other resources in " + files.size()
-                + " files at level " + level
-        );
-
-        return result;
-    }
-
-    public List findOtherResources( int level,
-                                    List files,
-                                    List sourcesFiles,
-                                    String languages )
-    {
-        ListScanner scanner = new ListScanner();
-
-        scanner.setBasedir( "" );
-
-        Set selectedDirectories = new HashSet();
-
-        List includes = new ArrayList();
-
-        Iterator sourcesFilesIterator = sourcesFiles.iterator();
-        while ( sourcesFilesIterator.hasNext() )
-        {
-            String sourcesFile = (String) sourcesFilesIterator.next();
-
-            String directory = PathUtils.getDirectory( sourcesFile, level - 1 );
-            if ( !selectedDirectories.contains( directory ) )
-            {
-                includes.add( directory + "/**" );
-            }
-
-            selectedDirectories.add( directory );
-        }
-
-        scanner.setExcludes( languages );
-
-        List result = scanner.scan( files );
-        getLogger().debug(
-            "Scanned " + result.size() + " other resources in " + files.size()
-                + " files at level " + level
-        );
-
-        return result;
-    }
-
-    public List findOtherSources( int level,
-                                  List files,
-                                  String languages )
-    {
-        ListScanner scanner = new ListScanner();
-        scanner.setBasedir( "" );
-
-        String levelDirectory = "";
-        for ( int i = 0; i < ( level - 1 ); i++ )
-        {
-            levelDirectory += "*/";
-        }
-
-        String includes = "";
-        String[] languagesAsArray = StringUtils.split( languages );
-        for ( int i = 0; i < languagesAsArray.length; i++ )
-        {
-            includes += levelDirectory + languagesAsArray[i];
-        }
-
-        scanner.setIncludes( includes );
-
-        List result = scanner.scan( files );
-        getLogger().debug(
-            "Scanned " + result.size() + " other sources in " + files.size() + " files at level "
-                + level
-        );
-
-        return result;
-    }
-
-    public List findResourcesMainFiles( List files,
-                                        String languages )
-    {
-        ListScanner scanner = new ListScanner();
-        scanner.setBasedir( "src/main" );
-
-        scanner.setIncludes( "**" );
-        scanner.setExcludes( languages );
-
-        List result = scanner.scan( files );
-        getLogger().debug(
-            "Scanned " + result.size() + " resources in " + files.size() + " files"
-        );
-
-        return result;
-    }
-
-    public List findResourcesTestFiles( List files,
-                                        String languages )
-    {
-        ListScanner scanner = new ListScanner();
-        scanner.setBasedir( "src/test" );
-
-        scanner.setIncludes( "**" );
-        scanner.setExcludes( languages );
-
-        List result = scanner.scan( files );
-        getLogger().debug(
-            "Scanned " + result.size() + " test resources in " + files.size() + " files"
-        );
-
-        return result;
-    }
-
-    public List findSiteFiles( List files,
-                               String languages )
-    {
-        ListScanner scanner = new ListScanner();
-        scanner.setBasedir( "src/site" );
-
-        scanner.setIncludes( "**" );
-        scanner.setExcludes( languages );
-
-        List result = scanner.scan( files );
-        getLogger().debug(
-            "Scanned " + result.size() + " site resources in " + files.size() + " files"
-        );
-
-        return result;
-    }
-
-    public List findSourcesMainFiles( List files,
-                                      String languages )
-    {
-        ListScanner scanner = new ListScanner();
-        scanner.setBasedir( "src/main" );
-
-        scanner.setIncludes( languages );
-
-        List result = scanner.scan( files );
-        getLogger().debug(
-            "Scanned " + result.size() + " sources in " + files.size() + " files"
-        );
-
-        return result;
-    }
-
-    public List findSourcesTestFiles( List files,
-                                      String languages )
-    {
-        ListScanner scanner = new ListScanner();
-        scanner.setBasedir( "src/test" );
-
-        scanner.setIncludes( languages );
-
-        List result = scanner.scan( files );
-        getLogger().debug(
-            "Scanned " + result.size() + " test sources in " + files.size() + " files"
-        );
-
-        return result;
-    }
-
-    public List getPackagedFiles( List files,
-                                  String packageName )
-    {
-        List packagedFiles = new ArrayList();
-        Iterator filesIterator = files.iterator();
-        while ( filesIterator.hasNext() )
-        {
-            String file = (String) filesIterator.next();
-
-            if ( file.startsWith( packageName ) )
-            {
-                packagedFiles.add( file.substring( packageName.length() + 1 ) );
-            }
-        }
-        getLogger().debug(
-            "Scanned " + packagedFiles.size() + " packaged files in " + files.size() + " files"
-        );
-        return packagedFiles;
-    }
-
-    public String resolvePackage( File basedir,
-                                  List languages )
-        throws
-        IOException
-    {
-        getLogger().debug( "Resolving package in " + basedir + " using languages " + languages );
-
-        List files = resolveFiles( basedir, languages );
-
-        return resolvePackage( files );
-    }
-
-//    public List getUnfilteredFiles( List files,
-//                                    String filtered )
-//    {
-//        ListScanner scanner = new ListScanner();
-//        scanner.setBasedir( "" );
-//
-//        scanner.setIncludes( "**" );
-//        scanner.setExcludes( filtered );
-//
-//        List result = scanner.scan( files );
-//        getLogger().debug(
-//            "Scanned " + result.size() + " unfiltered files in " + files.size() + " files"
-//        );
-//
-//        return result;
-//    }
-
-    public List getUnpackagedFiles( List files,
-                                    String packageName )
-    {
-        List unpackagedFiles = new ArrayList();
-        Iterator filesIterator = files.iterator();
-        while ( filesIterator.hasNext() )
-        {
-            String file = (String) filesIterator.next();
-
-            if ( !file.startsWith( packageName ) )
-            {
-                unpackagedFiles.add( file );
-            }
-        }
-        getLogger().debug(
-            "Scanned " + unpackagedFiles.size() + " unpackaged files in " + files.size()
-                + " files"
-        );
-        return unpackagedFiles;
-    }
-
-    private String getCommonPackage( String packageName,
-                                     String templatePackage )
-    {
-        String common = "";
-
-        String difference = StringUtils.difference( packageName, templatePackage );
-        if ( StringUtils.isNotEmpty( difference ) )
-        {
-            String temporaryCommon =
-                StringUtils.substring(
-                    templatePackage,
-                    0,
-                    templatePackage.lastIndexOf( difference )
-                );
-            if ( !difference.startsWith( "." ) )
-            {
-                common =
-                    StringUtils.substring(
-                        temporaryCommon,
-                        0,
-                        temporaryCommon.lastIndexOf( "." )
-                    );
-            }
-            else
-            {
-                common = temporaryCommon;
-            }
-        }
-        else
-        {
-            common = packageName;
-        }
-
-        return common;
-    }
-
-    private List resolveFiles( File basedir,
-                               List languages )
-        throws
-        IOException
-    {
-        String[] languagesArray = (String[]) languages.toArray( new String[languages.size()] );
-        String[] languagesPathesArray = new String[languagesArray.length];
-        for ( int i = 0; i < languagesArray.length; i++ )
-        {
-            languagesPathesArray[i] = "**/src/**/" + languagesArray[i] + "/**";
-        }
-
-        String excludes = "target";
-        Iterator defaultExcludes = Arrays.asList( ListScanner.DEFAULTEXCLUDES ).iterator();
-        while ( defaultExcludes.hasNext() )
-        {
-            excludes += "," + (String) defaultExcludes.next() + "/**";
-        }
-
-        List absoluteFiles =
-            FileUtils.getFiles(
-                basedir,
-                StringUtils.join( languagesPathesArray, "," ),
-                excludes
-            );
-
-        getLogger().debug( "Found " + absoluteFiles.size() + " potential archetype files" );
-
-        List files = new ArrayList( absoluteFiles.size() );
-
-        Iterator filesIterator = absoluteFiles.iterator();
-        while ( filesIterator.hasNext() )
-        {
-            File file = (File) filesIterator.next();
-            String filePath =
-                StringUtils.prechomp(
-                    file.getAbsolutePath(),
-                    basedir.getAbsolutePath() + File.separator
-                );
-
-            String minusSrc = StringUtils.prechomp( filePath, "src" + File.separator );
-
-            for ( int i = 0; i < languagesArray.length; i++ )
-            {
-                String language = languagesArray[i];
-
-                if ( StringUtils.countMatches(
-                    minusSrc,
-                    File.separator + language + File.separator
-                )
-                    > 0
-                    )
-                {
-                    String minusLanguage =
-                        StringUtils.prechomp( minusSrc, language + File.separator );
-
-                    files.add( toUnixPath( minusLanguage ) );
-                }
-            }
-        }
-
-        getLogger().debug(
-            "Found " + files.size() + " archetype files for package resolution "
-        );
-
-        return files;
-    }
-
-    private String resolvePackage( List files )
-    {
-        String packageName = null;
-        Iterator minusLanguageIterator = files.iterator();
-        while ( minusLanguageIterator.hasNext() )
-        {
-            String minusLanguage = (String) minusLanguageIterator.next();
-
-            String filePackage;
-            if ( minusLanguage.indexOf( "/" ) >= 0 )
-            {
-                filePackage =
-                    StringUtils.replace(
-                        minusLanguage.substring( 0, minusLanguage.lastIndexOf( "/" ) ),
-                        "/",
-                        "."
-                    );
-            }
-            else
-            {
-                filePackage = "";
-            }
-
-            if ( packageName == null )
-            {
-                packageName = filePackage;
-            }
-            else
-            {
-                packageName = getCommonPackage( packageName, filePackage );
-            }
-        }
-
-        getLogger().debug( "Package resolved to " + packageName );
-
-        return packageName;
-    }
-
-    private String toUnixPath( String path )
-    {
-        return path.replace( File.separatorChar, '/' );
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.maven.archetype.common;
+
+import org.apache.maven.archetype.common.util.ListScanner;
+import org.apache.maven.archetype.common.util.PathUtils;
+import org.apache.maven.archetype.metadata.FileSet;
+import org.codehaus.plexus.logging.AbstractLogEnabled;
+import org.codehaus.plexus.util.FileUtils;
+import org.codehaus.plexus.util.StringUtils;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+/** @plexus.component */
+public class DefaultArchetypeFilesResolver
+    extends AbstractLogEnabled
+    implements ArchetypeFilesResolver
+{
+    public List getFilesWithExtension( List files,
+                                       String extension )
+    {
+        ListScanner scanner = new ListScanner();
+        scanner.setBasedir( "" );
+
+        scanner.setIncludes( "**/*." + extension );
+        scanner.setExcludes( "" );
+
+        return scanner.scan( files );
+    }
+
+    public List getFilteredFiles( List files,
+                                  String filtered )
+    {
+        ListScanner scanner = new ListScanner();
+        scanner.setBasedir( "" );
+
+        scanner.setIncludes( filtered );
+        scanner.setExcludes( "" );
+
+        List result = scanner.scan( files );
+        getLogger().debug(
+            "Scanned " + result.size() + " filtered files in " + files.size() + " files"
+        );
+
+        return result;
+    }
+
+    public List filterFiles( String moduleOffset,
+                             FileSet fileSet,
+                             List archetypeResources )
+    {
+        ListScanner scanner = new ListScanner();
+        scanner.setBasedir(
+            ( StringUtils.isEmpty( moduleOffset ) ? "" : ( moduleOffset + File.separatorChar ) )
+                + fileSet.getDirectory()
+        );
+        scanner.setIncludes( fileSet.getIncludes() );
+        scanner.setExcludes( fileSet.getExcludes() );
+        scanner.setCaseSensitive( true );
+
+        return scanner.scan( archetypeResources );
+    }
+
+    public List findOtherResources( int level,
+                                    List files,
+                                    String languages )
+    {
+        ListScanner scanner = new ListScanner();
+
+        scanner.setBasedir( "" );
+
+        String includes = "";
+        for ( int i = 0; i < level; i++ )
+        {
+            includes += "*/";
+        }
+
+        scanner.setIncludes( includes + "**" );
+        scanner.setExcludes( languages );
+
+        List result = scanner.scan( files );
+        getLogger().debug(
+            "Scanned " + result.size() + " other resources in " + files.size()
+                + " files at level " + level
+        );
+
+        return result;
+    }
+
+    public List findOtherResources( int level,
+                                    List files,
+                                    List sourcesFiles,
+                                    String languages )
+    {
+        ListScanner scanner = new ListScanner();
+
+        scanner.setBasedir( "" );
+
+        Set selectedDirectories = new HashSet();
+
+        List includes = new ArrayList();
+
+        Iterator sourcesFilesIterator = sourcesFiles.iterator();
+        while ( sourcesFilesIterator.hasNext() )
+        {
+            String sourcesFile = (String) sourcesFilesIterator.next();
+
+            String directory = PathUtils.getDirectory( sourcesFile, level - 1 );
+            if ( !selectedDirectories.contains( directory ) )
+            {
+                includes.add( directory + "/**" );
+            }
+
+            selectedDirectories.add( directory );
+        }
+
+        scanner.setExcludes( languages );
+
+        List result = scanner.scan( files );
+        getLogger().debug(
+            "Scanned " + result.size() + " other resources in " + files.size()
+                + " files at level " + level
+        );
+
+        return result;
+    }
+
+    public List findOtherSources( int level,
+                                  List files,
+                                  String languages )
+    {
+        ListScanner scanner = new ListScanner();
+        scanner.setBasedir( "" );
+
+        String levelDirectory = "";
+        for ( int i = 0; i < ( level - 1 ); i++ )
+        {
+            levelDirectory += "*/";
+        }
+
+        String includes = "";
+        String[] languagesAsArray = StringUtils.split( languages );
+        for ( int i = 0; i < languagesAsArray.length; i++ )
+        {
+            includes += levelDirectory + languagesAsArray[i];
+        }
+
+        scanner.setIncludes( includes );
+
+        List result = scanner.scan( files );
+        getLogger().debug(
+            "Scanned " + result.size() + " other sources in " + files.size() + " files at level "
+                + level
+        );
+
+        return result;
+    }
+
+    public List findResourcesMainFiles( List files,
+                                        String languages )
+    {
+        ListScanner scanner = new ListScanner();
+        scanner.setBasedir( "src/main" );
+
+        scanner.setIncludes( "**" );
+        scanner.setExcludes( languages );
+
+        List result = scanner.scan( files );
+        getLogger().debug(
+            "Scanned " + result.size() + " resources in " + files.size() + " files"
+        );
+
+        return result;
+    }
+
+    public List findResourcesTestFiles( List files,
+                                        String languages )
+    {
+        ListScanner scanner = new ListScanner();
+        scanner.setBasedir( "src/test" );
+
+        scanner.setIncludes( "**" );
+        scanner.setExcludes( languages );
+
+        List result = scanner.scan( files );
+        getLogger().debug(
+            "Scanned " + result.size() + " test resources in " + files.size() + " files"
+        );
+
+        return result;
+    }
+
+    public List findSiteFiles( List files,
+                               String languages )
+    {
+        ListScanner scanner = new ListScanner();
+        scanner.setBasedir( "src/site" );
+
+        scanner.setIncludes( "**" );
+        scanner.setExcludes( languages );
+
+        List result = scanner.scan( files );
+        getLogger().debug(
+            "Scanned " + result.size() + " site resources in " + files.size() + " files"
+        );
+
+        return result;
+    }
+
+    public List findSourcesMainFiles( List files,
+                                      String languages )
+    {
+        ListScanner scanner = new ListScanner();
+        scanner.setBasedir( "src/main" );
+
+        scanner.setIncludes( languages );
+
+        List result = scanner.scan( files );
+        getLogger().debug(
+            "Scanned " + result.size() + " sources in " + files.size() + " files"
+        );
+
+        return result;
+    }
+
+    public List findSourcesTestFiles( List files,
+                                      String languages )
+    {
+        ListScanner scanner = new ListScanner();
+        scanner.setBasedir( "src/test" );
+
+        scanner.setIncludes( languages );
+
+        List result = scanner.scan( files );
+        getLogger().debug(
+            "Scanned " + result.size() + " test sources in " + files.size() + " files"
+        );
+
+        return result;
+    }
+
+    public List getPackagedFiles( List files,
+                                  String packageName )
+    {
+        List packagedFiles = new ArrayList();
+        Iterator filesIterator = files.iterator();
+        while ( filesIterator.hasNext() )
+        {
+            String file = (String) filesIterator.next();
+
+            if ( file.startsWith( packageName ) )
+            {
+                packagedFiles.add( file.substring( packageName.length() + 1 ) );
+            }
+        }
+        getLogger().debug(
+            "Scanned " + packagedFiles.size() + " packaged files in " + files.size() + " files"
+        );
+        return packagedFiles;
+    }
+
+    public String resolvePackage( File basedir,
+                                  List languages )
+        throws
+        IOException
+    {
+        getLogger().debug( "Resolving package in " + basedir + " using languages " + languages );
+
+        List files = resolveFiles( basedir, languages );
+
+        return resolvePackage( files );
+    }
+
+//    public List getUnfilteredFiles( List files,
+//                                    String filtered )
+//    {
+//        ListScanner scanner = new ListScanner();
+//        scanner.setBasedir( "" );
+//
+//        scanner.setIncludes( "**" );
+//        scanner.setExcludes( filtered );
+//
+//        List result = scanner.scan( files );
+//        getLogger().debug(
+//            "Scanned " + result.size() + " unfiltered files in " + files.size() + " files"
+//        );
+//
+//        return result;
+//    }
+
+    public List getUnpackagedFiles( List files,
+                                    String packageName )
+    {
+        List unpackagedFiles = new ArrayList();
+        Iterator filesIterator = files.iterator();
+        while ( filesIterator.hasNext() )
+        {
+            String file = (String) filesIterator.next();
+
+            if ( !file.startsWith( packageName ) )
+            {
+                unpackagedFiles.add( file );
+            }
+        }
+        getLogger().debug(
+            "Scanned " + unpackagedFiles.size() + " unpackaged files in " + files.size()
+                + " files"
+        );
+        return unpackagedFiles;
+    }
+
+    private String getCommonPackage( String packageName,
+                                     String templatePackage )
+    {
+        String common = "";
+
+        String difference = StringUtils.difference( packageName, templatePackage );
+        if ( StringUtils.isNotEmpty( difference ) )
+        {
+            String temporaryCommon =
+                StringUtils.substring(
+                    templatePackage,
+                    0,
+                    templatePackage.lastIndexOf( difference )
+                );
+            if ( !difference.startsWith( "." ) )
+            {
+                common =
+                    StringUtils.substring(
+                        temporaryCommon,
+                        0,
+                        temporaryCommon.lastIndexOf( "." )
+                    );
+            }
+            else
+            {
+                common = temporaryCommon;
+            }
+        }
+        else
+        {
+            common = packageName;
+        }
+
+        return common;
+    }
+
+    private List resolveFiles( File basedir,
+                               List languages )
+        throws
+        IOException
+    {
+        String[] languagesArray = (String[]) languages.toArray( new String[languages.size()] );
+        String[] languagesPathesArray = new String[languagesArray.length];
+        for ( int i = 0; i < languagesArray.length; i++ )
+        {
+            languagesPathesArray[i] = "**/src/**/" + languagesArray[i] + "/**";
+        }
+
+        String excludes = "target";
+        Iterator defaultExcludes = Arrays.asList( ListScanner.DEFAULTEXCLUDES ).iterator();
+        while ( defaultExcludes.hasNext() )
+        {
+            excludes += "," + (String) defaultExcludes.next() + "/**";
+        }
+
+        List absoluteFiles =
+            FileUtils.getFiles(
+                basedir,
+                StringUtils.join( languagesPathesArray, "," ),
+                excludes
+            );
+
+        getLogger().debug( "Found " + absoluteFiles.size() + " potential archetype files" );
+
+        List files = new ArrayList( absoluteFiles.size() );
+
+        Iterator filesIterator = absoluteFiles.iterator();
+        while ( filesIterator.hasNext() )
+        {
+            File file = (File) filesIterator.next();
+            String filePath =
+                StringUtils.prechomp(
+                    file.getAbsolutePath(),
+                    basedir.getAbsolutePath() + File.separator
+                );
+
+            String minusSrc = StringUtils.prechomp( filePath, "src" + File.separator );
+
+            for ( int i = 0; i < languagesArray.length; i++ )
+            {
+                String language = languagesArray[i];
+
+                if ( StringUtils.countMatches(
+                    minusSrc,
+                    File.separator + language + File.separator
+                )
+                    > 0
+                    )
+                {
+                    String minusLanguage =
+                        StringUtils.prechomp( minusSrc, language + File.separator );
+
+                    files.add( toUnixPath( minusLanguage ) );
+                }
+            }
+        }
+
+        getLogger().debug(
+            "Found " + files.size() + " archetype files for package resolution "
+        );
+
+        return files;
+    }
+
+    private String resolvePackage( List files )
+    {
+        String packageName = null;
+        Iterator minusLanguageIterator = files.iterator();
+        while ( minusLanguageIterator.hasNext() )
+        {
+            String minusLanguage = (String) minusLanguageIterator.next();
+
+            String filePackage;
+            if ( minusLanguage.indexOf( "/" ) >= 0 )
+            {
+                filePackage =
+                    StringUtils.replace(
+                        minusLanguage.substring( 0, minusLanguage.lastIndexOf( "/" ) ),
+                        "/",
+                        "."
+                    );
+            }
+            else
+            {
+                filePackage = "";
+            }
+
+            if ( packageName == null )
+            {
+                packageName = filePackage;
+            }
+            else
+            {
+                packageName = getCommonPackage( packageName, filePackage );
+            }
+        }
+
+        getLogger().debug( "Package resolved to " + packageName );
+
+        return packageName;
+    }
+
+    private String toUnixPath( String path )
+    {
+        return path.replace( File.separatorChar, '/' );
+    }
+}

Propchange: maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeFilesResolver.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeRegistryManager.java
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeRegistryManager.java?rev=833728&r1=833727&r2=833728&view=diff
==============================================================================
--- maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeRegistryManager.java (original)
+++ maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeRegistryManager.java Sat Nov  7 18:28:39 2009
@@ -1,232 +1,232 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.maven.archetype.common;
-
-import org.apache.maven.archetype.registry.ArchetypeRegistry;
-import org.apache.maven.archetype.registry.io.xpp3.ArchetypeRegistryXpp3Reader;
-import org.apache.maven.archetype.registry.io.xpp3.ArchetypeRegistryXpp3Writer;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
-import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
-import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
-import org.codehaus.plexus.logging.AbstractLogEnabled;
-import org.codehaus.plexus.util.IOUtil;
-import org.codehaus.plexus.util.StringUtils;
-import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
-
-import java.io.File;
-import java.io.FileReader;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.Reader;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-/** @plexus.component */
-public class DefaultArchetypeRegistryManager
-    extends AbstractLogEnabled
-    implements ArchetypeRegistryManager
-{
-//    private static File DEFAULT_REGISTRY = new File( System.getProperty( "user.home" ), ".m2/archetype.xml" );
-
-    /**
-     * Used to create ArtifactRepository objects given the urls of the remote repositories.
-     *
-     * @plexus.requirement
-     */
-    private ArtifactRepositoryFactory artifactRepositoryFactory;
-
-    /**
-     * Determines whether the layout is legacy or not.
-     *
-     * @plexus.requirement roleHint="default"
-     */
-    private ArtifactRepositoryLayout defaultArtifactRepositoryLayout;
-
-    public List getFilteredExtensions(
-        String archetypeFilteredExtentions,
-        File archetypeRegistryFile
-    )
-        throws
-        IOException
-    {
-        List filteredExtensions = new ArrayList();
-
-        if ( StringUtils.isNotEmpty( archetypeFilteredExtentions ) )
-        {
-            filteredExtensions.addAll(
-                Arrays.asList( StringUtils.split( archetypeFilteredExtentions, "," ) )
-            );
-        }
-
-        try
-        {
-            ArchetypeRegistry registry = readArchetypeRegistry( archetypeRegistryFile );
-
-            filteredExtensions.addAll( registry.getFilteredExtensions() );
-        }
-        catch ( IOException e )
-        {
-            getLogger().warn( "Can not read ~/m2/archetype.xml" );
-        }
-        catch ( XmlPullParserException e )
-        {
-            getLogger().warn( "Can not read ~/m2/archetype.xml" );
-        }
-
-        if ( filteredExtensions.isEmpty() )
-        {
-            filteredExtensions.addAll( Constants.DEFAULT_FILTERED_EXTENSIONS );
-        }
-
-        return filteredExtensions;
-    }
-
-    public List getLanguages( String archetypeLanguages,
-                              File archetypeRegistryFile )
-        throws
-        IOException
-    {
-        List languages = new ArrayList();
-
-        if ( StringUtils.isNotEmpty( archetypeLanguages ) )
-        {
-            languages.addAll( Arrays.asList( StringUtils.split( archetypeLanguages, "," ) ) );
-        }
-
-        try
-        {
-            ArchetypeRegistry registry = readArchetypeRegistry( archetypeRegistryFile );
-
-            languages.addAll( registry.getLanguages() );
-        }
-        catch ( IOException e )
-        {
-            getLogger().warn( "Can not read ~/m2/archetype.xml" );
-        }
-        catch ( XmlPullParserException e )
-        {
-            getLogger().warn( "Can not read ~/m2/archetype.xml" );
-        }
-
-        if ( languages.isEmpty() )
-        {
-            languages.addAll( Constants.DEFAULT_LANGUAGES );
-        }
-
-        return languages;
-    }
-
-    public ArchetypeRegistry readArchetypeRegistry( File archetypeRegistryFile )
-        throws
-        IOException,
-        XmlPullParserException
-    {
-        if ( !archetypeRegistryFile.exists() )
-        {
-            return getDefaultArchetypeRegistry();
-        }
-        else
-        {
-            return readArchetypeRegistry( new FileReader( archetypeRegistryFile ) );
-        }
-    }
-
-    public ArchetypeRegistry readArchetypeRegistry( Reader reader )
-        throws
-        IOException,
-        XmlPullParserException
-    {
-        ArchetypeRegistryXpp3Reader xpp3Reader = new ArchetypeRegistryXpp3Reader();
-
-        try
-        {
-            return xpp3Reader.read( reader );
-        }
-        finally
-        {
-            IOUtil.close( reader );
-        }
-    }
-
-    public void writeArchetypeRegistry(
-        File archetypeRegistryFile,
-        ArchetypeRegistry archetypeRegistry
-    )
-        throws
-        IOException
-    {
-        ArchetypeRegistryXpp3Writer writer = new ArchetypeRegistryXpp3Writer();
-        FileWriter fileWriter = new FileWriter( archetypeRegistryFile );
-
-        try
-        {
-            writer.write( fileWriter, archetypeRegistry );
-        }
-        finally
-        {
-            IOUtil.close( fileWriter );
-        }
-    }
-
-    /**
-     * Code stealed from MavenArchetypeMojo
-     * (org.apache.maven.plugins:maven-archetype-plugin:1.0-alpha4).
-     */
-    public ArtifactRepository createRepository( String url,
-                                                String repositoryId )
-    {
-        // snapshots vs releases
-        // offline = to turning the update policy off
-
-        // TODO: we'll need to allow finer grained creation of repositories but this will do for now
-
-        String updatePolicyFlag = ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS;
-
-        String checksumPolicyFlag = ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN;
-
-        ArtifactRepositoryPolicy snapshotsPolicy =
-            new ArtifactRepositoryPolicy( true, updatePolicyFlag, checksumPolicyFlag );
-
-        ArtifactRepositoryPolicy releasesPolicy =
-            new ArtifactRepositoryPolicy( true, updatePolicyFlag, checksumPolicyFlag );
-
-        return
-            artifactRepositoryFactory.createArtifactRepository(
-                repositoryId,
-                url,
-                defaultArtifactRepositoryLayout,
-                snapshotsPolicy,
-                releasesPolicy
-            );
-    }
-
-    public ArchetypeRegistry getDefaultArchetypeRegistry()
-    {
-        ArchetypeRegistry registry = new ArchetypeRegistry();
-
-        registry.getLanguages().addAll( Constants.DEFAULT_LANGUAGES );
-
-        registry.getFilteredExtensions().addAll( Constants.DEFAULT_FILTERED_EXTENSIONS );
-
-        return registry;
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.maven.archetype.common;
+
+import org.apache.maven.archetype.registry.ArchetypeRegistry;
+import org.apache.maven.archetype.registry.io.xpp3.ArchetypeRegistryXpp3Reader;
+import org.apache.maven.archetype.registry.io.xpp3.ArchetypeRegistryXpp3Writer;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
+import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
+import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
+import org.codehaus.plexus.logging.AbstractLogEnabled;
+import org.codehaus.plexus.util.IOUtil;
+import org.codehaus.plexus.util.StringUtils;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+
+import java.io.File;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.Reader;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/** @plexus.component */
+public class DefaultArchetypeRegistryManager
+    extends AbstractLogEnabled
+    implements ArchetypeRegistryManager
+{
+//    private static File DEFAULT_REGISTRY = new File( System.getProperty( "user.home" ), ".m2/archetype.xml" );
+
+    /**
+     * Used to create ArtifactRepository objects given the urls of the remote repositories.
+     *
+     * @plexus.requirement
+     */
+    private ArtifactRepositoryFactory artifactRepositoryFactory;
+
+    /**
+     * Determines whether the layout is legacy or not.
+     *
+     * @plexus.requirement roleHint="default"
+     */
+    private ArtifactRepositoryLayout defaultArtifactRepositoryLayout;
+
+    public List getFilteredExtensions(
+        String archetypeFilteredExtentions,
+        File archetypeRegistryFile
+    )
+        throws
+        IOException
+    {
+        List filteredExtensions = new ArrayList();
+
+        if ( StringUtils.isNotEmpty( archetypeFilteredExtentions ) )
+        {
+            filteredExtensions.addAll(
+                Arrays.asList( StringUtils.split( archetypeFilteredExtentions, "," ) )
+            );
+        }
+
+        try
+        {
+            ArchetypeRegistry registry = readArchetypeRegistry( archetypeRegistryFile );
+
+            filteredExtensions.addAll( registry.getFilteredExtensions() );
+        }
+        catch ( IOException e )
+        {
+            getLogger().warn( "Can not read ~/m2/archetype.xml" );
+        }
+        catch ( XmlPullParserException e )
+        {
+            getLogger().warn( "Can not read ~/m2/archetype.xml" );
+        }
+
+        if ( filteredExtensions.isEmpty() )
+        {
+            filteredExtensions.addAll( Constants.DEFAULT_FILTERED_EXTENSIONS );
+        }
+
+        return filteredExtensions;
+    }
+
+    public List getLanguages( String archetypeLanguages,
+                              File archetypeRegistryFile )
+        throws
+        IOException
+    {
+        List languages = new ArrayList();
+
+        if ( StringUtils.isNotEmpty( archetypeLanguages ) )
+        {
+            languages.addAll( Arrays.asList( StringUtils.split( archetypeLanguages, "," ) ) );
+        }
+
+        try
+        {
+            ArchetypeRegistry registry = readArchetypeRegistry( archetypeRegistryFile );
+
+            languages.addAll( registry.getLanguages() );
+        }
+        catch ( IOException e )
+        {
+            getLogger().warn( "Can not read ~/m2/archetype.xml" );
+        }
+        catch ( XmlPullParserException e )
+        {
+            getLogger().warn( "Can not read ~/m2/archetype.xml" );
+        }
+
+        if ( languages.isEmpty() )
+        {
+            languages.addAll( Constants.DEFAULT_LANGUAGES );
+        }
+
+        return languages;
+    }
+
+    public ArchetypeRegistry readArchetypeRegistry( File archetypeRegistryFile )
+        throws
+        IOException,
+        XmlPullParserException
+    {
+        if ( !archetypeRegistryFile.exists() )
+        {
+            return getDefaultArchetypeRegistry();
+        }
+        else
+        {
+            return readArchetypeRegistry( new FileReader( archetypeRegistryFile ) );
+        }
+    }
+
+    public ArchetypeRegistry readArchetypeRegistry( Reader reader )
+        throws
+        IOException,
+        XmlPullParserException
+    {
+        ArchetypeRegistryXpp3Reader xpp3Reader = new ArchetypeRegistryXpp3Reader();
+
+        try
+        {
+            return xpp3Reader.read( reader );
+        }
+        finally
+        {
+            IOUtil.close( reader );
+        }
+    }
+
+    public void writeArchetypeRegistry(
+        File archetypeRegistryFile,
+        ArchetypeRegistry archetypeRegistry
+    )
+        throws
+        IOException
+    {
+        ArchetypeRegistryXpp3Writer writer = new ArchetypeRegistryXpp3Writer();
+        FileWriter fileWriter = new FileWriter( archetypeRegistryFile );
+
+        try
+        {
+            writer.write( fileWriter, archetypeRegistry );
+        }
+        finally
+        {
+            IOUtil.close( fileWriter );
+        }
+    }
+
+    /**
+     * Code stealed from MavenArchetypeMojo
+     * (org.apache.maven.plugins:maven-archetype-plugin:1.0-alpha4).
+     */
+    public ArtifactRepository createRepository( String url,
+                                                String repositoryId )
+    {
+        // snapshots vs releases
+        // offline = to turning the update policy off
+
+        // TODO: we'll need to allow finer grained creation of repositories but this will do for now
+
+        String updatePolicyFlag = ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS;
+
+        String checksumPolicyFlag = ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN;
+
+        ArtifactRepositoryPolicy snapshotsPolicy =
+            new ArtifactRepositoryPolicy( true, updatePolicyFlag, checksumPolicyFlag );
+
+        ArtifactRepositoryPolicy releasesPolicy =
+            new ArtifactRepositoryPolicy( true, updatePolicyFlag, checksumPolicyFlag );
+
+        return
+            artifactRepositoryFactory.createArtifactRepository(
+                repositoryId,
+                url,
+                defaultArtifactRepositoryLayout,
+                snapshotsPolicy,
+                releasesPolicy
+            );
+    }
+
+    public ArchetypeRegistry getDefaultArchetypeRegistry()
+    {
+        ArchetypeRegistry registry = new ArchetypeRegistry();
+
+        registry.getLanguages().addAll( Constants.DEFAULT_LANGUAGES );
+
+        registry.getFilteredExtensions().addAll( Constants.DEFAULT_FILTERED_EXTENSIONS );
+
+        return registry;
+    }
+}

Propchange: maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeRegistryManager.java
------------------------------------------------------------------------------
    svn:eol-style = native