Return-Path: Delivered-To: apmail-jakarta-ant-dev-archive@jakarta.apache.org Received: (qmail 72120 invoked by uid 500); 18 Apr 2001 21:10:55 -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 Delivered-To: moderator for ant-dev@jakarta.apache.org Received: (qmail 21924 invoked from network); 18 Apr 2001 17:11:52 -0000 Date: Wed, 18 Apr 2001 19:11:52 +0200 (CEST) From: Marcus Crafter To: ant-dev@jakarta.apache.org Subject: [Patch] UNIX link support Message-Id: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="1065501280-558235381-987613912=:8354" X-Spam-Rating: h31.sny.collab.net 1.6.2 0/1000/N This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. --1065501280-558235381-987613912=:8354 Content-Type: TEXT/PLAIN; charset=US-ASCII Hi All, Attached is a simple link task which allows you to create unix links from ant build files. It supports both hard and symbolic links. I'm definitely an ant beginner - so please feel free to point out any mistakes. I want to learn the right way to do things. Couple of questions - how do we handle platform specific tasks like this ? (ie. is it acceptable for general consumption ?, core or optional, or neither ?). I'm intending to add support for target directories as well. ie. ln TARGET-0...[TARGET-N] DIRECTORY and the option of removing existing destination files, if people would find that useful ? Any implementation ideas for non UNIX platforms ?? Cheers, Marcus -- ..... ,,$$$$$$$$$, Marcus Crafter ;$' '$$$$: Computer Systems Engineer $: $$$$: Open Software Associates GmbH $ o_)$$$: 82-84 Mainzer Landstrasse ;$, _/\ &&:' 60327 Frankfurt Germany ' /( &&& \_&&&&' Email : Marcus.Crafter@osa.de &&&&. Business Hours : +49 69 9757 200 &&&&&&&: After Hours : +49 69 49086750 --1065501280-558235381-987613912=:8354 Content-Type: TEXT/x-java; name="Link.java" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename="Link.java" LyoNCiAqIFRoZSBBcGFjaGUgU29mdHdhcmUgTGljZW5zZSwgVmVyc2lvbiAx LjENCiAqDQogKiBDb3B5cmlnaHQgKGMpIDE5OTkgVGhlIEFwYWNoZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLiAgQWxsIHJpZ2h0cw0KICogcmVzZXJ2ZWQuDQog Kg0KICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0DQogKiBtb2RpZmljYXRpb24s IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv bmRpdGlvbnMNCiAqIGFyZSBtZXQ6DQogKg0KICogMS4gUmVkaXN0cmlidXRp b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5 cmlnaHQNCiAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4NCiAqDQogKiAyLiBSZWRp c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl IGFib3ZlIGNvcHlyaWdodA0KICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluDQog KiAgICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz IHByb3ZpZGVkIHdpdGggdGhlDQogKiAgICBkaXN0cmlidXRpb24uDQogKg0K ICogMy4gVGhlIGVuZC11c2VyIGRvY3VtZW50YXRpb24gaW5jbHVkZWQgd2l0 aCB0aGUgcmVkaXN0cmlidXRpb24sIGlmDQogKiAgICBhbnksIG11c3QgaW5j bHVkZSB0aGUgZm9sbG93aW5nIGFja25vd2xlZ2VtZW50Og0KICogICAgICAg IlRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkg dGhlDQogKiAgICAgICAgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKGh0 dHA6Ly93d3cuYXBhY2hlLm9yZy8pLiINCiAqICAgIEFsdGVybmF0ZWx5LCB0 aGlzIGFja25vd2xlZ2VtZW50IG1heSBhcHBlYXIgaW4gdGhlIHNvZnR3YXJl IGl0c2VsZiwNCiAqICAgIGlmIGFuZCB3aGVyZXZlciBzdWNoIHRoaXJkLXBh cnR5IGFja25vd2xlZ2VtZW50cyBub3JtYWxseSBhcHBlYXIuDQogKg0KICog NC4gVGhlIG5hbWVzICJUaGUgSmFrYXJ0YSBQcm9qZWN0IiwgIkFudCIsIGFu ZCAiQXBhY2hlIFNvZnR3YXJlDQogKiAgICBGb3VuZGF0aW9uIiBtdXN0IG5v dCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp dmVkDQogKiAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBwcmlvciB3 cml0dGVuIHBlcm1pc3Npb24uIEZvciB3cml0dGVuDQogKiAgICBwZXJtaXNz aW9uLCBwbGVhc2UgY29udGFjdCBhcGFjaGVAYXBhY2hlLm9yZy4NCiAqDQog KiA1LiBQcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSBtYXkg bm90IGJlIGNhbGxlZCAiQXBhY2hlIg0KICogICAgbm9yIG1heSAiQXBhY2hl IiBhcHBlYXIgaW4gdGhlaXIgbmFtZXMgd2l0aG91dCBwcmlvciB3cml0dGVu DQogKiAgICBwZXJtaXNzaW9uIG9mIHRoZSBBcGFjaGUgR3JvdXAuDQogKg0K ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5EIEFO WSBFWFBSRVNTRUQgT1IgSU1QTElFRA0KICogV0FSUkFOVElFUywgSU5DTFVE SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ RVMNCiAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UgQVJFDQogKiBESVNDTEFJTUVELiAgSU4gTk8g RVZFTlQgU0hBTEwgVEhFIEFQQUNIRSBTT0ZUV0FSRSBGT1VOREFUSU9OIE9S DQogKiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsDQogKiBTUEVDSUFMLCBFWEVNUExB UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg Tk9UDQogKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GDQogKiBVU0UsIERBVEEsIE9S IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD QVVTRUQgQU5EDQogKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCiAqIE9SIFRP UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO RyBJTiBBTlkgV0FZIE9VVA0KICogT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GDQog KiBTVUNIIERBTUFHRS4NCiAqID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQog Kg0KICogVGhpcyBzb2Z0d2FyZSBjb25zaXN0cyBvZiB2b2x1bnRhcnkgY29u dHJpYnV0aW9ucyBtYWRlIGJ5IG1hbnkNCiAqIGluZGl2aWR1YWxzIG9uIGJl aGFsZiBvZiB0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24uICBGb3Ig bW9yZQ0KICogaW5mb3JtYXRpb24gb24gdGhlIEFwYWNoZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLCBwbGVhc2Ugc2VlDQogKiA8aHR0cDovL3d3dy5hcGFjaGUu b3JnLz4uDQogKi8NCg0KcGFja2FnZSBvcmcuYXBhY2hlLnRvb2xzLmFudC50 YXNrZGVmczsNCg0KaW1wb3J0IGphdmEuaW8uKjsNCmltcG9ydCBvcmcuYXBh Y2hlLnRvb2xzLmFudC4qOw0KaW1wb3J0IG9yZy5hcGFjaGUudG9vbHMuYW50 LnR5cGVzLkNvbW1hbmRsaW5lOw0KDQovKioNCiAqIFRhc2sgdG8gY3JlYXRl IGEgbGluayAob3B0aW9uYWxseSBzeW1ib2xpYykgZnJvbSBvbmUgZmlsZSB0 byBhbm90aGVyLg0KICoNCiAqIEBhdXRob3IgTWFyY3VzLkNyYWZ0ZXJAb3Nh LmRlDQogKi8NCnB1YmxpYyBjbGFzcyBMaW5rIGV4dGVuZHMgVGFzayB7DQoN CiAgICBwdWJsaWMgdm9pZCBzZXRGaWxlKEZpbGUgc3JjKSB7DQogICAgICAg IHRoaXMuc3JjID0gc3JjOw0KICAgIH0NCg0KICAgIHB1YmxpYyB2b2lkIHNl dFRvRmlsZShGaWxlIGRlc3QpIHsNCiAgICAgICAgdGhpcy5kZXN0ID0gZGVz dDsNCiAgICB9DQoNCiAgICBwdWJsaWMgdm9pZCBzZXRTeW1ib2xpYyhib29s ZWFuIHN5bWJvbGljKSB7DQogICAgICAgIHRoaXMuc3ltYm9saWMgPSBzeW1i b2xpYzsNCiAgICB9DQoNCiAgICBwdWJsaWMgdm9pZCBleGVjdXRlKCkgdGhy b3dzIEJ1aWxkRXhjZXB0aW9uIHsNCg0KICAgICAgICBpZiAoc3JjID09IG51 bGwgfHwgIXNyYy5leGlzdHMoKSkgew0KICAgICAgICAgICAgdGhyb3cgbmV3 IEJ1aWxkRXhjZXB0aW9uKA0KICAgICAgICAgICAgICAiVGhlIGZpbGUgYXR0 cmlidXRlIG11c3QgYmUgcHJlc2VudCwgYW5kIG5hbWUgYW4gZXhpc3Rpbmcg ZmlsZSIsDQogICAgICAgICAgICAgIGxvY2F0aW9uDQogICAgICAgICAgICAp Ow0KICAgICAgICB9DQoNCiAgICAgICAgaWYgKGRlc3QgPT0gbnVsbCB8fCBk ZXN0LmV4aXN0cygpKSB7DQogICAgICAgICAgICB0aHJvdyBuZXcgQnVpbGRF eGNlcHRpb24oDQogICAgICAgICAgICAgICJUaGUgdG9GaWxlIGF0dHJpYnV0 ZSBtdXN0IGJlIHByZXNlbnQsIGFuZCBub3QgbmFtZSBhbiAiICsNCgkgICAg ICAiZXhpc3RpbmcgZmlsZSIsIGxvY2F0aW9uDQogICAgICAgICAgICApOw0K ICAgICAgICB9DQoNCiAgICAgICAgaWYgKHNyYy5lcXVhbHMoZGVzdCkpIHsN CiAgICAgICAgICAgIHRocm93IG5ldyBCdWlsZEV4Y2VwdGlvbigNCiAgICAg ICAgICAgICAgIlNvdXJjZSBmaWxlbmFtZSBjYW5ub3QgYmUgdGhlIGRlc3Rp bmF0aW9uIGZpbGVuYW1lLiIsIGxvY2F0aW9uDQogICAgICAgICAgICApOw0K ICAgICAgICB9DQoNCiAgICAgICAgbG9nKCJMaW5raW5nICIgKyBzcmMgKyAo c3ltYm9saWMgPyAiLCBzeW1ib2xpY2FsbHkiIDogIiIpICsNCiAgICAgICAg ICAgICIgdG8gIiArIGRlc3QsIFByb2plY3QuTVNHX0lORk8NCiAgICAgICAg ICAgKTsNCg0KICAgICAgICBsaW5rRmlsZShzcmMsIGRlc3QsIHN5bWJvbGlj KTsNCiAgICB9DQoNCiAgICBwcml2YXRlIHZvaWQgbGlua0ZpbGUoRmlsZSBm cm9tLCBGaWxlIHRvLCBib29sZWFuIHN5bWJvbGljKQ0KICAgIHRocm93cyBC dWlsZEV4Y2VwdGlvbiB7DQoNCiAgICAgICAgQ29tbWFuZGxpbmUgbGluayA9 IG5ldyBDb21tYW5kbGluZSgpOw0KICAgICAgICBsaW5rLnNldEV4ZWN1dGFi bGUoImxuIik7DQoNCiAgICAgICAgaWYgKHN5bWJvbGljKQ0KICAgICAgICAg ICAgbGluay5jcmVhdGVBcmd1bWVudCgpLnNldFZhbHVlKCItcyIpOw0KICAg ICAgICBsaW5rLmNyZWF0ZUFyZ3VtZW50KCkuc2V0RmlsZShmcm9tKTsNCiAg ICAgICAgbGluay5jcmVhdGVBcmd1bWVudCgpLnNldEZpbGUodG8pOw0KDQog ICAgICAgIEV4ZWN1dGUgZXggPQ0KICAgICAgICAgIG5ldyBFeGVjdXRlKA0K ICAgICAgICAgICAgbmV3IExvZ1N0cmVhbUhhbmRsZXIoDQogICAgICAgICAg ICAgIHRoaXMsIFByb2plY3QuTVNHX0lORk8sIFByb2plY3QuTVNHX1dBUk4N CiAgICAgICAgICAgICksIG51bGwNCiAgICAgICAgICApOw0KICAgICAgICBl eC5zZXRDb21tYW5kbGluZShsaW5rLmdldENvbW1hbmRsaW5lKCkpOw0KDQog ICAgICAgIHRyeSB7DQogICAgICAgICAgICBleC5leGVjdXRlKCk7DQogICAg ICAgIH0gY2F0Y2ggKElPRXhjZXB0aW9uIGUpIHsNCiAgICAgICAgICAgIHRo cm93IG5ldyBCdWlsZEV4Y2VwdGlvbihlKTsNCiAgICAgICAgfQ0KICAgIH0N Cg0KICAgIHByaXZhdGUgRmlsZSBzcmM7DQogICAgcHJpdmF0ZSBGaWxlIGRl c3Q7DQogICAgcHJpdmF0ZSBib29sZWFuIHN5bWJvbGljID0gdHJ1ZTsNCn0N Cg== --1065501280-558235381-987613912=:8354--