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:[EMAIL PROTECTED]/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 <[EMAIL PROTECTED]> 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. >>> > >
