Initialization of Extensions like Wagon happens after Retrieval of Parent-POM
-----------------------------------------------------------------------------

                 Key: MNG-3253
                 URL: http://jira.codehaus.org/browse/MNG-3253
             Project: Maven 2
          Issue Type: Bug
          Components: Artifacts and Repositories
    Affects Versions: 2.0.7
            Reporter: Benjamin Bentmann


Consider the following scenario:
Artifacts are stored in an organization-specific repository using some protocol 
like sftp, scp or ftp. To properly access this repository, one needs to enable 
the proper wagon using a build <extension>. No troubles so far. Now project 
"dummy" inherits configuration from project "parent". The corresponding 
Parent-POM needs not to be located in the local file system of the executing 
user (e.g not checked out from scm) but should be retrieved from the repository 
like any other artifact. Unfortunately, Maven initializes build extensions like 
wagon after the artifact resolution for the Parent-POM. So, when the Parent-POM 
needs to be retrieved from a repository and this repository requires a specific 
wagon but this wagon has not been initialized yet, the build will fail:{code}
[INFO] Scanning for projects...
[DEBUG] Searching for parent-POM: de.test:parent::SNAPSHOT of project: 
null:dummy:jar:null in relative path: ../pom.xml
[DEBUG] Parent-POM: de.test:parent::SNAPSHOT not found in relative path: 
../pom.xml
[DEBUG] Retrieving parent-POM: de.test:parent::SNAPSHOT for project: 
null:dummy:jar:null from the repository.
[INFO] snapshot de.test:parent:SNAPSHOT: checking for updates from some-ftp-repo
[WARNING] repository metadata for: 'snapshot de.test:parent:SNAPSHOT' could not 
be retrieved from repository: some-ftp-repo due to an error: Unsupported 
Protocol: 'ftp': Cannot find wagon which supports the requested protocol: ftp
...
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Failed to resolve artifact.
{code}

Initializing build extensions from the current project, at least core stuff 
like wagon, should be the first build task such that repository access is 
always possible.

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