Return-Path: Delivered-To: apmail-jakarta-ant-dev-archive@jakarta.apache.org Received: (qmail 47705 invoked by uid 500); 4 Aug 2001 03:06:22 -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 47696 invoked from network); 4 Aug 2001 03:06:21 -0000 Message-ID: <3B6B66EB.3030901@arielpartners.com> Date: Fri, 03 Aug 2001 23:07:23 -0400 From: "Craeg K. Strong" Organization: Ariel Partners LLC User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.3) Gecko/20010801 X-Accept-Language: en-us MIME-Version: 1.0 To: ant-dev@jakarta.apache.org Subject: [PATCH] new, improved version of , a task to manage arbitrary dependencies between files Content-Type: multipart/mixed; boundary="------------050404070309040407020709" X-Spam-Rating: h31.sny.collab.net 1.6.2 0/1000/N This is a multi-part message in MIME format. --------------050404070309040407020709 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Enclosed please find the source code, documentation, and Junit tests for both taskdefs/DependSet and types/FileList. I believe the enclosed docs sufficiently differentiate FileSet and FileList, so that I did not see a reason to patch the FileSet doc. Thanks! --Craeg --------------050404070309040407020709 Content-Type: application/octet-stream; name="dependset.zip" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="dependset.zip" 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 fABxq2SCuDTTdbt5qxLH3rJMbGol2hVC44CDq+dQO5G63XJaD4sgv3irtdl6qZ10/LmfB7Vn DkTXRrF5Jb1eaIqfk+ABhNZ64EVGpbeCzlpFGmcNasIefncb0mXSJgF7PVpJsVpt4eoDAHsF nm+3+hyDdZI0YgpT005hOwiDCeijIJObsgxR3psdN5YfjCQGg2D7MFNRjI7vaMptcnn/pXLV bn1UxX5uy9cilvOtLUn0MkWFSDSEYubMMNlRTGgytdU5QD74zISzEOZK5DkKT7tpe+VKS8FT /qANaDlXyvm0SjtxN+nOMMLiufXT3DHHX/88T3w9mQ94o3Il78665E6q4q0HXYDzlmf7Eryj 377f06vT3j2/LvVP0PWVlehL2lAt/r9Je6AV9KWOi5TrXXj2lyK++fY+UJOOKnA30vEqPP/6 vHgyKRYHXn7QqSt+I/aq870cKk3l/wZ+iEPL6YcbzmhAKt+aJf27iMUVtc0I+huiflEXiX8U I7vHbpfZuOmxFy/OyseT/ePp/rF3T0D3vi+iexTSvWZM9x4P6pODqN7LP/k++Sck/6Qp/+Rx +acPyD/9PvmnJP+0Kf/0cfm9p7K6901pfV8c/SqB+xQJ35DLvzINX52/zYPtzVLCoCXP7Yt+ 9Tb0LGez8s0HhjCtlDl2Gpn5U1L8J2X2D07or5ymaM0OUG8fTeTDKBvQwLXzHOTjd2en46J8 myWgWtLno89HfwFQSwECFwMKAAAAAABJtwMrAAAAAAAAAAAAAAAACgANAAAAAAAAABAA/UEA AAAAZGVwZW5kc2V0L1VUBQADyWRrO1V4AABQSwECFwMKAAAAAABatwMrAAAAAAAAAAAAAAAA EwANAAAAAAAAABAA7UE9AAAAZGVwZW5kc2V0L3Rhc2tkZWZzL1VUBQAD7GRrO1V4AABQSwEC FwMUAAAACAAGqwMrlP1m6xYBAAB4AgAALAANAAAAAAABAAAApIGDAAAAZGVwZW5kc2V0L3Rh c2tkZWZzL2RlZmF1bHRzLnByb3BlcnRpZXMucGF0Y2hVVAUAA7tOaztVeAAAUEsBAhcDFAAA AAgAOacDK/31gylgBQAAsBAAACEADQAAAAAAAQAAAKSB+AEAAGRlcGVuZHNldC90YXNrZGVm cy9kZXBlbmRzZXQuaHRtbFVUBQADjkhrO1V4AABQSwECFwMUAAAACAB5tQMrg5wzpNANAACg LwAAIQANAAAAAAABAAAApIGsBwAAZGVwZW5kc2V0L3Rhc2tkZWZzL0RlcGVuZFNldC5qYXZh VVQFAANmYWs7VXgAAFBLAQIXAxQAAAAIAFC3AysOn37OBQEAAMQDAAAgAA0AAAAAAAEAAACk gdAVAABkZXBlbmRzZXQvdGFza2RlZnMvZGVwZW5kc2V0LnhtbFVUBQAD2GRrO1V4AABQSwEC FwMUAAAACABatwMrWxXUKkIGAACoDgAAJQANAAAAAAABAAAApIEoFwAAZGVwZW5kc2V0L3Rh c2tkZWZzL0RlcGVuZFNldFRlc3QuamF2YVVUBQAD7GRrO1V4AABQSwECFwMKAAAAAAAVtAMr AAAAAAAAAAAAAAAAEAANAAAAAAAAABAA7UHCHQAAZGVwZW5kc2V0L3R5cGVzL1VUBQADyV5r O1V4AABQSwECFwMUAAAACADXqgMrtIy38QgDAADRBgAAHQANAAAAAAABAAAApIEFHgAAZGVw ZW5kc2V0L3R5cGVzL2ZpbGVsaXN0Lmh0bWxVVAUAA2ZOaztVeAAAUEsBAhcDFAAAAAgAWa8D K8D0vR8JCQAA+BYAAB0ADQAAAAAAAQAAAKSBXSEAAGRlcGVuZHNldC90eXBlcy9GaWxlTGlz dC5qYXZhVVQFAAPaVms7VXgAAFBLAQIXAxQAAAAIABmvAyvjCTXeAQEAAEMCAAApAA0AAAAA AAEAAACkgbYqAABkZXBlbmRzZXQvdHlwZXMvZGVmYXVsdHMucHJvcGVydGllcy5wYXRjaFVU BQADYVZrO1V4AABQSwECFwMUAAAACAAVtAMr3/kYF/QHAACdGwAAIQANAAAAAAABAAAApIET LAAAZGVwZW5kc2V0L3R5cGVzL0ZpbGVMaXN0VGVzdC5qYXZhVVQFAAPJXms7VXgAAFBLBQYA AAAADAAMACgEAABbNAAAAAA= --------------050404070309040407020709--