ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "John Brugge" <John.Bru...@isthmusgroup.com>
Subject Re: Resolving latest "integration" artifacts
Date Wed, 06 Dec 2006 15:43:46 GMT
Another thing I just remembered: the <ssh> resolver has a dependency on
jsch that I didn't have. My Ant 1.6.5 came with Fedora Core 5, which I
believe gets it from JPackage, and the jsch I had was jsch-0.1.18. When I
first ran with the <ssh> resolver, I got the following error.

java.lang.NoSuchMethodError: com.jcraft.jsch.ChannelExec.isClosed()Z

I updated my JAR to jsch-0.1.30.jar and the problem was fixed. You might
want to declare the explicit dependency you have on jsch in your docs ;-)

I'm also wondering why you have a Swing pop-up to prompt for password in
the ssh/sftp resolvers. It seems decidedly non-Ant.

Thanks,
John

John Brugge said:
> Okay, I've made some progress, and have most of it working, but still have
> a couple of questions.
>
> It appears that the first big missing piece was that the ivy file for the
> component was not actually being uploaded, and so, as Gilles guessed, the
> ivy file I was getting on resolve was a default one. I think my confusion
> over this is something that could be entered as a defect; the
> <ivy:publish> Ant task wasn't reporting a failure in the ssh resolver, so
> I too quickly assumed that everything was okay.
>         ivy-publish:
>         [ivy:publish] :: publishing :: [ inat3 | ldap-impl-jndi ]
>         [ivy:publish]   published ldap-impl-jndi to
> http://cvs.svc.tds.net/inat3deps/inat3deps/inat3/ldap-impl-jndi-1.0.0-dev-1.0.0-dev.jar
>         [ivy:publish]   published ivy to
> http://cvs.svc.tds.net/inat3deps/inat3deps/ivy/ldap-impl-jndi/ivy-ivy.xml
>
> When I checked the files on the server I saw the upload never really
> happened. I ran 'ant resolve -d' and saw the problem quickly:
>         [ivy:publish] SShRepository:put called:
> http://cvs.svc.tds.net/inat3deps/inat3deps/ivy/ldap-impl-jndi/ivy-ivy.xml.md5
>         [ivy:publish] ERROR: Wrong scheme in URI. Expected ssh as scheme!:
> http://cvs.svc.tds.net/inat3deps/inat3deps/ivy/ldap-impl-jndi/ivy-ivy.xml.md5
>         [ivy:publish] ERROR: The uri is in the wrong format.
>         [ivy:publish] ERROR: Please use
> scheme://user:pass@hostname/path/to/repository
>
> Once I fixed my mixed up ant properties, I got the publishing working and
> the ivy file went up fine along with the component. When I went to resolve
> from a project that depends on it, it worked like a charm. Success!
>
> The last piece of the puzzle was to get it to re-publish the ivy file when
> the JAR file changed. What I found was that if I changed the JAR file and
> ran the publish task again, the timestamps of the files on the server
> changed (both the JAR and the ivy file), but the contents didn't. I
> finally added 'forcedeliver="true"' to the publish task and it is now
> working the way I think it should.
>
> So now my question is this: for integration artifacts, do I need to have
> "forcedeliver='true'" in order to get my changing JAR files published
> properly? I'm not clear on the 'deliver' concept, I realize, and now I
> can't find it in the docs again (I did find it once).
>
> Thanks again,
> John
>
> Xavier Hanin said:
>> Mmm, it's strange, what you did first should be working. Using the
>> changingPattern should tell ivy that your -dev revision is a changing
>> one,
>> and Ivy should check for updates of your jars. So it may be a bug in
>> Ivy...
>>
>> On 12/5/06, John Brugge <John.Brugge@isthmusgroup.com> wrote:
>>>
>>> I am trying to get Ivy to recognize updated "integration" releases of
>>> JAR
>>> files in our repository, and am not having much luck. I am new to Ivy,
>>> so
>>> I may well be missing some core concept or misusing some features. Any
>>> tips are appreciated.
>>>
>
>


Mime
View raw message