[ http://jira.codehaus.org/browse/MRM-244?page=all ]

Brett Porter updated MRM-244:
-----------------------------

    Fix Version/s: 1.0

> 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
>            Reporter: Aaron Digulla
>            Priority: Critical
>             Fix For: 1.0
>
>
> 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

        

Reply via email to