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 2008/03/11 22:45:02 UTC
svn commit: r636117 - in /maven/archetype/trunk:
archetype-common/src/main/java/org/apache/maven/archetype/
archetype-common/src/main/java/org/apache/maven/archetype/creator/
archetype-common/src/test/java/org/apache/maven/archetype/creator/
archetype-...
Author: rafale
Date: Tue Mar 11 14:45:01 2008
New Revision: 636117
URL: http://svn.apache.org/viewvc?rev=636117&view=rev
Log:
Fix for ARCHETYPE-112.
Use -Darchetype.properties to define the additional properties
Modified:
maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/ArchetypeCreationRequest.java
maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java
maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/creator/DefaultArchetypeCreatorTest.java
maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateArchetypeFromProjectMojo.java
maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeCreationConfigurator.java
Modified: maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/ArchetypeCreationRequest.java
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/ArchetypeCreationRequest.java?rev=636117&r1=636116&r2=636117&view=diff
==============================================================================
--- maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/ArchetypeCreationRequest.java (original)
+++ maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/ArchetypeCreationRequest.java Tue Mar 11 14:45:01 2008
@@ -34,7 +34,7 @@
private MavenProject project;
- private File propertyFile;
+// private File propertyFile;
private List languages = new ArrayList();
@@ -78,17 +78,17 @@
return this;
}
- public File getPropertyFile()
- {
- return propertyFile;
- }
-
- public ArchetypeCreationRequest setPropertyFile( File propertyFile )
- {
- this.propertyFile = propertyFile;
-
- return this;
- }
+// public File getPropertyFile()
+// {
+// return propertyFile;
+// }
+//
+// public ArchetypeCreationRequest setPropertyFile( File propertyFile )
+// {
+// this.propertyFile = propertyFile;
+//
+// return this;
+// }
public List getLanguages()
{
Modified: maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java?rev=636117&r1=636116&r2=636117&view=diff
==============================================================================
--- maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java (original)
+++ maven/archetype/trunk/archetype-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java Tue Mar 11 14:45:01 2008
@@ -24,7 +24,6 @@
import org.apache.maven.archetype.ArchetypeCreationRequest;
import org.apache.maven.archetype.ArchetypeCreationResult;
import org.apache.maven.archetype.common.ArchetypeFilesResolver;
-import org.apache.maven.archetype.common.ArchetypeRegistryManager;
import org.apache.maven.archetype.common.Constants;
import org.apache.maven.archetype.common.PomManager;
import org.apache.maven.archetype.common.util.FileCharsetDetector;
@@ -84,9 +83,6 @@
/** @plexus.requirement */
private PomManager pomManager;
-// /** @plexus.requirement */
-// private ArchetypeRegistryManager archetypeRegistryManager;
-
/** @plexus.requirement */
private MavenProjectBuilder projectBuilder;
@@ -95,8 +91,6 @@
{
MavenProject project = request.getProject();
-// File propertyFile = request.getPropertyFile();
-
List languages = request.getLanguages();
List filtereds = request.getFiltereds();
@@ -113,27 +107,52 @@
Properties properties = new Properties();
Properties configurationProperties = new Properties();
+ if( request.getProperties() != null )
+ {
+ properties.putAll( request.getProperties() );
+ configurationProperties.putAll( request.getProperties() );
+ }
- properties.setProperty( Constants.GROUP_ID, project.getGroupId() );
- configurationProperties.setProperty( Constants.GROUP_ID, project.getGroupId() );
+ if( !properties.containsKey( Constants.GROUP_ID ) )
+ {
+ properties.setProperty( Constants.GROUP_ID, project.getGroupId() );
+ }
+ configurationProperties.setProperty(
+ Constants.GROUP_ID,
+ properties.getProperty( Constants.GROUP_ID )
+ );
- properties.setProperty( Constants.ARTIFACT_ID, project.getArtifactId() );
- configurationProperties.setProperty( Constants.ARTIFACT_ID, project.getArtifactId() );
+ if( !properties.containsKey( Constants.ARTIFACT_ID ) )
+ {
+ properties.setProperty( Constants.ARTIFACT_ID, project.getArtifactId() );
+ }
+ configurationProperties.setProperty(
+ Constants.ARTIFACT_ID,
+ properties.getProperty( Constants.ARTIFACT_ID )
+ );
- properties.setProperty( Constants.VERSION, project.getVersion() );
- configurationProperties.setProperty( Constants.VERSION, project.getVersion() );
+ if( !properties.containsKey( Constants.VERSION ) )
+ {
+ properties.setProperty( Constants.VERSION, project.getVersion() );
+ }
+ configurationProperties.setProperty(
+ Constants.VERSION,
+ properties.getProperty( Constants.VERSION )
+ );
- if ( request.getPackageName() != null )
+ if( request.getPackageName() != null )
{
properties.setProperty( Constants.PACKAGE, request.getPackageName() );
- configurationProperties.setProperty( Constants.PACKAGE, request.getPackageName() );
}
- else
+ else if( !properties.containsKey( Constants.PACKAGE ) )
{
properties.setProperty( Constants.PACKAGE, project.getGroupId() );
- configurationProperties.setProperty( Constants.PACKAGE, project.getGroupId() );
}
-
+ configurationProperties.setProperty(
+ Constants.PACKAGE,
+ properties.getProperty( Constants.PACKAGE )
+ );
+
File basedir = project.getBasedir();
File generatedSourcesDirectory =
FileUtils.resolveFile( basedir, getGeneratedSourcesDirectory() );
@@ -245,10 +264,9 @@
// TODO ensure reversedproperties contains NO dotted properties
Properties reverseProperties = getRequiredProperties( archetypeDescriptor, properties );
reverseProperties.remove( Constants.GROUP_ID );
-
+
// TODO ensure pomReversedProperties contains NO dotted properties
Properties pomReversedProperties = getRequiredProperties( archetypeDescriptor, properties );
-
pomReversedProperties.remove( Constants.PACKAGE );
String packageName = configurationProperties.getProperty( Constants.PACKAGE );
@@ -909,7 +927,7 @@
getLogger().debug(
"Creating Archetype/Module files from " + basedir + " to " + archetypeFilesDirectory
);
-
+
Iterator iterator = fileSets.iterator();
while ( iterator.hasNext() )
@@ -1572,7 +1590,7 @@
if ( initialcontent.indexOf( "${" + property + "}" ) > 0 )
{
- getLogger().warn( "OldArchetype uses ${" + property +
+ getLogger().warn( "Archetype uses ${" + property +
"} for internal processing, but file " + inputFile +
" contains this property already" );
}
@@ -1619,7 +1637,7 @@
reversedProperties.remove( Constants.ARCHETYPE_GROUP_ID );
reversedProperties.remove( Constants.ARCHETYPE_ARTIFACT_ID );
reversedProperties.remove( Constants.ARCHETYPE_VERSION );
-
+
return reversedProperties;
}
@@ -2060,7 +2078,7 @@
}
private String getReversedContent( String content,
- final Properties properties )
+ Properties properties )
{
String result = content;
Iterator propertyIterator = properties.keySet().iterator();
Modified: maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/creator/DefaultArchetypeCreatorTest.java
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/creator/DefaultArchetypeCreatorTest.java?rev=636117&r1=636116&r2=636117&view=diff
==============================================================================
--- maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/creator/DefaultArchetypeCreatorTest.java (original)
+++ maven/archetype/trunk/archetype-common/src/test/java/org/apache/maven/archetype/creator/DefaultArchetypeCreatorTest.java Tue Mar 11 14:45:01 2008
@@ -133,7 +133,7 @@
ArchetypeCreationRequest request = new ArchetypeCreationRequest()
.setProject( mavenProject )
.setPackageName( p.getProperty( Constants.PACKAGE ) )
- .setPropertyFile( propertyFile )
+ .setProperties( p )
.setLanguages( languages )
.setFiltereds( filtereds )
.setDefaultEncoding( "UTF-8" )
@@ -144,6 +144,11 @@
ArchetypeCreationResult result = new ArchetypeCreationResult();
instance.createArchetype( request, result );
+
+ if(result.getCause()!=null){
+ result.getCause().printStackTrace();
+ }
+ assertNull( result.getCause() );
File template;
Modified: maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateArchetypeFromProjectMojo.java
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateArchetypeFromProjectMojo.java?rev=636117&r1=636116&r2=636117&view=diff
==============================================================================
--- maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateArchetypeFromProjectMojo.java (original)
+++ maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateArchetypeFromProjectMojo.java Tue Mar 11 14:45:01 2008
@@ -19,7 +19,6 @@
package org.apache.maven.archetype.mojos;
-import java.io.FileNotFoundException;
import java.io.IOException;
import org.apache.maven.archetype.ArchetypeCreationRequest;
import org.apache.maven.archetype.ArchetypeCreationResult;
@@ -136,7 +135,7 @@
/**
* The property file that holds the plugin configuration.
*
- * @parameter default-value="target/archetype.properties" expression="${archetype.properties}"
+ * @parameter expression="${archetype.properties}"
*/
private File propertyFile;
@@ -183,11 +182,11 @@
archetypeFilteredExtentions,
propertyFile
);
-
+
ArchetypeCreationRequest request = new ArchetypeCreationRequest()
.setProject( project )
/*Used when in interactive mode*/
- .setPropertyFile( propertyFile )
+ .setProperties( properties )
.setLanguages( languages )
/*Should be refactored to use some ant patterns*/
.setFiltereds( filtereds )
Modified: maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeCreationConfigurator.java
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeCreationConfigurator.java?rev=636117&r1=636116&r2=636117&view=diff
==============================================================================
--- maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeCreationConfigurator.java (original)
+++ maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeCreationConfigurator.java Tue Mar 11 14:45:01 2008
@@ -240,7 +240,7 @@
}
} // end if
- return archetypeConfiguration.toProperties();
+ return removeDottedProperties(archetypeConfiguration.toProperties());
}
private ArchetypeDefinition defineDefaultArchetype(
@@ -399,18 +399,28 @@
getLogger().debug( "archetype.properties does not exist" );
}
-// Iterator commandLinePropertiesIterator =
-// new ArrayList( commandLineProperties.keySet() ).iterator();
-// while ( commandLinePropertiesIterator.hasNext() )
-// {
-// String propertyKey = (String) commandLinePropertiesIterator.next();
-//
-// properties.setProperty(
-// propertyKey,
-// commandLineProperties.getProperty( propertyKey )
-// );
-// }
+ return properties;
+ }
+ private Properties removeDottedProperties(Properties properties) {
+ List toRemove=new ArrayList(0);
+ Iterator keys = properties.keySet().iterator();
+ while (keys.hasNext())
+ {
+ String key = (String) keys.next();
+ if (key.indexOf(".")>=0)
+ {
+ toRemove.add(key);
+ }
+ }
+ Iterator keysToRemove =toRemove.iterator();
+ while(keysToRemove.hasNext())
+ {
+ String key = (String) keysToRemove.next();
+ properties.remove(key);
+ }
return properties;
+
+
}
}