On Wed, Aug 29, 2012 at 10:42 AM, Nicolas Lalevée <nicolas.lale...@hibnet.org> wrote: > > Le 29 août 2012 à 16:41, Matt Benson a écrit : > >> Comments: >> >> - ArgumentProcessor#readArgument() should return a negative number for >> unsupported args, otherwise a separate boolean #supports(arg) method >> and a declared IllegalArgumentException from #readArgument() > > Reviewing this, maybe a better method would be: > int readArgument(String[] args, int pos); > which returns the new position, the same as the one provided is not supported. > That way we can have a variable number of custom arguments.
Sounds good. Reminds me of ParsePosition etc. > >> - Prefer e.g. Appendable to StringBuffer in >> ArgumentProcessor#printUsage() signature, or unless there is a good >> reason for the configurable line separator, PrintStream or PrintWriter > > Actually, in the current implementation, any reason all the message is > buffered before being put to System.out ? > Any reason not to do System.out.println rather than StringBuffer.append( + > line.separator) ? Not sure, but using PrintStream would allow Ant Main to have the ArgumentProcessor write directly to System.out or not. :D Matt > >> I am generally in favor of the idea, so as long as the APIs are as >> nice as they can be all the internals are negotiable. > > Thanks for the review, > Nicolas > >> >> Thanks, >> Matt >> >> On Wed, Aug 29, 2012 at 8:35 AM, Nicolas Lalevée >> <nicolas.lale...@hibnet.org> wrote: >>> I would like to add to Ant the possibility to define custom command line >>> options. >>> >>> This is motivated by the experiment I am doing with the AntDSL and the >>> import model I am trying to revisit (if anybody is interested, at some >>> point I will probably discuss it on easyant-dev, but we can also discuss >>> here). I want things to happen before the build file is being parsed and I >>> want it to happen only if the end user has requested it. >>> >>> I have not committed it because it is a kind of important door opening in >>> Ant's API. And it is only required by an experiment. EasyAnt has some >>> custom arguments too, it could benefit from it, but for now it has it own >>> "main" implementation and so has a full control of argument parsing. So >>> there is no real use case. yet :) >>> >>> So I would like some feed back before proceeding. The suggested patch is >>> here: >>> https://svn.apache.org/repos/asf/ant/sandbox/antdsl/branches/import-experiment/argument-processor.patch >>> >>> Nicolas >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org >>> For additional commands, e-mail: dev-h...@ant.apache.org >>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org >> For additional commands, e-mail: dev-h...@ant.apache.org >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org > For additional commands, e-mail: dev-h...@ant.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org For additional commands, e-mail: dev-h...@ant.apache.org