Have you looked at Java Webstart ? It has things like jar-diffs, version-checking, automatic download etc. - you might use some of that.
With hope Max ----- Original Message ----- From: Jeff Turner <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Cc: Ant Developers List <[EMAIL PROTECTED]> Sent: Thursday, December 27, 2001 8:56 AM Subject: [OT] Ant-driven update system (Re: Best way to add file to CVS repository?) > (Cc'ing ant-dev for thread continuity.. please don't reply there:) > > > Incidentally, 'diff -N' is not a general, nor cross-platform, solution > to the problem of how to convey updates. > > I'd like to invent one though :) I was thinking along the lines of a > .jar file containing updates, with an Ant script, META-INF/control.xml, > which describes how the contents of the jar must be applied. > > Basically, a jar file that knows what to do with itself. Much like an > RPM or .deb file. > > These jars are 'applied' to a system by running another Ant script, > which: > > - optionally fetches the jar via a HTTP GET. > - verifies the jar signature > - unpacks the jar, and transfers control to META-INF/control.xml, > which: > - Ensures that the files to be replaced/patched validate against a > MD5 checksum (to be sure we're not overwriting modifications) > - If they do, replace/patch/remove them. > - Optionally do things like restart Tomcat, if the updates are for a > website. > - Control then passes back to the invoking script, which cleans up. > > > My primary use-case is that of distributing updates to a client-managed > website. Each 'update' consists of new/modified jars, a few JSPs, and > perhaps a web.xml modification. These can't be done via CVS because > they're behind a firewall, and can't be done with 'diff', because > they're on WinNT. Hence the need for a cross-platform mechanism for > applying self-contained updates. > > > Anyone know of something like this, or a better solution? If anyone's > interested, I have a prototype (without the jar signature verification > or MD5 checksumming), and would be happy to collaborate further in the > development of such a system. > > > --Jeff > > > On Thu, Dec 27, 2001 at 05:38:48PM +1100, Jeff Turner wrote: > > On Wed, Dec 26, 2001 at 08:36:15PM -0600, Steve Cohen wrote: > > > What is the best way for someone not a committer to submit a totally new > > > file for the ant CVS repository? Last time I did this, I just sent it > > > an an attachment with the bug report I'd submitted. > > > > > > However, this seems like a kludgey way to go about it. Ideally, it > > > seems to me, a new file should fit into the CVS patch file the way > > > anything else does. But of course, since you haven't checked it out, > > > CVS knows nothing about it and cvs diff won't work. Is there a way to > > > get this into the patches file? Or is sending it as a separate > > > attachment the only way? > > > > One way is to: > > > > a) get the cvsutils scripts from http://www.red-bean.com/cvsutils/. > > Worth getting anyway. I don't know what I'd do without 'cvsco' :) > > > > b) Do a 'cvsdo add <file>', which modifies CVS/Entries to mark the file > > as new (without contacting the server). > > > > c) Generate the diff with 'cvs -RuN' (Recursion, unified, New files). > > 'man diff' says: > > > > -N > > --new-file > > In directory comparison, if a file is found in only one directory, > > treat it as present but empty in the other directory. > > > > > > I can add this to the task guidelines if it's not deemed to hackish :) > > > > > > --Jeff > > > > -- > > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> > > For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> > > -- > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> > For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> > > -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>