[ 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