users@jaxb.java.net

Re: Maven 2 xjc plugin - configuration settings

From: Malachi de Ælfweald <malachid_at_gmail.com>
Date: Wed, 1 Mar 2006 22:10:13 -0800

Ok, I just got TortiseCVS setup with the plugin, and am taking a look at the
code....

A couple thoughts real quick before getting to your questions:
1) schemaDir="${basedir}/src/main/schemas"
  if we set that to "${basedir}/src/main" by default, it will get all the
XSD files in their normal source hierarchy
2) the .xjb bindings... don't they have to be associated with specific
schemas? ie: wouldn't a HashMap work better than ArrayList?
3) is ${project.build.directory} = ${basedir}/target by default? can't seem
to find the list of default values on maven.apache.org
4) what about strict/-nv?
   FYI: I think a good thing to do is just make sure that we cover every
option a user would get from typing 'xjc' on the command line
5) How would a user specify that they want to use say... 2 different
XjcPlugins?

Now to your questions...


On 3/1/06, Jonathan Johnson <jonjohnson_at_mail.com> wrote:
>
> Questions / outstanding issues about the configuration settings for Maven
> 2
> xjc plugin:
>
> - Ant vs Maven configuration style.
> Since this is a maven plugin it seems it should follow the maven styles
> found in other m2 plugins, just my vote.


I agree with Kohsuke that some of the users will already have ant build
files, and that for them it will be easier to use that format... However, I
agree with you that as a Maven2 project it seems like Maven2 style is most
appropriate. I'd personally rather not use any Ant syntax in my build -- I
switched to maven for a reason :)

- I'm not sure of the best way to associate multiple binding files to
> multiple schemas.


See comment #2 above. Would that work? I personally have all my bindings in
my schema... maybe I need to borrow a standard schema from somewhere so I
can see what is involved with binding without modifying the schema.

- Are all the configuration options covered?


Some are still missing -- see #4 above

- The file name pattern matching is a regular expression but does not **/*
> search directory hierarchies like ant FileSet. Someone must have
> implemented a FileSet like feature in other Maven 2 plugins.


I am not sure I follow. In my Mojo, I simply did 'arguments.add(
schemaDir.getAbsolutePath());' and it did all subdirectories.... or are you
talking about for them to specify multiple inclusions/exclusions? if we make
schemaDir a File[], will it automatically let the user specify more than
one?

- Are the defaults for the parameters acceptable?


See comment #1 above. Other than that, I think all the defaults are the
same as the xjc.bat, which is good.
Also, we might want to consider adding a jaxb.debug option as it makes it
easier to track down crashes.


Malachi