You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Joakim Erdfelt (JIRA)" <ji...@codehaus.org> on 2007/05/22 21:28:59 UTC

[jira] Closed: (MRM-244) Mirror/Proxy functionality is broken in Archiva

     [ http://jira.codehaus.org/browse/MRM-244?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Joakim Erdfelt closed MRM-244.
------------------------------

    Resolution: Fixed

> Mirror/Proxy functionality is broken in Archiva
> -----------------------------------------------
>
>                 Key: MRM-244
>                 URL: http://jira.codehaus.org/browse/MRM-244
>             Project: Archiva
>          Issue Type: Bug
>          Components: remote proxy
>    Affects Versions: 1.0-alpha-1
>            Reporter: Aaron Digulla
>            Assignee: Joakim Erdfelt
>            Priority: Critical
>             Fix For: 1.0-alpha-1
>
>
> Currently, the archiva admin has to specify which sites Archiva should proxy/mirror and in which managed repository the downloaded artefacts should end up.
> This approach has several drawbacks:
> - Resources with a similar name but from different sites can end up in the same managed repository. This is deadly if there is a bug in the resource which is fixed on site A but archiva downloads it from B. Since the resource exists, Archiva will not download it again even after the problem is fixed and the maven mirrors re-synchronized.
> - Since every POM can define their own repositories, it's very hard to maintain the list of proxied repositories. The situation gets worse when you download a new plugin which in turn wants artefacts from other sites which are not yet in the list. Maven will not use Archiva for these which means every developer downloads those resources.
> This also means I have to configure maven to be able to access the internet directly while I would prefer to be able to force it to make all connections via archiva. This way, I can fix all broken POMs inhouse, for example.
> - In maven's settings, I have to specify which mirrors exist. The key for the decision is the ID of the repository. Unfortunately, the ID is just an arbitrary string. Many projects use different IDs for the same repository. Some use "codehaus.org", some use "codehaus". I've seen POMs which think "codehaus.org" is for snapshots while they use "codehaus" for the releases.
> In the end, there is no way to map repository "IDs" to mirrors which will work for all maven projects out there.
> Therefore, I suggest that you change the handling of proxied repositories. Instead of using mirror settings, I would prefer to use the proxy settings of maven to integrate Archiva.
> Archiva should keep a blacklist of repositories which are to be ignored but everything else should be downloaded into a mirror directory which contains the hostnames of the sites as first level. This means artefacts from "http://people.apache.org/maven-snapshot-repository/" would end up in C:\archiva\mirror\people.apache.org\maven-snapshot-repository\..."
> If the port number is != 80, you can add another level for the port.
> This should allow us to force maven to download everything through Archiva. We would be able to control which plugins and which versions are used and we could fix broken POMs. We could even put patched versions of plugins into the mirror directory.

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