| ------ |
| 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> |
| |
| +----+ |