[ 
http://jira.codehaus.org/browse/ARCHETYPE-273?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Stevo Slavic updated ARCHETYPE-273:
-----------------------------------

    Attachment: 
org.apache.maven.archetype.maven-archetype-ARCHETYPE-220_&_273_interactive_combo.patch

Here is a new patch 
[^org.apache.maven.archetype.maven-archetype-ARCHETYPE-220_&_273_interactive_combo.patch].
 New mojo has been renamed to ImportMojo, and it's goal has been renamed too 
from "import-catalog" to just "import" since it now supports importing not only 
all archetypes but also importing just single fully specified archetype from 
given remote archetype repository, in both interactive and non-interactive mode.

E.g. to import all weld archetypes one can issue:

{code}
mvn archetype:import \
-Drepository=http://anonsvn.jboss.org/repos/weld/archetypes/tags/1.0.0-BETA1 \
-DinteractiveMode=false
{code}

or to have just weld-jsf-jee imported:

{code}
mvn archetype:import \
-Drepository=http://anonsvn.jboss.org/repos/weld/archetypes/tags/1.0.0-BETA1 \
-Dsettings.interactiveMode=false -DarchetypeArtifactId=weld-jsf-jee \
-DarchetypeGroupId=org.jboss.weld.archetypes \
-DarchetypeVersion=1.0.0-BETA1
{code}

(note: "\" and line breaks are only included for "pretty printing", and should 
not be present in actual command)

When importing archetypes from a repository in (default) interactive mode, 
archetype selector will offer user to chose from archetypes found in remote 
archetype catalog, appended at the start of the archetype list with "all" 
option which if chosen (option 1) will result in having all remote catalog 
archetypes imported in local archetype catalog and repository.

repositoryId is present and optional for repositories which require 
authentication.

Notice that in this comment examples 
http://anonsvn.jboss.org/repos/weld/archetypes/tags/1.0.0-BETA1 is not path to 
maven 2 repository, but it points archetype plugin to archetype-catalog.xml 
file, while archetype artifacts will actually get resolved from maven central 
repository as neither (initially) local nor that remote repository URL do not 
contain archetype artifacts, while central does.

Patch doesn't add new tests, existing ones pass. Will try to add some 
integration tests later in a separate patch.

Note that because of bug in maven 2 (fixed in maven 3 alphas) and jetty 6 
(fixed in jetty 7) existing tests (even without patch) will not pass if project 
build path contains spaces.

> add goal to import remote archetype catalog into local catalog
> --------------------------------------------------------------
>
>                 Key: ARCHETYPE-273
>                 URL: http://jira.codehaus.org/browse/ARCHETYPE-273
>             Project: Maven Archetype
>          Issue Type: New Feature
>          Components: Archetypes
>    Affects Versions: 2.0-alpha-4
>            Reporter: Dan Allen
>         Attachments: 
> org.apache.maven.archetype.maven-archetype-ARCHETYPE-220_&_273_interactive_combo.patch,
>  org.apache.maven.archetype.maven-archetype-ARCHETYPE-273_&_220_combo.patch
>
>
> If I've just published a new archetype, I need to be able to provide the 
> developer with a command that allows them to "educate" their local catalog 
> about the new archetypes that area available. Currently, it's possible to 
> specify an archetype catalog for a single run of the generate goal:
> mvn archetype:generate -DarchetypeCatalog=http://example.com/maven2
> But the catalog is transient. Those entries are not "remembered". The next 
> time I run the generate goal...
> mvn archetype:generate
> ...the archetypes in the catalog provided in the previous command are not 
> offered as options.
> This is especially problematic when using an IDE to create a new Maven 
> project, because the mechanism for providing an archetype catalog differs in 
> each IDE. We want them to be in the local repository. Simply point, it's too 
> much information for the developer to have to reconcile, especially since 
> using an archetype is likely the developer's first exposure to your project. 
> It needs to be simple.
> What I'm looking for is a command that I can give the developer to import the 
> entries from a remote archetype catalog. A discovery mechanism so to speak.
> I envision the following sequence to work:
> mvn archetype:import -DarchetypeCatalog=http://example.com/maven2
> mvn archetype:generate
> At this point, the developer would see options for the imported archetypes. 
> The import goal could even download the archetype JAR files at the same time. 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to