You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ra...@apache.org on 2007/09/17 22:09:10 UTC
svn commit: r576574 - in /maven/sandbox/trunk/archetypeng:
archetype-common/src/main/java/org/apache/maven/archetype/common/
archetype-creator/
archetype-creator/src/main/java/org/apache/maven/archetype/creator/
archetype-descriptor/src/main/mdo/ arche...
Author: rafale
Date: Mon Sep 17 13:09:10 2007
New Revision: 576574
URL: http://svn.apache.org/viewvc?rev=576574&view=rev
Log:
Replacement of module directories and artifactIds
Modified:
maven/sandbox/trunk/archetypeng/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeArtifactManager.java
maven/sandbox/trunk/archetypeng/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeFactory.java
maven/sandbox/trunk/archetypeng/archetype-creator/pom.xml
maven/sandbox/trunk/archetypeng/archetype-creator/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java
maven/sandbox/trunk/archetypeng/archetype-descriptor/src/main/mdo/archetype-descriptor.mdo
maven/sandbox/trunk/archetypeng/archetype-generator/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java
maven/sandbox/trunk/archetypeng/archetype-generator/src/test/archetypes/basic-1.0/META-INF/maven/archetype-metadata.xml
maven/sandbox/trunk/archetypeng/archetype-generator/src/test/archetypes/fileset-1.0/META-INF/maven/archetype-metadata.xml
maven/sandbox/trunk/archetypeng/archetype-generator/src/test/archetypes/partial-1.0/META-INF/maven/archetype-metadata.xml
maven/sandbox/trunk/archetypeng/archetype-generator/src/test/archetypes/site-1.0/META-INF/maven/archetype-metadata.xml
Modified: maven/sandbox/trunk/archetypeng/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeArtifactManager.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeArtifactManager.java?rev=576574&r1=576573&r2=576574&view=diff
==============================================================================
--- maven/sandbox/trunk/archetypeng/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeArtifactManager.java (original)
+++ maven/sandbox/trunk/archetypeng/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeArtifactManager.java Mon Sep 17 13:09:10 2007
@@ -277,7 +277,7 @@
org.apache.maven.archetype.metadata.ArchetypeDescriptor descriptor =
loadFileSetArchetypeDescriptor ( archetypeJarLoader );
- return descriptor.getId () != null;
+ return descriptor.getName () != null;
}
catch ( XmlPullParserException e )
{
Modified: maven/sandbox/trunk/archetypeng/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeFactory.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeFactory.java?rev=576574&r1=576573&r2=576574&view=diff
==============================================================================
--- maven/sandbox/trunk/archetypeng/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeFactory.java (original)
+++ maven/sandbox/trunk/archetypeng/archetype-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeFactory.java Mon Sep 17 13:09:10 2007
@@ -169,7 +169,7 @@
);
configuration.setVersion ( properties.getProperty ( Constants.ARCHETYPE_VERSION, null ) );
- configuration.setName ( archetypeDescriptor.getId () );
+ configuration.setName ( archetypeDescriptor.getName () );
Iterator requiredProperties = archetypeDescriptor.getRequiredProperties ().iterator ();
while ( requiredProperties.hasNext () )
Modified: maven/sandbox/trunk/archetypeng/archetype-creator/pom.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetype-creator/pom.xml?rev=576574&r1=576573&r2=576574&view=diff
==============================================================================
--- maven/sandbox/trunk/archetypeng/archetype-creator/pom.xml (original)
+++ maven/sandbox/trunk/archetypeng/archetype-creator/pom.xml Mon Sep 17 13:09:10 2007
@@ -1,21 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!--
-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.
+<!--
+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.
--><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
@@ -76,6 +76,12 @@
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-collections</groupId>
+ <artifactId>commons-collections</artifactId>
+ <version>3.2</version>
+ <scope>compile</scope>
</dependency>
</dependencies>
</project>
Modified: maven/sandbox/trunk/archetypeng/archetype-creator/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetype-creator/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java?rev=576574&r1=576573&r2=576574&view=diff
==============================================================================
--- maven/sandbox/trunk/archetypeng/archetype-creator/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java (original)
+++ maven/sandbox/trunk/archetypeng/archetype-creator/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java Mon Sep 17 13:09:10 2007
@@ -19,6 +19,7 @@
package org.apache.maven.archetype.creator;
+import java.io.FileNotFoundException;
import org.apache.maven.archetype.common.ArchetypeConfiguration;
import org.apache.maven.archetype.common.ArchetypeDefinition;
import org.apache.maven.archetype.common.ArchetypeFactory;
@@ -67,6 +68,8 @@
import java.util.Map;
import java.util.Properties;
import java.util.Set;
+import org.apache.commons.collections.BidiMap;
+import org.apache.commons.collections.bidimap.DualTreeBidiMap;
/**
* @plexus.component role-hint="fileset"
@@ -200,7 +203,7 @@
archetypeDescriptorFile.getParentFile ().mkdirs ();
ArchetypeDescriptor archetypeDescriptor = new ArchetypeDescriptor ();
- archetypeDescriptor.setId ( archetypeDefinition.getArtifactId () );
+ archetypeDescriptor.setName ( archetypeDefinition.getArtifactId () );
getLogger ().debug (
"Starting archetype's descriptor " + archetypeDefinition.getArtifactId ()
);
@@ -222,6 +225,8 @@
Model pom =
pomManager.readPom ( FileUtils.resolveFile ( basedir, Constants.ARCHETYPE_POM ) );
+ registerProject(pom);
+
List fileNames = resolveFileNames ( pom, basedir );
getLogger ().debug ( "Scanned for files " + fileNames.size () );
@@ -233,7 +238,7 @@
List filesets =
resolveFileSets ( packageName, fileNames, languages, filtereds, defaultEncoding );
- getLogger ().debug ( "Resolved filesets for " + archetypeDescriptor.getId () );
+ getLogger ().debug ( "Resolved filesets for " + archetypeDescriptor.getName () );
archetypeDescriptor.setFileSets ( filesets );
@@ -245,12 +250,12 @@
archetypeFilesDirectory,
defaultEncoding
);
- getLogger ().debug ( "Created files for " + archetypeDescriptor.getId () );
+ getLogger ().debug ( "Created files for " + archetypeDescriptor.getName () );
if ( !ignoreReplica )
{
createReplicaFiles ( filesets, basedir, replicaFilesDirectory );
- getLogger ().debug ( "Created replica files for " + archetypeDescriptor.getId () );
+ getLogger ().debug ( "Created replica files for " + archetypeDescriptor.getName () );
FileUtils.copyFile (
propertyFile,
@@ -261,7 +266,6 @@
setParentArtifactId (
reverseProperties,
- pomReversedProperties,
archetypeConfiguration.getProperty ( Constants.ARTIFACT_ID )
);
@@ -275,7 +279,7 @@
ModuleDescriptor moduleDescriptor =
createModule (
reverseProperties,
- pomReversedProperties,
+ archetypeConfiguration.getProperty ( Constants.ARTIFACT_ID ),
moduleId,
packageName,
FileUtils.resolveFile ( basedir, moduleId ),
@@ -291,33 +295,38 @@
archetypeDescriptor.addModule ( moduleDescriptor );
getLogger ().debug (
- "Added module " + moduleDescriptor.getId () + " in "
- + archetypeDescriptor.getId ()
+ "Added module " + moduleDescriptor.getName () + " in "
+ + archetypeDescriptor.getName ()
);
}
- restoreParentArtifactId ( reverseProperties, pomReversedProperties, null );
+ restoreParentArtifactId ( reverseProperties, null );
restoreArtifactId (
reverseProperties,
- pomReversedProperties,
archetypeConfiguration.getProperty ( Constants.ARTIFACT_ID )
);
- createArchetypePom (
- pom,
- archetypeFilesDirectory,
- pomReversedProperties,
- FileUtils.resolveFile ( basedir, Constants.ARCHETYPE_POM ),
- preserveCData,
- keepParent
- );
- getLogger ().debug ( "Created Archetype " + archetypeDescriptor.getId () + " pom" );
+ createPoms (pom, archetypeConfiguration.getProperty ( Constants.ARTIFACT_ID ),
+ archetypeFilesDirectory, basedir,
+ pomReversedProperties, preserveCData, keepParent);
+
+// createArchetypePom (
+// pom,
+// archetypeFilesDirectory,
+// pomReversedProperties,
+// FileUtils.resolveFile ( basedir, Constants.ARCHETYPE_POM ),
+// preserveCData,
+// keepParent
+// );
+ getLogger ().debug ( "Created Archetype " + archetypeDescriptor.getName () + " pom" );
+
+//getLogger().debug("registeredProjects"+registeredProjects);
ArchetypeDescriptorXpp3Writer writer = new ArchetypeDescriptorXpp3Writer ();
writer.write ( new FileWriter ( archetypeDescriptorFile ), archetypeDescriptor );
- getLogger ().debug ( "Archetype " + archetypeDescriptor.getId () + " descriptor written" );
+ getLogger ().debug ( "Archetype " + archetypeDescriptor.getName () + " descriptor written" );
OldArchetypeDescriptor oldDescriptor =
- convertToOldDescriptor ( archetypeDescriptor.getId (), packageName, basedir );
+ convertToOldDescriptor ( archetypeDescriptor.getName(), packageName, basedir );
File oldDescriptorFile =
FileUtils.resolveFile (
archetypeResourcesDirectory,
@@ -326,7 +335,7 @@
archetypeDescriptorFile.getParentFile ().mkdirs ();
writeOldDescriptor ( oldDescriptor, oldDescriptorFile );
getLogger ().debug (
- "Archetype " + archetypeDescriptor.getId () + " old descriptor written"
+ "Archetype " + archetypeDescriptor.getName () + " old descriptor written"
);
archetypeRegistryManager.addGroup ( archetypeDefinition.getGroupId (), archetypeRegistryFile );
@@ -363,19 +372,99 @@
}
}
+ private void createModulePoms (
+ Properties pomReversedProperties,
+ String packageName,
+ File basedir,
+ File archetypeFilesDirectory,
+ boolean preserveCData,
+ boolean keepParent ) throws FileNotFoundException, IOException, XmlPullParserException
+ {
+ Model pom =
+ pomManager.readPom ( FileUtils.resolveFile ( basedir, Constants.ARCHETYPE_POM ) );
+
+ String parentArtifactId = pomReversedProperties.getProperty ( Constants.PARENT_ARTIFACT_ID );
+ String artifactId = pom.getArtifactId();
+ setParentArtifactId ( pomReversedProperties, pomReversedProperties.getProperty ( Constants.ARTIFACT_ID ) );
+ setArtifactId ( pomReversedProperties, pom.getArtifactId() );
+
+ Iterator modules = pom.getModules ().iterator ();
+ while ( modules.hasNext () )
+ {
+ String subModuleId = (String) modules.next ();
+
+ createModulePoms (
+ pomReversedProperties,
+ packageName,
+ FileUtils.resolveFile ( basedir, subModuleId ),
+ FileUtils.resolveFile ( archetypeFilesDirectory, subModuleId ),
+ preserveCData,
+ keepParent
+ );
+ }
+ createModulePom (
+ pom,
+ archetypeFilesDirectory,
+ pomReversedProperties,
+ FileUtils.resolveFile ( basedir, Constants.ARCHETYPE_POM ),
+ preserveCData,
+ keepParent
+ );
+ restoreParentArtifactId ( pomReversedProperties, parentArtifactId );
+ restoreArtifactId ( pomReversedProperties, artifactId );
+ }
+
+ private void createPoms ( Model pom, String artifactId, File archetypeFilesDirectory,
+ File basedir, Properties pomReversedProperties, boolean preserveCData,
+ boolean keepParent ) throws IOException, FileNotFoundException, XmlPullParserException
+ {
+ setArtifactId ( pomReversedProperties, pom.getArtifactId() );
+
+ Iterator modules = pom.getModules().iterator();
+ while ( modules.hasNext () )
+ {
+ String moduleId = (String) modules.next ();
+
+ createModulePoms (
+ pomReversedProperties,
+ moduleId,
+ FileUtils.resolveFile ( basedir, moduleId ),
+ FileUtils.resolveFile ( archetypeFilesDirectory, moduleId ),
+ preserveCData,
+ keepParent
+ );
+ }
+ restoreParentArtifactId ( pomReversedProperties, null );
+ restoreArtifactId ( pomReversedProperties, artifactId );
+
+ createArchetypePom(
+ pom,
+ archetypeFilesDirectory,
+ pomReversedProperties,
+ FileUtils.resolveFile ( basedir, Constants.ARCHETYPE_POM ),
+ preserveCData,
+ keepParent
+ );
+ }
+
private String getArchetypePom ()
{
return getGeneratedSourcesDirectory () + File.separator + Constants.ARCHETYPE_POM;
}
+ private int id = 0;
+ private BidiMap registeredProjects = new DualTreeBidiMap();
+ private void registerProject ( Model pom )
+ {
+ registeredProjects.put(new Integer(id++), pom.getId());
+ }
+
private void setArtifactId (
- Properties reverseProperties,
- Properties pomReversedProperties,
+ Properties properties,
String artifactId
)
{
- reverseProperties.setProperty ( Constants.ARTIFACT_ID, artifactId );
- pomReversedProperties.setProperty ( Constants.ARTIFACT_ID, artifactId );
+ properties.setProperty ( Constants.ARTIFACT_ID, artifactId );
}
private List concatenateToList ( List toConcatenate, String with )
@@ -600,7 +689,6 @@
pom.setArtifactId ( "${" + Constants.ARTIFACT_ID + "}" );
pom.setVersion ( "${" + Constants.VERSION + "}" );
//TODO: other behaviour should be enforced -> usage of submodules references in deps and depMan or maybe plugins
-System.err.println("createArchetypePom "+outputFile);
pomManager.writePom ( pom, outputFile, initialPomFile );
}
@@ -730,7 +818,7 @@
private ModuleDescriptor createModule (
Properties reverseProperties,
- Properties pomReversedProperties,
+ String rootArtifactId,
String moduleId,
String packageName,
File basedir,
@@ -746,7 +834,6 @@
throws IOException, XmlPullParserException
{
ModuleDescriptor archetypeDescriptor = new ModuleDescriptor ();
- archetypeDescriptor.setId ( moduleId );
getLogger ().debug ( "Starting module's descriptor " + moduleId );
archetypeFilesDirectory.mkdirs ();
@@ -754,14 +841,29 @@
Model pom =
pomManager.readPom ( FileUtils.resolveFile ( basedir, Constants.ARCHETYPE_POM ) );
+ String replacementId = pom.getArtifactId();
+ if ( replacementId.indexOf(rootArtifactId) >= 0 )
+ {
+ replacementId = StringUtils.replace( replacementId, rootArtifactId, "${rootArtifactId}" );
+ moduleId = StringUtils.replace( moduleId, rootArtifactId, "${rootArtifactId}" );
+ }
+ if ( moduleId.indexOf(rootArtifactId) >= 0 )
+ {
+ moduleId = StringUtils.replace( moduleId, rootArtifactId, "${rootArtifactId}" );
+ }
+ archetypeDescriptor.setName( replacementId );
+ archetypeDescriptor.setId( replacementId );
+ archetypeDescriptor.setDir( moduleId );
+
+ registerProject(pom);
- setArtifactId ( reverseProperties, pomReversedProperties, pom.getArtifactId() );
+ setArtifactId ( reverseProperties, pom.getArtifactId() );
List fileNames = resolveFileNames ( pom, basedir );
List filesets =
resolveFileSets ( packageName, fileNames, languages, filtereds, defaultEncoding );
- getLogger ().debug ( "Resolved filesets for module " + archetypeDescriptor.getId () );
+ getLogger ().debug ( "Resolved filesets for module " + archetypeDescriptor.getName () );
archetypeDescriptor.setFileSets ( filesets );
@@ -773,16 +875,16 @@
archetypeFilesDirectory,
defaultEncoding
);
- getLogger ().debug ( "Created files for module " + archetypeDescriptor.getId () );
+ getLogger ().debug ( "Created files for module " + archetypeDescriptor.getName () );
if ( !ignoreReplica )
{
createReplicaFiles ( filesets, basedir, replicaFilesDirectory );
- getLogger ().debug ( "Created replica files for " + archetypeDescriptor.getId () );
+ getLogger ().debug ( "Created replica files for " + archetypeDescriptor.getName () );
}
String parentArtifactId = reverseProperties.getProperty ( Constants.PARENT_ARTIFACT_ID );
- setParentArtifactId ( reverseProperties, pomReversedProperties, pom.getArtifactId() );
+ setParentArtifactId ( reverseProperties, pom.getArtifactId() );
Iterator modules = pom.getModules ().iterator ();
while ( modules.hasNext () )
@@ -794,7 +896,7 @@
ModuleDescriptor moduleDescriptor =
createModule (
reverseProperties,
- pomReversedProperties,
+ rootArtifactId,
subModuleId,
packageName,
FileUtils.resolveFile ( basedir, subModuleId ),
@@ -810,22 +912,22 @@
archetypeDescriptor.addModule ( moduleDescriptor );
getLogger ().debug (
- "Added module " + moduleDescriptor.getId () + " in "
- + archetypeDescriptor.getId ()
+ "Added module " + moduleDescriptor.getName () + " in "
+ + archetypeDescriptor.getName ()
);
}
- restoreParentArtifactId ( reverseProperties, pomReversedProperties, parentArtifactId );
- restoreArtifactId ( reverseProperties, pomReversedProperties, pom.getArtifactId() );
+ restoreParentArtifactId ( reverseProperties, parentArtifactId );
+ restoreArtifactId ( reverseProperties, pom.getArtifactId() );
- createModulePom (
- pom,
- archetypeFilesDirectory,
- pomReversedProperties,
- FileUtils.resolveFile ( basedir, Constants.ARCHETYPE_POM ),
- preserveCData,
- keepParent
- );
- getLogger ().debug ( "Created Module " + archetypeDescriptor.getId () + " pom" );
+// createModulePom (
+// pom,
+// archetypeFilesDirectory,
+// pomReversedProperties,
+// FileUtils.resolveFile ( basedir, Constants.ARCHETYPE_POM ),
+// preserveCData,
+// keepParent
+// );
+ getLogger ().debug ( "Created Module " + archetypeDescriptor.getName () + " pom" );
return archetypeDescriptor;
}
@@ -877,14 +979,21 @@
pom.getParent().setVersion ( "${" + Constants.VERSION + "}" );
}
pom.setModules ( null );
- pom.setGroupId (
- StringUtils.replace(
- pom.getGroupId (),
- pomReversedProperties.getProperty (Constants.GROUP_ID),
- "${" + Constants.GROUP_ID + "}")
- );
+
+ if (pom.getGroupId() != null)
+ {
+ pom.setGroupId (
+ StringUtils.replace(
+ pom.getGroupId (),
+ pomReversedProperties.getProperty (Constants.GROUP_ID),
+ "${" + Constants.GROUP_ID + "}")
+ );
+ }
pom.setArtifactId ( "${" + Constants.ARTIFACT_ID + "}" );
- pom.setVersion ( "${" + Constants.VERSION + "}" );
+ if (pom.getVersion() != null)
+ {
+ pom.setVersion ( "${" + Constants.VERSION + "}" );
+ }
pomManager.writePom ( pom, outputFile, initialPomFile );
}
@@ -1094,13 +1203,11 @@
}
private void setParentArtifactId (
- Properties reverseProperties,
- Properties pomReversedProperties,
+ Properties properties,
String parentArtifactId
)
{
- reverseProperties.setProperty ( Constants.PARENT_ARTIFACT_ID, parentArtifactId );
- pomReversedProperties.setProperty ( Constants.PARENT_ARTIFACT_ID, parentArtifactId );
+ properties.setProperty ( Constants.PARENT_ARTIFACT_ID, parentArtifactId );
}
private void processFileSet (
@@ -1617,38 +1724,32 @@
}
private void restoreArtifactId (
- Properties reverseProperties,
- Properties pomReversedProperties,
+ Properties properties,
String artifactId
)
{
if ( StringUtils.isEmpty ( artifactId ) )
{
- reverseProperties.remove ( Constants.ARTIFACT_ID );
- pomReversedProperties.remove ( Constants.ARTIFACT_ID );
+ properties.remove ( Constants.ARTIFACT_ID );
}
else
{
- reverseProperties.setProperty ( Constants.ARTIFACT_ID, artifactId );
- pomReversedProperties.setProperty ( Constants.ARTIFACT_ID, artifactId );
+ properties.setProperty ( Constants.ARTIFACT_ID, artifactId );
}
}
private void restoreParentArtifactId (
- Properties reverseProperties,
- Properties pomReversedProperties,
+ Properties properties,
String parentArtifactId
)
{
if ( StringUtils.isEmpty ( parentArtifactId ) )
{
- reverseProperties.remove ( Constants.PARENT_ARTIFACT_ID );
- pomReversedProperties.remove ( Constants.PARENT_ARTIFACT_ID );
+ properties.remove ( Constants.PARENT_ARTIFACT_ID );
}
else
{
- reverseProperties.setProperty ( Constants.PARENT_ARTIFACT_ID, parentArtifactId );
- pomReversedProperties.setProperty ( Constants.PARENT_ARTIFACT_ID, parentArtifactId );
+ properties.setProperty ( Constants.PARENT_ARTIFACT_ID, parentArtifactId );
}
}
Modified: maven/sandbox/trunk/archetypeng/archetype-descriptor/src/main/mdo/archetype-descriptor.mdo
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetype-descriptor/src/main/mdo/archetype-descriptor.mdo?rev=576574&r1=576573&r2=576574&view=diff
==============================================================================
--- maven/sandbox/trunk/archetypeng/archetype-descriptor/src/main/mdo/archetype-descriptor.mdo (original)
+++ maven/sandbox/trunk/archetypeng/archetype-descriptor/src/main/mdo/archetype-descriptor.mdo Mon Sep 17 13:09:10 2007
@@ -29,7 +29,7 @@
</defaults>
<!--
- <archetype id="archetype-artifact-id" partial="true|false" >
+ <archetype name="archetype-artifact-id" partial="true|false" >
<requiredProperties>
<requiredProperty key="propKey" >
<defaultValue>string to replace</defaultValue>
@@ -47,7 +47,7 @@
</fileSet>
</fileSets>
<modules>
- <module id="module-artifact-id">
+ <module name="module-id" id="module-artifact-id" dir="module-dir">
<fileSets/>
<modules/>
</module>
@@ -61,7 +61,7 @@
<superClass>AbstractArchetypeDescriptor</superClass>
<fields>
<field xml.attribute="true" >
- <name>id</name>
+ <name>name</name>
<type>String</type>
<required>true</required>
</field>
@@ -86,6 +86,16 @@
<fields>
<field xml.attribute="true" >
<name>id</name>
+ <type>String</type>
+ <required>true</required>
+ </field>
+ <field xml.attribute="true" >
+ <name>dir</name>
+ <type>String</type>
+ <required>true</required>
+ </field>
+ <field xml.attribute="true" >
+ <name>name</name>
<type>String</type>
<required>true</required>
</field>
Modified: maven/sandbox/trunk/archetypeng/archetype-generator/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetype-generator/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java?rev=576574&r1=576573&r2=576574&view=diff
==============================================================================
--- maven/sandbox/trunk/archetypeng/archetype-generator/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java (original)
+++ maven/sandbox/trunk/archetypeng/archetype-generator/src/main/java/org/apache/maven/archetype/generator/DefaultFilesetArchetypeGenerator.java Mon Sep 17 13:09:10 2007
@@ -141,7 +141,7 @@
if ( archetypeDescriptor.isPartial () )
{
getLogger ().debug (
- "Procesing partial archetype " + archetypeDescriptor.getId ()
+ "Procesing partial archetype " + archetypeDescriptor.getName ()
);
if ( outputDirectoryFile.exists () )
{
@@ -203,7 +203,7 @@
else
{
getLogger ().debug (
- "Processing complete archetype " + archetypeDescriptor.getId ()
+ "Processing complete archetype " + archetypeDescriptor.getName ()
);
if ( outputDirectoryFile.exists () )
{
@@ -213,6 +213,7 @@
{
processFilesetModule (
artifactId,
+ artifactId,
archetypeResources,
pom,
archetypeZipFile,
@@ -446,6 +447,7 @@
}
private void processFilesetModule (
+ String rootArtifactId,
String artifactId,
final List archetypeResources,
File pom,
@@ -469,7 +471,7 @@
processFilesetProject (
archetypeDescriptor,
- artifactId,
+ StringUtils.replace( artifactId, "${rootArtifactId}", rootArtifactId ),
archetypeResources,
pom,
archetypeZipFile,
@@ -487,22 +489,23 @@
getLogger ().debug (
artifactId + " has modules (" + archetypeDescriptor.getModules () + ")"
);
- setParentArtifactId ( context, artifactId );
+ setParentArtifactId ( context, StringUtils.replace( artifactId, "${rootArtifactId}", rootArtifactId ) );
}
while ( subprojects.hasNext () )
{
ModuleDescriptor project = (ModuleDescriptor) subprojects.next ();
- artifactId = project.getId ();
+ artifactId = project.getId();
- File moduleOutputDirectoryFile = new File ( outputDirectoryFile, artifactId );
- context.put ( Constants.ARTIFACT_ID, artifactId );
+ File moduleOutputDirectoryFile = new File ( outputDirectoryFile, StringUtils.replace( project.getDir(), "${rootArtifactId}", rootArtifactId ) );
+ context.put ( Constants.ARTIFACT_ID, StringUtils.replace( project.getId(), "${rootArtifactId}", rootArtifactId ) );
processFilesetModule (
+ rootArtifactId,
artifactId,
archetypeResources,
new File ( moduleOutputDirectoryFile, Constants.ARCHETYPE_POM ),
archetypeZipFile,
- ( StringUtils.isEmpty ( moduleOffset ) ? "" : ( moduleOffset + "/" ) ) + artifactId,
+ ( StringUtils.isEmpty ( moduleOffset ) ? "" : ( moduleOffset + "/" ) ) + StringUtils.replace( project.getDir(), "${rootArtifactId}", rootArtifactId ),
pom,
moduleOutputDirectoryFile,
packageName,
@@ -537,7 +540,6 @@
if ( basedirPom.exists () )
{
processPomWithParent (
-
context,
pom,
moduleOffset,
@@ -630,12 +632,13 @@
true
);
- if ( StringUtils.isEmpty ( moduleOffset ) )
- {
+ /*if ( StringUtils.isEmpty ( moduleOffset ) )
+ {*/
getLogger ().debug ( "Adding module " + artifactId );
+System.err.println ( "Adding module " + artifactId );
pomManager.addModule ( basedirPom, artifactId );
pomManager.addParent ( pom, basedirPom );
- }
+ //}
}
private void processTemplate (
Modified: maven/sandbox/trunk/archetypeng/archetype-generator/src/test/archetypes/basic-1.0/META-INF/maven/archetype-metadata.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetype-generator/src/test/archetypes/basic-1.0/META-INF/maven/archetype-metadata.xml?rev=576574&r1=576573&r2=576574&view=diff
==============================================================================
--- maven/sandbox/trunk/archetypeng/archetype-generator/src/test/archetypes/basic-1.0/META-INF/maven/archetype-metadata.xml (original)
+++ maven/sandbox/trunk/archetypeng/archetype-generator/src/test/archetypes/basic-1.0/META-INF/maven/archetype-metadata.xml Mon Sep 17 13:09:10 2007
@@ -17,7 +17,7 @@
specific language governing permissions and limitations
under the License.
-->
-<archetype-descriptor id="basic" >
+<archetype-descriptor name="basic" >
<requiredProperties>
<requiredProperty key="property-with-default-1" >
Modified: maven/sandbox/trunk/archetypeng/archetype-generator/src/test/archetypes/fileset-1.0/META-INF/maven/archetype-metadata.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetype-generator/src/test/archetypes/fileset-1.0/META-INF/maven/archetype-metadata.xml?rev=576574&r1=576573&r2=576574&view=diff
==============================================================================
--- maven/sandbox/trunk/archetypeng/archetype-generator/src/test/archetypes/fileset-1.0/META-INF/maven/archetype-metadata.xml (original)
+++ maven/sandbox/trunk/archetypeng/archetype-generator/src/test/archetypes/fileset-1.0/META-INF/maven/archetype-metadata.xml Mon Sep 17 13:09:10 2007
@@ -17,7 +17,7 @@
specific language governing permissions and limitations
under the License.
-->
-<archetype-descriptor id="fileset" partial="false" >
+<archetype-descriptor name="fileset" partial="false" >
<requiredProperties>
<requiredProperty key="property-with-default-1" >
@@ -80,7 +80,7 @@
</fileSets>
<modules>
- <module id="subproject">
+ <module name="subproject" id="subproject" dir="subproject">
<fileSets>
<fileSet filtered="true" packaged="true" >
<directory>src/main/java</directory>
@@ -91,7 +91,7 @@
</fileSets>
<modules>
- <module id="subsubproject">
+ <module name="subsubproject" id="subsubproject" dir="subsubproject">
<fileSets>
<fileSet filtered="true" packaged="true" >
<directory>src/main/java</directory>
Modified: maven/sandbox/trunk/archetypeng/archetype-generator/src/test/archetypes/partial-1.0/META-INF/maven/archetype-metadata.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetype-generator/src/test/archetypes/partial-1.0/META-INF/maven/archetype-metadata.xml?rev=576574&r1=576573&r2=576574&view=diff
==============================================================================
--- maven/sandbox/trunk/archetypeng/archetype-generator/src/test/archetypes/partial-1.0/META-INF/maven/archetype-metadata.xml (original)
+++ maven/sandbox/trunk/archetypeng/archetype-generator/src/test/archetypes/partial-1.0/META-INF/maven/archetype-metadata.xml Mon Sep 17 13:09:10 2007
@@ -17,7 +17,7 @@
specific language governing permissions and limitations
under the License.
-->
-<archetype-descriptor id="partial" partial="true" >
+<archetype-descriptor name="partial" partial="true" >
<fileSets>
<fileSet filtered="true" packaged="true" >
Modified: maven/sandbox/trunk/archetypeng/archetype-generator/src/test/archetypes/site-1.0/META-INF/maven/archetype-metadata.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetype-generator/src/test/archetypes/site-1.0/META-INF/maven/archetype-metadata.xml?rev=576574&r1=576573&r2=576574&view=diff
==============================================================================
--- maven/sandbox/trunk/archetypeng/archetype-generator/src/test/archetypes/site-1.0/META-INF/maven/archetype-metadata.xml (original)
+++ maven/sandbox/trunk/archetypeng/archetype-generator/src/test/archetypes/site-1.0/META-INF/maven/archetype-metadata.xml Mon Sep 17 13:09:10 2007
@@ -17,7 +17,7 @@
specific language governing permissions and limitations
under the License.
-->
-<archetype-descriptor id="site" >
+<archetype-descriptor name="site" >
<requiredProperties>
<requiredProperty key="property-with-default-1" >