On Thu, 17 Jan 2002, Stefán Freyr Stefánsson <[EMAIL PROTECTED]> wrote:
> The problem is that I need to extend a task written by someone else. > The task is called <genjar> and it basically is a jar task where you > specify the main class and the task extracts all the dependant > classes and includes them in the generated jar. Hmm, take a look at some current nightly build of Ant. You will need BCEL (find it at Jakarta) then you can use the new data type <classfileset> - I think it doesn't have any documentation yet. You'd define it outside any task as <classfileset id="use-later" dir="your-class-hierarchy-base-dir"> <root classname="one.class.you.need" /> <root classname="another.class.you.need" /> </classfileset> and it will result in something you can use inside a <jar> task as <jar ....> <fileset refid="use-later" /> </jar> This "something" contains the .class files for the classes you've specified in the <root> elements as well as all classes these classes depend upon. > In the <genjar> task you can specify a <resource> tag which lets you > include additional resources that are not java class files (such as > images, property files and so on). Here you could simply use yet another <fileset> to specify them inside the jar task, which already supports include/exclude logic. OK, I know this doesn't answer the question of how to make some task support nested patternsets. The short answer is that the class that corresponds to the element you want to support <patternset> needs to either have public void addPatternset(org.apache.tools.ant.types.PatternSet) or public void addConfiguredPatternset(org.apache.tools.ant.types.PatternSet) or public org.apache.tools.ant.types.PatternSet createPatternset() see <http://jakarta.apache.org/ant/manual/develop.html>. Stefan -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>