You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Eric Jacob <er...@gmail.com> on 2005/09/27 03:49:26 UTC

[m2] Archetype Plugin parameters and templates

Hi,

The M1 Genapp plugin offers the possibility to define custom parameters and
templates... So here my questions about the M2 Archetype plugin:

(1) Does it offer the same possibilities?
(2) Is it possible to prompt the user for the parameter's value?
(3) Where should I start to build my own template?
(4) Finally, how to add a specific "script/behaviour" to a template in M2?

Thanks,

Eric

Re: [m2] Archetype Plugin parameters and templates

Posted by Jason Melnick <ja...@iname.com>.
maven-archetype-quickstart source has no velocity templates - and neither do
any of the other projects of the maven-archetype-bundles. Is the archetype
plugin not extensible via new archetype-bundles?


allan ramirez-4 wrote:
> 
> 
> Eric Jacob wrote:
> 
>>Hi Jason,
>>
>>Thanks for your fast answer. However, I took a look at the "
>>maven-archetype-quickstart-1.0-alpha-3.jar" in my local repository and I
saw
>>no velocity templates... Here where I looked:
>>
>>%USER_HOME%\.m2\repository\org\apache\maven\archetypes\maven-archetype-quickstart\1.0-alpha-3
>>  
>>
> 
> If you have the source copy,  you can able to see that 
> maven-archetype-quickstart is a velocity template.
> 
>>Is it possible to provide a sample or a link to a velocity template on the
>>online source repository?
>>  
>>
> 
> Im not really sure about this, but I think its not possible.
> 
>>Thank you in advance,
>>
>>Eric
>>
>>On 9/27/05, Jason van Zyl <ja...@maven.org> wrote:
>>  
>>
>>>On Mon, 2005-09-26 at 21:49 -0400, Eric Jacob wrote:
>>>    
>>>
>>>>Hi,
>>>>
>>>>The M1 Genapp plugin offers the possibility to define custom parameters
>>>>      
>>>>
>>>and
>>>    
>>>
>>>>templates... So here my questions about the M2 Archetype plugin:
>>>>
>>>>(1) Does it offer the same possibilities?
>>>>      
>>>>
>>>Yes, the templates for a archetype are actually velocity templates so
>>>more flexible then what's in genapp.
>>>
>>>    
>>>
>>>>(2) Is it possible to prompt the user for the parameter's value?
>>>>      
>>>>
>>>Archetypes were designed to do that. The parameters can come from
>>>anywhere as long they end up in a Map. The Map is used when rendering
>>>the velocity templates to parameterize the output.
>>>
>>>I would like to do more work on the archetypes in order to provide some
>>>metadata about the parameters for a particular archetype so that better
>>>UI tools can be made. But even with that being the case there is reason
>>>why you couldn't make a UI for the generation of a project from an
>>>archetype.
>>>
>>>    
>>>
>>>>(3) Where should I start to build my own template?
>>>>      
>>>>
>>>You can look at the existing archetypes which are simply JARs that
>>>contain velocity templates and some metadata about what is actually in
>>>the archetype. I will add some doco to the getting started guide about
>>>archetypes as I think there is little known about them but they are
>>>going to be highly useful.
>>>
>>>If you follow the current getting started guide and create a project:
>>>
>>>m2 archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app
>>>
>>>This will actually download the archetype to your local maven repository
>>>and you can take a look at it. It will be in:
>>>
>>>$repo/org/apache/maven/archetypes/maven-archetype-quickstart/1.0-alpha-3
>>>
>>>    
>>>
>>>>(4) Finally, how to add a specific "script/behaviour" to a template in
>>>>      
>>>>
>>>M2?
>>>
>>>The templates are velocity templates so you get the directives that
>>>velocity provides and you can make your own velocity macros or tools. A
>>>tool is simply a Java object that you drop into a velocity context so
>>>you can really do whatever you want. I would think velocity itself would
>>>give you enough flexibility.
>>>
>>>    
>>>
>>>>Thanks,
>>>>
>>>>Eric
>>>>      
>>>>
>>>--
>>>jvz.
>>>
>>>Jason van Zyl
>>>jason at maven.org <http://maven.org>
>>>http://maven.apache.org
>>>
>>>In short, man creates for himself a new religion of a rational
>>>and technical order to justify his work and to be justified in it.
>>>
>>>-- Jacques Ellul, The Technological Society
>>>
>>>
>>>---------------------------------------------------------------------
>>>To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>>>For additional commands, e-mail: users-help@maven.apache.org
>>>
>>>
>>>    
>>>
>>
>>  
>>
>>------------------------------------------------------------------------
>>
>>No virus found in this incoming message.
>>Checked by AVG Anti-Virus.
>>Version: 7.0.344 / Virus Database: 267.11.7/112 - Release Date: 9/26/2005
>>  
>>
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
> 

-- 
View this message in context: http://www.nabble.com/-m2--Archetype-Plugin-parameters-and-templates-tf348981s177.html#a9381482
Sent from the Maven - Users mailing list archive at Nabble.com.


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


Re: [m2] Archetype Plugin parameters and templates

Posted by Allan Ramirez <ar...@exist.com>.
Eric Jacob wrote:

>Hi Jason,
>
>Thanks for your fast answer. However, I took a look at the "
>maven-archetype-quickstart-1.0-alpha-3.jar" in my local repository and I saw
>no velocity templates... Here where I looked:
>
>%USER_HOME%\.m2\repository\org\apache\maven\archetypes\maven-archetype-quickstart\1.0-alpha-3
>  
>

If you have the source copy,  you can able to see that 
maven-archetype-quickstart is a velocity template.

>Is it possible to provide a sample or a link to a velocity template on the
>online source repository?
>  
>

Im not really sure about this, but I think its not possible.

>Thank you in advance,
>
>Eric
>
>On 9/27/05, Jason van Zyl <ja...@maven.org> wrote:
>  
>
>>On Mon, 2005-09-26 at 21:49 -0400, Eric Jacob wrote:
>>    
>>
>>>Hi,
>>>
>>>The M1 Genapp plugin offers the possibility to define custom parameters
>>>      
>>>
>>and
>>    
>>
>>>templates... So here my questions about the M2 Archetype plugin:
>>>
>>>(1) Does it offer the same possibilities?
>>>      
>>>
>>Yes, the templates for a archetype are actually velocity templates so
>>more flexible then what's in genapp.
>>
>>    
>>
>>>(2) Is it possible to prompt the user for the parameter's value?
>>>      
>>>
>>Archetypes were designed to do that. The parameters can come from
>>anywhere as long they end up in a Map. The Map is used when rendering
>>the velocity templates to parameterize the output.
>>
>>I would like to do more work on the archetypes in order to provide some
>>metadata about the parameters for a particular archetype so that better
>>UI tools can be made. But even with that being the case there is reason
>>why you couldn't make a UI for the generation of a project from an
>>archetype.
>>
>>    
>>
>>>(3) Where should I start to build my own template?
>>>      
>>>
>>You can look at the existing archetypes which are simply JARs that
>>contain velocity templates and some metadata about what is actually in
>>the archetype. I will add some doco to the getting started guide about
>>archetypes as I think there is little known about them but they are
>>going to be highly useful.
>>
>>If you follow the current getting started guide and create a project:
>>
>>m2 archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app
>>
>>This will actually download the archetype to your local maven repository
>>and you can take a look at it. It will be in:
>>
>>$repo/org/apache/maven/archetypes/maven-archetype-quickstart/1.0-alpha-3
>>
>>    
>>
>>>(4) Finally, how to add a specific "script/behaviour" to a template in
>>>      
>>>
>>M2?
>>
>>The templates are velocity templates so you get the directives that
>>velocity provides and you can make your own velocity macros or tools. A
>>tool is simply a Java object that you drop into a velocity context so
>>you can really do whatever you want. I would think velocity itself would
>>give you enough flexibility.
>>
>>    
>>
>>>Thanks,
>>>
>>>Eric
>>>      
>>>
>>--
>>jvz.
>>
>>Jason van Zyl
>>jason at maven.org <http://maven.org>
>>http://maven.apache.org
>>
>>In short, man creates for himself a new religion of a rational
>>and technical order to justify his work and to be justified in it.
>>
>>-- Jacques Ellul, The Technological Society
>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>>For additional commands, e-mail: users-help@maven.apache.org
>>
>>
>>    
>>
>
>  
>
>------------------------------------------------------------------------
>
>No virus found in this incoming message.
>Checked by AVG Anti-Virus.
>Version: 7.0.344 / Virus Database: 267.11.7/112 - Release Date: 9/26/2005
>  
>


Re: [m2] Archetype Plugin parameters and templates

Posted by Eric Jacob <er...@gmail.com>.
Hi Jason,

Thanks for your fast answer. However, I took a look at the "
maven-archetype-quickstart-1.0-alpha-3.jar" in my local repository and I saw
no velocity templates... Here where I looked:

%USER_HOME%\.m2\repository\org\apache\maven\archetypes\maven-archetype-quickstart\1.0-alpha-3

Is it possible to provide a sample or a link to a velocity template on the
online source repository?

Thank you in advance,

Eric

On 9/27/05, Jason van Zyl <ja...@maven.org> wrote:
>
> On Mon, 2005-09-26 at 21:49 -0400, Eric Jacob wrote:
> > Hi,
> >
> > The M1 Genapp plugin offers the possibility to define custom parameters
> and
> > templates... So here my questions about the M2 Archetype plugin:
> >
> > (1) Does it offer the same possibilities?
>
> Yes, the templates for a archetype are actually velocity templates so
> more flexible then what's in genapp.
>
> > (2) Is it possible to prompt the user for the parameter's value?
>
> Archetypes were designed to do that. The parameters can come from
> anywhere as long they end up in a Map. The Map is used when rendering
> the velocity templates to parameterize the output.
>
> I would like to do more work on the archetypes in order to provide some
> metadata about the parameters for a particular archetype so that better
> UI tools can be made. But even with that being the case there is reason
> why you couldn't make a UI for the generation of a project from an
> archetype.
>
> > (3) Where should I start to build my own template?
>
> You can look at the existing archetypes which are simply JARs that
> contain velocity templates and some metadata about what is actually in
> the archetype. I will add some doco to the getting started guide about
> archetypes as I think there is little known about them but they are
> going to be highly useful.
>
> If you follow the current getting started guide and create a project:
>
> m2 archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app
>
> This will actually download the archetype to your local maven repository
> and you can take a look at it. It will be in:
>
> $repo/org/apache/maven/archetypes/maven-archetype-quickstart/1.0-alpha-3
>
> > (4) Finally, how to add a specific "script/behaviour" to a template in
> M2?
>
> The templates are velocity templates so you get the directives that
> velocity provides and you can make your own velocity macros or tools. A
> tool is simply a Java object that you drop into a velocity context so
> you can really do whatever you want. I would think velocity itself would
> give you enough flexibility.
>
> > Thanks,
> >
> > Eric
> --
> jvz.
>
> Jason van Zyl
> jason at maven.org <http://maven.org>
> http://maven.apache.org
>
> In short, man creates for himself a new religion of a rational
> and technical order to justify his work and to be justified in it.
>
> -- Jacques Ellul, The Technological Society
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>

Re: [m2] Archetype Plugin parameters and templates

Posted by Jason van Zyl <ja...@maven.org>.
On Mon, 2005-09-26 at 21:49 -0400, Eric Jacob wrote:
> Hi,
> 
> The M1 Genapp plugin offers the possibility to define custom parameters and
> templates... So here my questions about the M2 Archetype plugin:
> 
> (1) Does it offer the same possibilities?

Yes, the templates for a archetype are actually velocity templates so
more flexible then what's in genapp.

> (2) Is it possible to prompt the user for the parameter's value?

Archetypes were designed to do that. The parameters can come from
anywhere as long they end up in a Map. The Map is used when rendering
the velocity templates to parameterize the output.

I would like to do more work on the archetypes in order to provide some
metadata about the parameters for a particular archetype so that better
UI tools can be made. But even with that being the case there is reason
why you couldn't make a UI for the generation of a project from an
archetype.

> (3) Where should I start to build my own template?

You can look at the existing archetypes which are simply JARs that
contain velocity templates and some metadata about what is actually in
the archetype. I will add some doco to the getting started guide about
archetypes as I think there is little known about them but they are
going to be highly useful.

If you follow the current getting started guide and create a project:

m2 archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app

This will actually download the archetype to your local maven repository
and you can take a look at it. It will be in:

$repo/org/apache/maven/archetypes/maven-archetype-quickstart/1.0-alpha-3

> (4) Finally, how to add a specific "script/behaviour" to a template in M2?

The templates are velocity templates so you get the directives that
velocity provides and you can make your own velocity macros or tools. A
tool is simply a Java object that you drop into a velocity context so
you can really do whatever you want. I would think velocity itself would
give you enough flexibility.

> Thanks,
> 
> Eric
-- 
jvz.

Jason van Zyl
jason at maven.org
http://maven.apache.org

In short, man creates for himself a new religion of a rational
and technical order to justify his work and to be justified in it.

  -- Jacques Ellul, The Technological Society


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