blob: 46c11cdffc954ce3716bcc6f9c93e39215ad34f8 [file] [log] [blame]
------
Guide to using Modello
------
Jason van Zyl
Hervé Boutemy
------
2009-03-01
------
~~ Licensed to the Apache Software Foundation (ASF) under one
~~ or more contributor license agreements. See the NOTICE file
~~ distributed with this work for additional information
~~ regarding copyright ownership. The ASF licenses this file
~~ to you under the Apache License, Version 2.0 (the
~~ "License"); you may not use this file except in compliance
~~ with the License. You may obtain a copy of the License at
~~
~~ http://www.apache.org/licenses/LICENSE-2.0
~~
~~ Unless required by applicable law or agreed to in writing,
~~ software distributed under the License is distributed on an
~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
~~ KIND, either express or implied. See the License for the
~~ specific language governing permissions and limitations
~~ under the License.
~~ NOTE: For help with the syntax of this file, see:
~~ http://maven.apache.org/doxia/references/apt-format.html
Guide to using Modello
{{{https://codehaus-plexus.github.io/modello/}Modello}} is a tool for generating resources from a simple model. From a
simple model you can generate things like:
* Java sources
* XML serialization code for the model
* XML deserialization code for model
* Model documentation
* XSD
[]
A typical modello model looks like the following:
%{snippet|id=modello-model|url=https://svn.apache.org/repos/asf/maven/archetype/trunk/archetype-common/src/main/mdo/archetype.mdo}
To utilize Modello you would configure the <<<maven-modello-plugin>>> something like the following where you want
to generate the Java sources for the model, the xpp3 serialization code and the xpp3 deserialization code:
+----+
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.codehaus.modello</groupId>
<artifactId>modello-maven-plugin</artifactId>
<version>1.8.3</version>
<executions>
<execution>
<goals>
<!-- Generate the xpp3 reader code -->
<goal>xpp3-reader</goal>
<!-- Generate the xpp3 writer code -->
<goal>xpp3-writer</goal>
<!-- Generate the Java sources for the model itself -->
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<models>
<model>src/main/mdo/descriptor.mdo</model>
</models>
<version>1.0.0</version>
<useJava5>true</useJava5>
</configuration>
</plugin>
</plugins>
</build>
...
</project>
+----+