Apply profiles from settings.xml to POMs built from the repository
------------------------------------------------------------------

                 Key: MNG-4148
                 URL: http://jira.codehaus.org/browse/MNG-4148
             Project: Maven 2
          Issue Type: Improvement
          Components: Artifacts and Repositories, POM, Profiles
    Affects Versions: 2.1.0
            Reporter: John Casey
         Attachments: test-mng3553.zip

When we declare a profile in the settings.xml, it will never be applied to POMs 
loaded from the Maven repository. This means that overriding the central 
repository definition - for instance - cannot be done without using mirror 
definitions, since transitive dependencies (any dependency of a direct 
dependency) will skip the modified definition and use the original from the 
super-POM instead.

I'm attaching a testing setup that was originally reported for MNG-3553, which 
exhibits this problem when dealing with scope == import. The instructions for 
using it are as follows:

{noformat}
I installed locally a nexus server (1.3.3 Open Source) and I'm using maven 
2.1.0 (I reproduced the issue with 2.0.10).
In the releases repository of nexus you upload all artifacts given in the 
toUpload directory :

    * parent 1.0.0 pom
    * dependencies 1.0.0 pom
    * module 1.0.0 pom and jar

You'll find in the root of the archive my settings. It defines to use nexus for 
the central repository.
You launch a build of the project and you'll have :

[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building Unnamed - org.apache.maven.it.mng3553:project:jar:1.0.0-SNAPSHOT
[INFO]    task-segment: [install]
[INFO] ------------------------------------------------------------------------
[INFO] [resources:resources]
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, 
i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory 
E:\jtb\workspaces\tests\test-mng3553\project\src\main\resources
Downloading: 
http://localhost:8081/nexus/content/groups/public//org/apache/maven/it/mng3553/module/1.0.0/module-1.0.0.pom
867b downloaded  (module-1.0.0.pom)
Downloading: 
http://repo1.maven.org/maven2/org/apache/maven/it/mng3553/dependencies/1.0.0/dependencies-1.0.0.pom
[WARNING] Unable to get resource 
'org.apache.maven.it.mng3553:dependencies:pom:1.0.0' from repository central 
(http://repo1.maven.org/maven2): Authorization fai
led: Access denied to: 
http://repo1.maven.org/maven2/org/apache/maven/it/mng3553/dependencies/1.0.0/dependencies-1.0.0.pom
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Failed to resolve artifact.
GroupId: org.apache.maven.it.mng3553
ArtifactId: dependencies
Version: 1.0.0
Reason: Unable to download the artifact from any repository
  org.apache.maven.it.mng3553:dependencies:pom:1.0.0
from the specified remote repositories:
  central (http://repo1.maven.org/maven2)
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1 second
[INFO] Finished at: Thu Apr 30 15:19:47 CEST 2009
[INFO] Final Memory: 6M/254M
[INFO] ------------------------------------------------------------------------


You can see that the project downloads successfully the module-1.0.0 from nexus 
but it fails for depencencies which is an import. It tries to download it from 
the real central repository and not from the one I defined in my settings.
The behavior is inconsistent...
{noformat}

-- 
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