Return-Path: Delivered-To: apmail-jakarta-ant-user-archive@apache.org Received: (qmail 74363 invoked from network); 28 Dec 2001 13:30:51 -0000 Received: from unknown (HELO nagoya.betaversion.org) (192.18.49.131) by daedalus.apache.org with SMTP; 28 Dec 2001 13:30:51 -0000 Received: (qmail 25983 invoked by uid 97); 28 Dec 2001 13:30:42 -0000 Delivered-To: qmlist-jakarta-archive-ant-user@jakarta.apache.org Received: (qmail 25948 invoked by uid 97); 28 Dec 2001 13:30:38 -0000 Mailing-List: contact ant-user-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Ant Users List" Reply-To: "Ant Users List" Delivered-To: mailing list ant-user@jakarta.apache.org Received: (qmail 15959 invoked from network); 27 Dec 2001 14:20:54 -0000 Message-ID: <001101c18ee1$60f8fa00$08649dd9@daddy> From: "Max" To: "Ant Users List" References: <20011227173848.C1518@socialchange.net.au> <20011227185652.D1518@socialchange.net.au> Subject: Sv: [OT] Ant-driven update system (Re: Best way to add file to CVS repository?) Date: Thu, 27 Dec 2001 15:18:36 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.00.2615.200 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2615.200 X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N 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 -----=20 From: Jeff Turner To: Cc: Ant Developers List 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:) >=20 >=20 > Incidentally, 'diff -N' is not a general, nor cross-platform, solution > to the problem of how to convey updates. >=20 > 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. >=20 > Basically, a jar file that knows what to do with itself. Much like an > RPM or .deb file. >=20 > These jars are 'applied' to a system by running another Ant script, > which: >=20 > - 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. >=20 >=20 > 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. >=20 >=20 > 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. >=20 >=20 > --Jeff >=20 >=20 > 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. =20 > > >=20 > > > 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? > >=20 > > One way is to: > >=20 > > 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' :) > >=20 > > b) Do a 'cvsdo add ', which modifies CVS/Entries to mark the = file > > as new (without contacting the server). > >=20 > > c) Generate the diff with 'cvs -RuN' (Recursion, unified, New = files). > > 'man diff' says: > >=20 > > -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. > >=20 > >=20 > > I can add this to the task guidelines if it's not deemed to hackish = :) > >=20 > >=20 > > --Jeff > >=20 > > -- > > To unsubscribe, e-mail: = > > For additional commands, e-mail: = >=20 > -- > To unsubscribe, e-mail: = > For additional commands, e-mail: = >=20 >=20 -- To unsubscribe, e-mail: For additional commands, e-mail: