<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

    <parent>
        <groupId>org.smooks.cartridges.edi</groupId>
        <artifactId>smooks-edi-pom</artifactId>
        <version>2.0.0-RC1</version>
    </parent>

    <modelVersion>4.0.0</modelVersion>
    <artifactId>edifact-jaxb-bindings</artifactId>
    <packaging>pom</packaging>
    
    <modules>
        <module>service</module>
        <module>d00a</module>
        <module>d00b</module>
        <module>d01a</module>
        <module>d01b</module>
        <module>d01c</module>
        <module>d02a</module>
        <module>d02b</module>
        <module>d03a</module>
        <module>d03b</module>
        <module>d04a</module>
        <module>d04b</module>
        <module>d05a</module>
        <module>d05b</module>
        <module>d06a</module>
        <module>d06b</module>
        <module>d07a</module>
        <module>d07b</module>
        <module>d08a</module>
        <module>d08b</module>
        <module>d09a</module>
        <module>d09b</module>
        <module>d10a</module>
        <module>d10b</module>
        <module>d11a</module>
        <module>d11b</module>
        <module>d12a</module>
        <module>d12b</module>
        <module>d13a</module>
        <module>d13b</module>
        <module>d14a</module>
        <module>d14b</module>
        <module>d15a</module>
        <module>d15b</module>
        <module>d16a</module>
        <module>d16b</module>
        <module>d17a</module>
        <module>d17b</module>
        <module>d18a</module>
        <module>d18b</module>
        <module>d19a</module>
        <module>d19b</module>
        <module>d93a</module>
        <module>d94a</module>
        <module>d94b</module>
        <module>d95a</module>
        <module>d95b</module>
        <module>d96a</module>
        <module>d96b</module>
        <module>d97a</module>
        <module>d97b</module>
        <module>d98a</module>
        <module>d98b</module>
        <module>d99a</module>
        <module>d99b</module>
    </modules>
    
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <configuration combine.children="append">
                    <show>public</show>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>license-maven-plugin</artifactId>
                <configuration>
                    <!-- FIXME: Travis times out without this because license-maven-plugin execution takes too long -->
                    <skipUpdateLicense>true</skipUpdateLicense>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>**/*.xsd</exclude>
                        <exclude>**/*.xjb</exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <configuration>
                        <artifactItems>
                            <artifactItem>
                                <groupId>org.smooks.cartridges.edi</groupId>
                                <artifactId>edifact-schemas</artifactId>
                                <classifier>${schema.pack.classifier}</classifier>
                                <fileMappers>
                                    <fileMapper implementation="org.codehaus.plexus.components.io.filemappers.FlattenFileMapper"/>
                                </fileMappers>
                            </artifactItem>
                        </artifactItems>
                        <outputDirectory>${project.build.outputDirectory}</outputDirectory>
                    </configuration>
                    <executions>
                        <execution>
                            <phase>generate-sources</phase>
                            <goals>
                                <goal>unpack</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.cxf</groupId>
                    <artifactId>cxf-xjc-plugin</artifactId>
                    <version>3.3.1</version>
                    <configuration>
                        <sourceRoot>${project.build.directory}/generated-sources</sourceRoot>
                        <extensions>
                            <extension>net.java.dev.jaxb2-commons:jaxb-fluent-api:2.1.8</extension>
                        </extensions>
                        <xsdOptions>
                            <xsdOption>
                                <xsd>${project.build.outputDirectory}/EDIFACT-Interchange.dfdl.xsd</xsd>
                                <bindingFile>${project.build.outputDirectory}/binding.xjb</bindingFile>
                                <catalog>${project.parent.basedir}/src/main/resources/catalog.xml</catalog>
                                <extensionArgs>
                                    <extensionArg>-Xfluent-api</extensionArg>
                                </extensionArgs>
                                <deleteDirs>${project.build.directory}/generated-sources/org/smooks/edifact/binding/service</deleteDirs>
                            </xsdOption>
                        </xsdOptions>
                    </configuration>
                    <executions>
                        <execution>
                            <phase>process-resources</phase>
                            <goals>
                                <goal>xsdtojava</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
</project>
