blob: 6e8188849eda021c821048ac89e3a1032e02f294 [file] [log] [blame]
* modello list of model files (as String)
http://modello.codehaus.org/modello-maven-plugin/java-mojo.html
* antlr3 uses sourceDirectory+includes+excludes and libDirectory
http://www.antlr.org/antlr3-maven-plugin/usage.html
* jvnet:jaxb2 has most elaborate model for up-to-date check among plugins I've seen, relevant parameters
schemaDirectory+schemaIncludes+schemaExcludes, bindingDirectory+bindingIncludes+bindingExcludes,
catalog, produces (patters of files produced by this plugin), otherDepends
http://static.highsource.org/mjiip/maven-jaxb2-plugin/generate-mojo.html
* cxf-codegen-plugin generates java from wsdl. several ways to specify input
wsdlRoot+includes+excludes,
wsdl+bindingFiles <= CUSTOM data objects!!!
http://cxf.apache.org/docs/maven-cxf-codegen-plugin-wsdl-to-java.html
* jaxws-maven-plugin goes the other way around, it takes java class and generates jax-ws/wsdl descriptors
http://jax-ws-commons.java.net/jaxws-maven-plugin/wsgen-mojo.html
* maven-jibx-plugin
schemaLocation+includes+excludes,
includeBaseBindings <= CUSTOM data objects!!!
http://jibx.sourceforge.net/maven-jibx-plugin/schema-codegen-mojo.html
Ways to define generation inputs
* directory+includes+excludes (possibly more than one)
* list of input file paths as Strings
* list of Files (jvnet:jaxb2 otherDepends)
* collection of directory+includes+excludes
* custom data structures
=== modello
<codegeneration>
<outputDirectories>
<outputDirectory>${mojo.outputDirectory}</outputDirectory>
</outputDirectories>
<!--
this is mostly theoretical exercise because modello
plexus-build-api and m2e does not need to know input sources.
still, using List<String> is a legitimate way to define generation input sources,
and we may want to support it even though there are no existing examples
-->
<inputPaths>${mojo.models}</inputPaths>
<!--
for plexus-build-api and later tesla-build-avoidance users,
we need to force incremental build support even when no generation input is declared
-->
<incremental>true</incremental>
</codegeneration>
=== antlr3
<codegeneration>
<outputDirectories>
<outputDirectory>${mojo.outputDirectory}</outputDirectory>
</outputDirectories>
<inputResources>
<inputResource>
<directory>${mojo.sourceDirectory}</directory>
<includes>${mojo.includes}</includes>
<excludes>${mojo.excludes}</excludes>
</inputResource>
<inputResource>
<directory>${mojo.libDirectory}</directory>
</inputResource>
<inputResources>
</codegeneration>
=== jvnet:jaxb2
<codegeneration>
<outputDirectories>
<outputDirectory>${mojo.generateDirectory}</outputDirectory>
</outputDirectories>
<inputResources>
<inputResource>
<directory>${mojo.schemaDirectory}</directory>
<includes>${mojo.schemaIncludes}</includes>
<excludes>${mojo.schemaExcludes}</excludes>
</inputResource>
<inputResource>
<directory>${mojo.bindingDirectory}</directory>
<includes>${mojo.bindingIncludes}</includes>
<excludes>${mojo.bindingExcludes}</excludes>
</inputResource>
<inputResources>
<inputFiles>${mojo.otherDepends}</inputFiles>
</codegeneration>
=== jibx