Hi, I am sorry that I did not follow the thread, but I have removed the previous messages about XMLC and two comments about putting external projects tasks to ant or not.
I think Jon has some good points, and my first impression was that indeed, all external project tasks should go to the external projects jars (if only they are shipped as jar files). However, it is not that perfect, as it makes the external project ant-dependent. If one uses ANT to compile the external project, that's fine, but what if one does not? If I use ANT to compile my project B which uses tools from project A, all can work well if optional tasks for A are coupled with A. But what if I need to bootstrap A with A, or what if I do not use ANT? projects got dependent on ANT and I need to ship ant.jar for ppl to compile stuff (well, could use optional compilation or whatever). It also means, that project can get broken with new ANT releases, etc. I do not have any particular opinion, and I am waiting for the ANT 2 to solve all the 'optional tasks' issues ;o). In the meantime, I am looking forward for the resolution of the discussion about XMLC, because I have here a ready patch for yet another compiler compiler task, SableCC, which may be of interest to other ppl. (There are at least two projects which use both, SableCC and ANT I know of ;o) I can prepare a patch for SableCC itself, instead of adding it to ANT, but, as pointed before, ANTLR and Metamata made they optional tasks in ANT, so I am not sure, which is the correct/consistent way ;o) (SableCC is a fully object-oriented written in Java LALR(1) parser generator, accepting grammar files in almost pure EBNF notation). Any suggestions? BTW, ANTLR and SableCC are identical in terms of parameters, both take as input a grammar (SableCC can take multiple grammars, not sure for ANTLR) and destination directory as an optional parameter, maybe it would be good to integrate them both with javacc task? Metamata compilercompiler would be the default one. Something like: <javacc target="grammar" outputdirectory="out" compilercompiler="antlr"/> <javacc target="grammar" outputdirectory="out" compilercompiler="sablecc"/> <javacc target="grammar" outputdirectory="out" buildparser="yes" etc all other metamata specific options here? That would reduce number of optional tasks from 3 (at the moment, sure there are coming new compilercompilers ;o) to 1 (well, a gain only if optional tasks are kept in some central place). It would also be sort of consistent with the javac model in ANT. What do you think? I could do it if you are ok with it, and if javacc and antlr task contributors think it would be ok with them. cheers mariusz
