You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Herve Boutemy (JIRA)" <ji...@codehaus.org> on 2011/08/17 23:06:32 UTC

[jira] Commented: (ARCHETYPE-366) Maven mirror consulted after, rather than instead of, archetypeRepository URL

    [ https://jira.codehaus.org/browse/ARCHETYPE-366?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=276273#comment-276273 ] 

Herve Boutemy commented on ARCHETYPE-366:
-----------------------------------------

I'm uneasy with this patch
I understand that it fixes your precise test case (with so few code change)
but I'm not sure it is ok for every other use case: not using the url explicitely defined in the CLI as a first choice seems strange
I don't have a precise real-world use case where this order would be used to do something useful, but I'm careful when it comes to such change

In fact, when I look at repository use in archetype plugin, it seems that not defining an id is a problem (or using archetype-artifactId-repo isn't really great)

but adding id support for repositories is a non-trivial task...

> Maven mirror consulted after, rather than instead of, archetypeRepository URL
> -----------------------------------------------------------------------------
>
>                 Key: ARCHETYPE-366
>                 URL: https://jira.codehaus.org/browse/ARCHETYPE-366
>             Project: Maven Archetype
>          Issue Type: Bug
>          Components: Generator
>    Affects Versions: 2.0
>         Environment: Ubuntu 10.04, JDK 6.
>            Reporter: Jesse Glick
>            Priority: Minor
>         Attachments: ARCHETYPE-366.diff
>
>
> I have a local Nexus instance running, with a mirror of Central, and in {{settings.xml}}:
> {noformat}
> <mirror>
>     <id>central</id>
>     <mirrorOf>central</mirrorOf>
>     <url>.../content/repositories/central/</url>
> </mirror>
> {noformat}
> This works fine for normal Maven operations. However, {{archetype:generate}} tries to download from the public repo _first_. So when I am online, after typing this:
> {noformat}
> rm -rf ~/.m2/repository/org/codehaus/mojo/archetypes test
> mvn -DarchetypeVersion=1.2 -Darchetype.interactive=false -DgroupId=test -DarchetypeArtifactId=osgi-archetype -DarchetypeRepository=http://repo1.maven.org/maven2/ -Dversion=1.0-SNAPSHOT -DarchetypeGroupId=org.codehaus.mojo.archetypes -Dbasedir=/tmp -Dpackage=test -DartifactId=test --batch-mode archetype:generate
> {noformat}
> I see:
> {noformat}
> [INFO] Archetype defined by properties
> Downloading: http://repo1.maven.org/maven2/org/codehaus/mojo/archetypes/osgi-archetype/1.2/osgi-archetype-1.2.jar
> Downloaded: http://repo1.maven.org/maven2/org/codehaus/mojo/archetypes/osgi-archetype/1.2/osgi-archetype-1.2.jar (4 KB at 8.7 KB/sec)
> Downloading: http://repo1.maven.org/maven2/org/codehaus/mojo/archetypes/osgi-archetype/1.2/osgi-archetype-1.2.pom
> Downloaded: http://repo1.maven.org/maven2/org/codehaus/mojo/archetypes/osgi-archetype/1.2/osgi-archetype-1.2.pom (947 B at 8.3 KB/sec)
> {noformat}
> with no mention of Nexus; when I am offline:
> {noformat}
> [INFO] Archetype defined by properties
> Downloading: http://repo1.maven.org/maven2/org/codehaus/mojo/archetypes/osgi-archetype/1.2/osgi-archetype-1.2.jar
> Downloading: http://localhost:6969/nexus/content/repositories/central/org/codehaus/mojo/archetypes/osgi-archetype/1.2/osgi-archetype-1.2.jar
> Downloaded: http://localhost:6969/nexus/content/repositories/central/org/codehaus/mojo/archetypes/osgi-archetype/1.2/osgi-archetype-1.2.jar (4 KB at 128.8 KB/sec)
> Downloading: http://repo1.maven.org/maven2/org/codehaus/mojo/archetypes/osgi-archetype/1.2/osgi-archetype-1.2.pom
> Downloading: http://localhost:6969/nexus/content/repositories/central/org/codehaus/mojo/archetypes/osgi-archetype/1.2/osgi-archetype-1.2.pom
> Downloaded: http://localhost:6969/nexus/content/repositories/central/org/codehaus/mojo/archetypes/osgi-archetype/1.2/osgi-archetype-1.2.pom (947 B at 57.8 KB/sec)
> {noformat}
> once this resource is cached in the Nexus mirror repo. (Since the online command does not ask Nexus, it normally is _not_ cached there and offline project creation simply fails; to force Nexus to cache it, I need to ask Maven to download it as a dep of something.)
> If I do not specify an explicit {{archetypeRepository}} then I get
> {noformat}
> [INFO] Archetype repository missing. Using the one from [org.codehaus.mojo.archetypes:osgi-archetype:1.2] found in catalog remote
> {noformat}
> and Nexus is consulted first, but this parameter is needed as a workaround for ARCHETYPE-344.
> One complicating factor with this example is that the 1.2 release of the archetype does not seem to be present in the Central index; I have no clue why. (It was released on February 15, i.e. more than three weeks ago, and my understanding is that the index is rebuilt weekly.) May not have anything to do with this bug, though.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira