maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rick Genter <rgen...@interactions.net>
Subject Dynamically generating class names with archetype
Date Tue, 19 Apr 2011 21:11:26 GMT
I'm building an archetype for generating Maven projects for our custom application framework.
Everything is working but the generated project always has the same class names and annotations.
I would like to be able to dynamically specify those names/annotations.

For example, I can specify my Java file (src/main/resources/archetype-resources/src/main/java/ClientApp.java)
like this:

package ${packageName};

// imports go here...

@OurAnnotation(client="Client", application="ClientApp", version="1.0.0-SNAPSHOT")
public class ClientApp extends OurBaseClass {
...
}

but what I'd like to do is something like this:

package ${packageName};

// imports go here...

@OurAnnotation(client="${client}", application="${clientApp}", version="${clientAppVersion}")
public class ${clientApp} extends OurBaseClass {
...
}

I tried the above and using:

mvn archetype:generate -DarchetypeGroupId=... -DarchetypeArtifactId=... -DarchetypeVersion=...
-Dclient=Acme -DclientApp=HelloWorld6 -DclientAppVersion=1.0.0-SNAPSHOT -DgroupId=net.interactions.example
-Dversion=0.0.1-SNAPSHOT -DartifactId=hello-world-6

my generated ClientApp.java file had the correct package name (net.interactions.example),
but none of the other substitutions were performed. Also, I'd need the generated file itself
to have the correct name (${clientApp}.java). I'd have preferred that the generated file be
named "HelloWorld6.java" and have the content:

package net.interactions.example;

// imports go here...

@OurAnnotation(client="Acme", application="HelloWorld6", version="0.0.1-SNAPSHOT")
public class HelloWorld6 extends OurBaseClass {
...
}


Is what I want to do possible?
--
Rick Genter
rgenter@interactions.net



*******************************************************************************
This e-mail and any of its attachments may contain Interactions Corporation
proprietary information, which is privileged, confidential, or subject to
copyright belonging to the Interactions Corporation. This e-mail is intended
solely for the use of the individual or entity to which it is addressed. If you
are not the intended recipient of this e-mail, you are hereby notified that any
dissemination, distribution, copying, or action taken in relation to the
contents of and attachments to this e-mail is strictly prohibited and may be
unlawful. If you have received this e-mail in error, please notify the sender
immediately and permanently delete the original and any copy of this e-mail and
any printout. Thank You. 
*******************************************************************************


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Mime
View raw message