ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Shaikh Almas <eralm...@gmail.com>
Subject Re: Issue with Ivy custome resolver
Date Tue, 08 Jun 2010 16:34:26 GMT
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]%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]. [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]
CLIENT ERROR: Not Found url=
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/working@commons-lang/axis2-working@commons-lang.jar
])
[ivy:retrieve] resolved ivy file produced in
c:\temp\ivy\resolved-stratus-stratus-working@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/working@commons-lang/axis2-working@commons-lang.jar]
[ivy:retrieve] tried [
http://repo1.maven.org/maven2/axis2/axis2/working@commons-lang/axis2-working@commons-lang.jar]
[ivy:retrieve] HTTP response status: 404 url=[
http://repo1.maven.org/maven2/axis2/axis2/working@commons-lang/axis2-working@commons-lang.jar]
[ivy:retrieve] CLIENT ERROR: Not Found url=[
http://repo1.maven.org/maven2/axis2/axis2/working@commons-lang/axis2-working@commons-lang.jar]
[ivy:retrieve] ibiblio: resource not reachable for
axis2#axis2;working@commons-lang: res=[
http://repo1.maven.org/maven2/axis2/axis2/working@commons-lang/axis2-working@commons-lang.jar]
[ivy:retrieve] WARN: [NOT FOUND ] axis2#axis2;working@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/working@commons-lang/axis2-working@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_coene@yahoo.com>wrote:

> Can you post your settings.xml so we can see what you already have done?
>
> Maarten
>
>
>
> ----- Original Message ----
> From: Shaikh Almas <eralmas7@gmail.com>
> To: ivy-user@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
>
>
>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message