maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jesse Glick (JIRA)" <j...@codehaus.org>
Subject [jira] Commented: (ARCHETYPE-366) Maven mirror consulted after, rather than instead of, archetypeRepository URL
Date Wed, 09 Mar 2011 23:49:22 GMT

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

Jesse Glick commented on ARCHETYPE-366:
---------------------------------------

I intentionally do not use {{<mirrorOf>*</mirrorOf>}} since that prevents me from
building random projects which rely on special repositories not proxied by my local Nexus
instance. Nor should it be required in this case - the archetype is in Central, I am specifying
on the command line that it should be looked for in Central, I have a proxy for Central, and
that proxy is configured.

Anyway _something_ in {{archetype:generate}}'s execution clearly recognizes the proxy, since
it does consult it after failing to connect to {{repo1.maven.org}}. The point is that when
there is a matching mirror setting, the search should be confined to the local repository
and then to the mirror, never to the original remote URL.

There is no more build output of interest. {{Generating project in Batch mode}}, the lines
I listed earlier, and generic Maven noise.

http://maven.apache.org/archetype/maven-archetype-plugin/generate-mojo.html#archetypeRepository
is the only documentation on this parameter. It seems to be expecting a URL.

> Maven mirror consulted after, rather than instead of, archetypeRepository URL
> -----------------------------------------------------------------------------
>
>                 Key: ARCHETYPE-366
>                 URL: http://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
>
> 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.
-
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

        

Mime
View raw message