Return-Path: Delivered-To: apmail-jakarta-ant-dev-archive@jakarta.apache.org Received: (qmail 41669 invoked by uid 500); 13 Jun 2001 15:35:41 -0000 Mailing-List: contact ant-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk Reply-To: ant-dev@jakarta.apache.org list-help: list-unsubscribe: list-post: Delivered-To: mailing list ant-dev@jakarta.apache.org Received: (qmail 41599 invoked from network); 13 Jun 2001 15:35:40 -0000 From: "Jose Alberto Fernandez" To: , Subject: RE: Replace task - getting *tokens* from a properties file? Date: Wed, 13 Jun 2001 16:37:37 +0100 Message-ID: <00e801c0f41e$c61dc590$da76883e@viquity.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_00E9_01C0F427.27E22D90" X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook CWS, Build 9.0.2416 (9.0.2911.0) In-Reply-To: Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 X-MS-TNEF-Correlator: 000000006F73C9ADD042D41190EE00508B9B04100700635802DA64D4D31190D500508B9B04100000004CB9680000645802DA64D4D31190D500508B9B041000000149591E0000 X-Spam-Rating: h31.sny.collab.net 1.6.2 0/1000/N This is a multi-part message in MIME format. ------=_NextPart_000_00E9_01C0F427.27E22D90 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit > From: Jon Skeet [mailto:jon.skeet@peramon.com] > > I'm trying to convert our company's build procedure to Ant. I'm doing > pretty well (with the addition of a couple of tasks - > CopyProperty which > sets the value of one specified property to the value of another; I > think it's the only way of doing effectively ${${embedded}.property}, > and works well enough for now, and FailUnless which simply > fails unless > a given property is set - I need this because "if" doesn't resolve > property values (ie doing if="${project}" doesn't resolve project and > then test whether or not that name has is set), but I've run > up against > something slightly trickier. > Is this due to the fact that ${project}'s value containg the name of the property you need to check? some srt of templating? > In my old build procedure I had a few steps which take a normal file > (.java or whatever) and a properties file. The properties > file had, for > instance: > > Version=foo > Name=bar > > I have a little Java program which looks through the properties file, > finds all the properties within it, then does a replace on all the > "normal" files using these properties wrapped in <%...%>. In > this case, > it would be the equivalent of: > > > > > > > However, I'd like the property files to determine the tokens, as my > previous build did. > > I can probably hack something up in Replace, something like: > > postfix="%>" /> > > but I'm not sure that such a patch would get accepted. (Speaking of > which, has anyone glanced at my Zip and VSS patches yet?) > > It feels slightly silly to create a whole new task for something so > similar to Replace. > Ideas welcome. > Why? The whole point of ANT is to be expandable. I would suggest writing a small task which just extends . And it just calls createReplacefilter() with values from the property file, before calling super.execute(). You can always contribute it, if not to CORE, to the list of tasks available from 3rd parties. Jose Alberto > Jon > ------=_NextPart_000_00E9_01C0F427.27E22D90 Content-Type: application/ms-tnef; name="winmail.dat" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="winmail.dat" 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 /wfRKKI2U0l5YZc4QQMQCsH3IaGJ5UsnSQEARkEmMR+x46FoS7pXaHlSwFyineTHkHALgFNTQU5U O3IhofdzEQ7AIsFkiEFccUu7cqV9kyBnlPBEcgUQVAIn0XPvWPFo8Z6SN+RqPRAFQA7B/wnwaKF1 ZnCBJGBv0QVAqqO/PPAmUHGRnWOJ5Xi0KFsQ/yaTP6UDUoHfikEzQDZhT3F/aNFJ0yggSwEOwAWQ RxBl+65wpxxZUcGHwgdAMTFxkf8CIQUQRwEkEGpyBpBFRCGw8ENPUkVqkS3kSiBEcd8od1ohoIGm 4a9UMwsglCHPW+OnHB1wPSFBbDNAACAvYZWaph1xmqx9vRAAAAAeAEIQAQAAAD4AAAA8QzUwNjg0 QTQ0N0FDOUU0REI4RDdDNUMxODBBNjFBN0MyRDY5M0RAYmx1ZW5vdGUucGVyYW1vbi5jb20+AAAA AwAJWQEAAAACAeJlAQAAABQAAABVTObuMlTUEbTqAFAEjXolAAOnswIB42UBAAAAFQAAABRVTObu MlTUEbTqAFAEjXolAAOnswAAAAsAAIAIIAYAAAAAAMAAAAAAAABGAAAAAAOFAAAAAAAAAwABgAgg BgAAAAAAwAAAAAAAAEYAAAAAEIUAAAAAAAADAAOACCAGAAAAAADAAAAAAAAARgAAAABShQAAP3EB AB4ABIAIIAYAAAAAAMAAAAAAAABGAAAAAFSFAAABAAAABAAAADkuMAALAAWACCAGAAAAAADAAAAA AAAARgAAAAAOhQAAAAAAAAMABoAIIAYAAAAAAMAAAAAAAABGAAAAABGFAAAAAAAAAwAHgAggBgAA AAAAwAAAAAAAAEYAAAAAGIUAAAAAAAALAAiACCAGAAAAAADAAAAAAAAARgAAAAAGhQAAAAAAAAMA CYAIIAYAAAAAAMAAAAAAAABGAAAAAAGFAAAAAAAACwAfDgEAAAACAfgPAQAAABAAAABUTObuMlTU EbTqAFAEjXolAgH6DwEAAAAQAAAAb3PJrdBC1BGQ7gBQi5sEEAIB+w8BAAAAdgAAAAAAAAA4obsQ BeUQGqG7CAArKlbCAABFTVNNREIuRExMAAAAAAAAAAAbVfogqmYRzZvIAKoAL8RaDAAAAERDU1JW MAAvbz1WaXF1aXR5L291PUV4Y2hhbmdlL2NuPVJlY2lwaWVudHMvY249SkZlcm5hbmRlegAAAAMA /g8FAAAAAwANNP0/AAACARQ0AQAAABAAAABUlKHAKX8QG6WHCAArKiUXHgD6PwEAAAAYAAAASm9z ZSAgQWxiZXJ0byBGZXJuYW5kZXoAAgF/AAEAAACNAAAAMDAwMDAwMDA2RjczQzlBREQwNDJENDEx OTBFRTAwNTA4QjlCMDQxMDA3MDA2MzU4MDJEQTY0RDREMzExOTBENTAwNTA4QjlCMDQxMDAwMDAw MDRDQjk2ODAwMDA2NDU4MDJEQTY0RDREMzExOTBENTAwNTA4QjlCMDQxMDAwMDAwMTQ5NTkxRTAw MDAAAAAAAwAGED+1gtoDAAcQrwYAAAMAEBABAAAAAwAREAEAAAAeAAgQAQAAAGUAAABGUk9NOkpP TlNLRUVUTUFJTFRPOkpPTlNLRUVUQFBFUkFNT05DT01JTVRSWUlOR1RPQ09OVkVSVE9VUkNPTVBB TllTQlVJTERQUk9DRURVUkVUT0FOVElNRE9JTkdQUkVUVFlXAAAAANVV ------=_NextPart_000_00E9_01C0F427.27E22D90--