Here are the answers Maarten: Issue #1: Can you please help me to understand how should i set reset system property using Ivy (i.e. how can i set proxy when i want to go to external repo and how can i reset proxy when i need to access internal repo)?
Issue #2: I tried using following in ivysettings.xml <url name="privateRepo" m2compatible="true"> <artifact pattern=" http://www.localrepo.com/maven2/[organisation]/[module]/[revision]/[artifact](-[revision]).[ext] "/></url> and below in ivy.xml <dependency org="pqr" name="xyz" rev=""/> but ivy tries to resolve it as http://www.localrepo.com/maven2/pqr/xyz//xyz-.jar"/<http://www.localrepo.com/maven2/pqr/xyz//xyz-.jar%22/> Note the Hyphen remains as is. Is there a way i can make "-" also optional? Issue #3: No i didnt specify any revision for commons-lang. Thanks Issue #5 is resolved using svn resolver. Thanks, Almas On Wed, Jun 9, 2010 at 2:17 AM, Maarten Coene <maarten_co...@yahoo.com>wrote: > A quick attempt to answer your questions. > > Issue #1: > It won't work since the proxy handling is done dynamically: everytime a > resource is downloaded. So setting/resetting the proxy in the constructor > won't do anything since nothing is downloaded there... > But I think you want to avoid Ivy to use a proxy for your private > repository. Right? Although I didn't test it, I think you can use the system > property http.nonProxyHosts for this (if you don't have commons-httpclient > in Ivy's classpath). > > > Issue #2: > Could you try setting the rev attribute to an empty string instead of > 'latest.integration' for those dependencies without revision? > > Issue #3: > It seems to me that Ivy thinks that 'work...@commons-lang' is the revision > of your axis dependency. Did you specify a revision in the axis2/ivy/ivy.xml > of your "commons-lang" repository? > > Issue #4 and #6: > I don't have any idea. Anyone else around here who can answer this > packager-resolver question? > > > Issue #5: > Ivy hasn't built-in support for publishing artifacts into SVN. But there is > an SVN resolver available (check the links on the website) which I think > support SVN publishing. > > regards, > Maarten > > > > > ----- Original Message ---- > From: Shaikh Almas <eralm...@gmail.com> > To: ivy-u...@ant.apache.org > Sent: Tue, June 8, 2010 6:34:26 PM > Subject: Re: Issue with Ivy custome resolver > > Hi Maarten, > > For below mentioned issue, here is the ivysettings.xml (Issue #1 is given > in > my below mail and ivysettings.xml is for the same) > > *Issue #1* > <ivysettings> > <settings defaultResolver="chained" defaultConflictManager="all" /> > <typedef name="almas" classname="com.xyz.ivy.ProxyUrlResolver"/> > <resolvers> > <almas name="privateRepo" m2compatible="true"> > <artifact pattern=" > > http://www.ibiblio.org/maven2/[organisation]/[module]/[revision]/[artifact]-[revision].[ext] > "/< > http://www.ibiblio.org/maven2/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]%22/ > > > > > </almas> > <url name="private"> > <artifact pattern=" > > http://www.internalCorporateRepo.org/maven2/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]<http://www.internalcorporaterepo.org/maven2/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]> > "/< > http://www.internalcorporaterepo.org/maven2/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]%22/ > > > > > </url> > <!-- Order in which the dependency would be resolved --> > <chain name="chained" returnFirst="true"> > <resolver ref="privateRepo" /> > <resolver ref="private" /> > </chain> > </resolvers> > </ivysettings> > And here's the code for ProxyUrlResolver > package com.xyz.ivy; > import org.apache.ivy.plugins.repository.url.URLRepository; > import org.apache.ivy.plugins.resolver.URLResolver; > import org.apache.ivy.util.Message; > public class ProxyUrlResolver extends URLResolver{ > private void setProxy(){ > System.setProperty("http.proxyHost", System.getProperty("proxyHost", " > proxy.xxxxxxx.net")); > System.setProperty("http.proxyPort", System.getProperty("proxyPort", > "8443")); > } > public ProxyUrlResolver(){ > Message.verbose("About to set the proxy"); > setProxy(); > setRepository(new URLRepository()); > Message.verbose("About to reset the proxy"); > resetProxy(); > } > > private void resetProxy(){ > System.setProperty("http.proxyHost", null); > System.setProperty("http.proxyPort", null); > } > } > I know that this is the wrong way. Can you please help me to get the > correct > way out of it please? > > *Issue#2* > > I have certain jar files without revision number. But as rev is mandatory > attribute for ivy dependency, i am providing the revision attribute. But i > have something like (-[revision]) in url resolver. but its taking the > module > number instead of ignoring the revision attribute. I know it wont ignore > the > revision attribute as its not null. > Following is the output that i get > default-cache: no cached resolved revision for > perltools#perltools;latest.integration [ivy:retrieve] tried [ivy:retrieve] > listing all in [ivy:retrieve] using privateRepo to list all in > [ivy:retrieve] ApacheURLLister found URL=[ > httP://myrepo/ivyRepository/perltools/jars/perltools.jar<http://myrepo/ivyRepository/perltools/jars/perltools.jar>]. > [ivy:retrieve] > found 1 resources [ivy:retrieve] found revs: [perltools.jar] [ivy:retrieve] > HTTP response status: 404 url= > > httP://myrepo/ivyRepository/perltools/jars/perltools.jar/perltools-perltools.jar.jar[ivy:retrieve]<http://myrepo/ivyRepository/perltools/jars/perltools.jar/perltools-perltools.jar.jar[ivy:retrieve]> > CLIENT ERROR: Not Found url= > > httP://myrepo/ivyRepository/perltools/jars/perltools.jar/perltools-perltools.jar.jar<http://myrepo/ivyRepository/perltools/jars/perltools.jar/perltools-perltools.jar.jar> > Can somebody please explain why its taking module.ext as revision where > revision i specified is latest.integration and in myrepo, i dont have > revision attribute. its just has > [http://myrepo/ivyRepository/perltools/jars//perltools.jar] > Can somebody please help me so that i can avoid revision attribute? > > *Issue #3* > > I ma using dual resolver and having a problem. > Following is what i get when i run through ant in debug and verbose mode([ > > http://repo1.maven.org/maven2/axis2/axis2/work...@commons-lang/axis2-work...@commons-lang.jar > ]) > [ivy:retrieve] resolved ivy file produced in > c:\temp\ivy\resolved-stratus-stratus-work...@wprmw07536f4bs.xml > [ivy:retrieve] > :: downloading artifacts :: [ivy:retrieve] [NOT REQUIRED] > config#ego;4.3.1!ego.conf [ivy:retrieve] trying [ > > http://repo1.maven.org/maven2/axis2/axis2/work...@commons-lang/axis2-work...@commons-lang.jar > ] > [ivy:retrieve] tried [ > > http://repo1.maven.org/maven2/axis2/axis2/work...@commons-lang/axis2-work...@commons-lang.jar > ] > [ivy:retrieve] HTTP response status: 404 url=[ > > http://repo1.maven.org/maven2/axis2/axis2/work...@commons-lang/axis2-work...@commons-lang.jar > ] > [ivy:retrieve] CLIENT ERROR: Not Found url=[ > > http://repo1.maven.org/maven2/axis2/axis2/work...@commons-lang/axis2-work...@commons-lang.jar > ] > [ivy:retrieve] ibiblio: resource not reachable for > axis2#axis2;work...@commons-lang: res=[ > > http://repo1.maven.org/maven2/axis2/axis2/work...@commons-lang/axis2-work...@commons-lang.jar > ] > [ivy:retrieve] WARN: [NOT FOUND ] axis2#axis2;work...@commons-lang > !axis2.jar > (235ms) [ivy:retrieve] WARN: ==== commons-lang: tried [ivy:retrieve] WARN: > ==== ibiblio: tried [ivy:retrieve] WARN: [ > > http://repo1.maven.org/maven2/axis2/axis2/work...@commons-lang/axis2-work...@commons-lang.jar > ] > [ivy:retrieve] [NOT REQUIRED] axis#axis-saaj;1.4!axis-saaj.jar > [ivy:retrieve] [NOT REQUIRED] axis#axis-wsdl4j;1.5.1!axis-wsdl4j.jar > Can you please tell me what is wrong with my ivysetting file or wrong with > ivy file? > Following is excerpt from ivysettings.xml > <dual name="dual4"> > <filesystem name="commons-lang"> > <ivy pattern="${localRepositoryLocation}/[module]/ivy/ivy.xml"/> > </filesystem> > <ibiblio name="ibiblio" m2compatible="true" usepoms="false" /> </dual> > The problem (may be) is for each and every dependancy that i defined i have > seperate ivy.xml. and just one reolver as above? like just for an exampe, > for axis2.jar i have two dependancies in another ivy.xml, the dependencies > are axis-saaj and axis-wsdl4j. > Please help > > *Issue #4* > > I am using packager resolver and that packager resolver resolves the zip > file, unzip it, extracts the jar file from it in temp build file, but it > stays temporarily and only the jar file which i specified as a module name > gets copied to destination rest of all are ignored. Is there a way i can > get > all the jar files? I use preseverBuildDirectories but is there a better way > to do it? > > *Issue #5* > Also is it possible for me to publish an artifact to svn using normal ivy? > I > got error while i was trying to use ivy 2.1.0 on XP using ant 1.8.0 > java.illegalArguementException saying authorization failed. Is there a way > i > can work through ivy:publish? > > *Issue #6* > > Is there a way i can use ivy variable in packager.xml? > > Please help. > > Thanks, > Almas > On Mon, Jun 7, 2010 at 2:27 AM, Maarten Coene <maarten_co...@yahoo.com > >wrote: > > > Can you post your settings.xml so we can see what you already have done? > > > > Maarten > > > > > > > > ----- Original Message ---- > > From: Shaikh Almas <eralm...@gmail.com> > > To: ivy-u...@ant.apache.org > > Sent: Sun, June 6, 2010 11:24:06 AM > > Subject: Issue with Ivy custome resolver > > > > Hi, > > Can anyone help me with creating custom ivy resolver. I wish to extend > > URLResolver, such that it will have a new class say called > ProxyURLResolver > > where i will set the proxy, resolve the artifact and then remove the > proxy > > setting. I tried extending URLResolver directly before calling > > setRepository > > method and reseting after and had typedef as well in ivysettings.xml, but > > it > > didn't worked. Can you please help me by telling the exact steps that i > > need > > to follow to create new cutom resolver? > > > > Almas > > > > > > > > > > > > > > >