Taking a copy of someone else's repo is definitely the "hard way".

Archiva is configured out of the box to proxy files on demand. So let's say you started a new instance of Archiva on http://defiant/archiva/

You should be able to use this:

<ibiblio name="mavenProxy" m2compatible="true" usepoms="true"
root="http://defiant/archiva/repository/internal/"; pattern="$ {artifact.pattern}" />

You should find that this will copy the files you need from repo1.maven.org to Archiva on the fly.

HTH,
Brett

On 23/11/2008, at 10:52 PM, Andrew Marlow wrote:

hello,

I am new to archiva and I am struggling. It seems really hard to set things up so that my ant build with ivy will work. I can only get it to work when I tell ivy that the repo is an established maven2 mirror.

I want to have my own repo mgd by archiva. I tried setting one by hand but I couldn't get it to work and even if I could, it would be really tedious to set up every pom and jar by hand. Not to mention that to do so would involve having all the poms and jars so that they could be uploaded to archiva in the first place. So I thought I would use wget to download a complete repo from maven2.atlassian.com. This download eventually completed and all the poms and jars were there. I configured apache so that the repo was available via my local web server. I can browse this repo just fine. I then changed my ivy config to point to these pages using this directive:

  <ibiblio name="mavenProxy" m2compatible="true" usepoms="true"
    root="http://defiant/maven2/"; pattern="${artifact.pattern}" />

(defiant is the name of my machine). This gave an interesting result in ivy. It initially said it resolved everything, giving successful download messages for all the jars. It populated the ivy cache as well. But then it gave an error for every jar, as shown by the sample below:

[ivy:resolve]           module not found: org.apache.commons#commons-parent;9
[ivy:resolve]   ==== mavenProxy: tried
[ivy:resolve]    
http://defiant/maven2/org/apache/commons/commons-parent/9/commons-parent-9.pom
[ivy:resolve] -- artifact org.apache.commons#commons-parent;9! commons-parent.jar:
[ivy:resolve]    
http://defiant/maven2/org/apache/commons/commons-parent/9/commons-parent-9.jar
[ivy:resolve] impossible to load parent for file:/G:/mystuff/ivy- cache/commons-lang/commons-lang/ivy-2.4.xml.original. Parent=org.apache.commons#commons-parent;9 [ivy:resolve] impossible to load parent for file:/G:/mystuff/ivy- cache/commons-collections/commons-collections/ ivy-3.2.1.xml.original. Parent=org.apache.commons#commons-parent;9 [ivy:resolve] impossible to load parent for file:/G:/mystuff/ivy- cache/commons-fileupload/commons-fileupload/ivy-1.2.1.xml.original. Parent=org.apache.commons#commons-parent;7 [ivy:resolve] module not found: com.thoughtworks.xstream#xstream; 1.2.2
[ivy:resolve]   ==== mavenProxy: tried
[ivy:resolve]    
http://defiant/maven2/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2.pom
[ivy:resolve] -- artifact com.thoughtworks.xstream#xstream;1.2.2! xstream.jar:


I have a feeling that this is because I tried to cheat and tell ivy that I am using an archiva repo when actually they are just web pages I downloaded from atlassians archiva repo. So I suppose I should populate my own repo based on the web pages I now have. But how do I do this as a bulk operation? Can anybody help please? I am using version 1.1.3 of archiva and version 2.0.0-rc1 of ivy.

--
Regards,

Andrew Marlow
http://www.andrewpetermarlow.co.uk

--
Brett Porter
[EMAIL PROTECTED]
http://blogs.exist.com/bporter/

Reply via email to