Usage

    If you've never used a Maven plugin before please take a look at Maven's
    {{{http://maven.apache.org/guides/getting-started/#How do I use plug-ins?}Getting Started Guide}}.

	To use the plugin in your project you have to add it to the plugins section of your POM.

---
<plugin>
  <groupId>org.jibx</groupId>
  <artifactId>maven-jibx-plugin</artifactId>
  <version>${project.version}</version>
  <executions>
    <execution>
      <goals>
        <goal>bind</goal>
      </goals>
    </execution>
  </executions>
</plugin>
---

	The project also needs to include jibx-run and optionally jibx-extras in its dependencies.

---
<dependency>
  <groupId>org.jibx</groupId>
  <artifactId>jibx-run</artifactId>
  <version>${project.version}</version>
</dependency>
<dependency>
  <groupId>org.jibx</groupId>
  <artifactId>jibx-extras</artifactId>
  <version>${project.version}</version>
</dependency>
---

* Configuration

	The plugin supports the following configuration options.

*--------------+-----------------+---------------------------------------------------------------------------------------------------------+
| <<option>>   | <<default>>     | <<description>>                                                                                         |
*--------------+-----------------+---------------------------------------------------------------------------------------------------------+
| directory    | src/main/config | In which directory to search for binding definitions.                                                   |
*--------------+-----------------+---------------------------------------------------------------------------------------------------------+
| includes     | binding.xml     | Which files in the configuration directory to include as binding definitions.                           |
*--------------+-----------------+---------------------------------------------------------------------------------------------------------+
| excludes     | <none>          | Which files in the configuration directory that will be matched by one the include patterns to exclude. |
*--------------+-----------------+---------------------------------------------------------------------------------------------------------+
| multi-module | false           | Control flag to enable multi-module mode. (See {{modes.html#Multi-module mode}})                         |
*--------------+-----------------+---------------------------------------------------------------------------------------------------------+
| modules      | <none>          | Which modules to include in multi-module mode. (See {{modes.html#Restricted multi-module mode}})         |
*--------------+-----------------+---------------------------------------------------------------------------------------------------------+
| load         | false           | Control flag for test loading generated/modified classes.                                               |
*--------------+-----------------+---------------------------------------------------------------------------------------------------------+
| validate     | true            | Control flag for binding definition validation.                                                         |
*--------------+-----------------+---------------------------------------------------------------------------------------------------------+
| verbose      | false           | Control flag for verbose processing reports.                                                            |
*--------------+-----------------+---------------------------------------------------------------------------------------------------------+
| verify       | false           | Control flag for verifying generated/modified classes with BCEL.                                        |
*--------------+-----------------+---------------------------------------------------------------------------------------------------------+

* Example

	This example would include all files ending in <<<-binding.xml>>> except <<<template-binding.xml>>> in the <<<src/main/jibx>>>
	directory and output verbose messages during binding compilation:
	
---
<plugin>
  <groupId>org.jibx</groupId>
  <artifactId>maven-jibx-plugin</artifactId>
  <version>${project.version}</version>
  <configuration>
    <directory>src/main/jibx</directory>
    <includes>
      <includes>*-binding.xml</includes>
    </includes>
    <excludes>
      <exclude>template-binding.xml</exclude>
    </excludes>
    <verbose>true</verbose>
  </configuration>
  <executions>
    <execution>
      <goals>
        <goal>bind</goal>
      </goals>
    </execution>
  </executions>
</plugin>
---

* Download

	If you want the plugin and libraries to be automatically downloaded then include the respective repositories in your POM.

---
<repositories>
  <repository>
    <id>jibx.sf.net</id>
    <name>JiBX repository</name>
    <url>http://jibx.sf.net/maven2</url>
    <releases>
      <updatePolicy>never</updatePolicy>
    </releases>
    <snapshots>
      <enabled>false</enabled>
    </snapshots>
  </repository>
</repositories>
<pluginRepositories>
  <pluginRepository>
    <id>jibx.sf.net</id>
    <name>JiBX repository</name>
    <url>http://jibx.sf.net/maven2</url>
    <releases>
      <updatePolicy>never</updatePolicy>
    </releases>
    <snapshots>
      <enabled>false</enabled>
    </snapshots>
  </pluginRepository>
</pluginRepositories>
---
