Actually, I think you are right about the merging issue - this is quite a complicated task. It was definitely a mistake to bring this issue to the table in this context ;-)
Making simple backup copies is another issue. This is simple and corresponds to a need with is widely recognized, IMHO. Also, a simple way to copy a file if and only if the destination doesn't exist is needed. Current solution with a separate test + property + target for each file is clumsy and generates code which is hard to read. --michael Jose Alberto Fernandez wrote: > All this backup/merging stuff looks to me like a completely different task. > I prefer simple taks that can be conbined as opposed to supper tasks that do > everything to everyone. > > > -----Original Message----- > > From: Michael Kolmodin [mailto:[EMAIL PROTECTED] > > Sent: Monday, September 18, 2000 10:55 AM > > To: [EMAIL PROTECTED] > > Subject: Re: Remarks: file copy, subprojects, ant install > > > > > > > > >>>>>> "MK" == Michael Kolmodin <[EMAIL PROTECTED]> writes: > > > > > > MK> - Filecopy: the options are not flexible enough i. e. when > > > MK> handling configuration files. > > > > > >We are in the course of reworking the file handling tasks so this is > > >the right time to speak up. Currently we have overwrite if source is > > >newer (the default) and always overwrite (if forceoverwrite has been > > >set). Have you thought about how to state the additional options > > >(speaking of attributes)? > > > > Hm... I've thought, but not thoroughly. Just some ideas: > > > > Src=... dest=... > > backup="Yes|No" ifExist="ignore|newer|force|alternate" > > > > Backup = "true" => make backup copy if a copy is done. Ant selects > > the name for the backup file on a per-platform basis (.BAK, .OLD ...) > > > > ifExist = "ignore" => never copy file if it already exists. > > = "newer" => copy file if src newer than destination > > = "force" => copy file unconditionally > > = "alternate" => copy src file to alternate > > destination, i. e. > > 'dest.dist' if destination exists. Possibly > > backup if 'dest.dist' also exists. > > > > Compatibility: forceoverwrite = "true" => > > backup="no", ifExist="force" > > forceoverwrite = "false" => backup="no", ifExist="newer" > > > > One aspect to bear in mind is that there propably will be a need for > > more policies over time. Possible examples would be multiple backups > > ("dest.BAK.1, dest.BAK.2, dest.BAK.3") and/or my real favourite: a > > diff3 type of merge of the config file changes both from site and > > vendor. This is not for now, unfortunately. This could be handled by > > backup="rolling" or ifExist="merge" in this type of attribute scheme. > > > > > > > > > > MK> When encountering errors in the subproject build file, ant > > > MK> reports error in the build file containing the 'ant' task... > > > > > >Fixed some seconds ago - thanks for your report. > > > > You're welcome :-) > > > > > > > > MK> In my opinion, an <ant dir="subdir"> statement should include > > > MK> an implicit <property basedir = "subdir">. > > > > > >It does - at least in the CVS version. And I think it already did in > > >Ant 1.1, but there've been numerous bugs in handling relative > > >filenames fixed. > > > > OK, we have the same idea how it *should* work - I was a > > little worried. > > The rest shouldn't be a problem, I guess. > > > > > > > > MK> - JAXP dependencies. Sine ant requires the XML parser, this > > > MK> dependency should be resolved at installation time. > > > > > >The release contained jaxp.jar and parser.jar in ANT_HOME/lib and the > > >scripts add everything residing in that directory to the CLASSPATH > > >transparently. Where have you been forced to change the CLASSPATH? > > > > > >Stefan > > > > OK, the problem is that I've been using > > */jakarta/dist/ant/bin/ant. This seems logical, I get the > > idea that the */jakarta/dist/* hierarchy should contain the > > complete thing. > > However, it seems that jaxp.jar and parser.jar are not > > copied/linked to > > */jakarta/dist/ant/lib. They should,I guess (or possibly: revise the > > shellscript to use whats available in the */dist/* structure) > > > > */jakarta/jakarta-ant/* is fine :-) > > > > --Michael > > > > > > > > --------------------------------------------------------------------- > > Michael Kolmodin Frontec Norr AB > > Phone: +46 920 75125 Aurorum 1 > > Fax: +46 920 75299 S-977 75 Luleaa,Sweden > >
begin:vcard n:Kolmodin;Michael tel;cell:+46 70 551 6507 tel;fax:+ 46 920 752 99 tel;work:+ 46 920 751 25 x-mozilla-html:FALSE adr:;;;;;; version:2.1 email;internet:[EMAIL PROTECTED] fn:mk end:vcard
