<?xml version="1.0" encoding="UTF-8"?>
<!--
/*
 * openwms.org, the Open Warehouse Management System.
 *
 * This file is part of openwms.org.
 *
 * openwms.org is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as 
 * published by the Free Software Foundation; either version 2 of the
 * License, or (at your option) any later version.
 *
 * openwms.org is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this software. If not, write to the Free
 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
 * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
 */  
-->
<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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.sonatype.oss</groupId>
        <artifactId>oss-parent</artifactId>
        <version>7</version>
    </parent>
    <groupId>org.openwms</groupId>
    <artifactId>org.openwms</artifactId>
    <version>1.0</version>
    <packaging>pom</packaging>
    <name>OpenWMS.org Project</name>
    <description>OpenWMS.org is an open source warehouse management software</description>
    <url>http://www.openwms.org</url>
    <inceptionYear>2005</inceptionYear>

    <prerequisites>
        <maven>${maven.min.version}</maven>
    </prerequisites>

    <issueManagement>
        <system>JIRA</system>
        <url>https://openwms.atlassian.net/browse</url>
    </issueManagement>

    <licenses>
        <license>
            <name>GNU General Public License</name>
            <url>https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt</url>
            <distribution>repo</distribution>
            <comments>OpenWMS.org is distributed as open-source</comments>
        </license>
    </licenses>

    <distributionManagement>
        <repository>
            <id>${distribution.repo.serverId}</id>
            <name>OpenWMS.org Release Repository</name>
            <url>${distribution.repo.serverProtocol}://${distribution.repo.serverUrl.rootPath}</url>
        </repository>
        <snapshotRepository>
            <id>${distribution.repo.serverId}</id>
            <name>OpenWMS.org Snapshot Repository</name>
            <url>${distribution.repo.serverProtocol}://${distribution.repo.snapshot.serverUrl.rootPath}</url>
        </snapshotRepository>
        <site>
            <id>${distribution.serverId}</id>
            <name>OpenWMS.org WebSite</name>
            <url>${distribution.serverProtocol}://${distribution.serverUrl.sourcePath}</url>
        </site>
    </distributionManagement>

    <scm>
        <url>https://github.com/openwms/org.openwms</url>
        <connection>scm:git:git://github.com/openwms/org.openwms.git</connection>
        <developerConnection>scm:git:git@github.com:openwms/org.openwms.git</developerConnection>
    </scm>

    <organization>
        <name>openwms.org</name>
        <url>www.openwms.org</url>
    </organization>

    <developers>
        <developer>
            <id>scherrer</id>
            <name>Heiko Scherrer</name>
            <email>scherrer@openwms.org</email>
            <url>https://sourceforge.net/users/scherrer</url>
            <organization>openwms.org</organization>
            <organizationUrl>http://www.openwms.org</organizationUrl>
            <timezone>+2</timezone>
            <roles>
                <role>Project Lead</role>
                <role>Architect</role>
                <role>Developer</role>
                <role>Deployer</role>
            </roles>
        </developer>
        <developer>
            <id>flauer99</id>
            <name>Frank Lauer</name>
            <email>flauer99@users.sourceforge.net</email>
            <url>https://sourceforge.net/users/flauer99</url>
            <organization>Aberle GmbH</organization>
            <organizationUrl>http://www.a-s.de</organizationUrl>
            <timezone>+2</timezone>
            <roles>
                <role>Java Developer</role>
                <role>Site Master</role>
            </roles>
        </developer>
        <developer>
            <id>smudo99</id>
            <name>Michael Schmut</name>
            <email>smudo99@users.sourceforge.net</email>
            <url>https://sourceforge.net/users/smudo99</url>
            <organization>IBM</organization>
            <organizationUrl>http://www.ibm.com</organizationUrl>
            <timezone>+2</timezone>
            <roles>
                <role>Java Developer</role>
            </roles>
        </developer>
        <developer>
            <id>russelltina</id>
            <name>Tina Russell</name>
            <email>russelltina@users.sourceforge.net</email>
            <url>https://sourceforge.net/users/russelltina</url>
            <organization>University of Oregon</organization>
            <organizationUrl>http://www.uoregon.edu</organizationUrl>
            <timezone>-7</timezone>
            <roles>
                <role>Flex Developer</role>
            </roles>
        </developer>
        <developer>
            <id>flogy</id>
            <name>Florian Gyger</name>
            <email>fgyger@openwms.org</email>
            <url>https://sourceforge.net/users/flogy</url>
            <organization>Swisslog AG</organization>
            <organizationUrl>http://www.swisslog.com</organizationUrl>
            <timezone>+2</timezone>
            <roles>
                <role>Developer</role>
                <role>Supporter</role>
            </roles>
        </developer>
        <developer>
            <id>mischazurich</id>
            <name>Mischa Farbstein</name>
            <email>mischazurich@users.sourceforge.net</email>
            <url>https://sourceforge.net/users/mischazurich</url>
            <timezone>+2</timezone>
            <roles>
                <role>Developer</role>
                <role>Moderator</role>
            </roles>
        </developer>
        <developer>
            <id>jarhell</id>
            <name>Michael Rudiger</name>
            <email>rudiger@openwms.org</email>
            <url>https://sourceforge.net/users/jarhell</url>
            <timezone>+2</timezone>
            <roles>
                <role>Developer</role>
            </roles>
        </developer>
    </developers>

    <mailingLists>
        <mailingList>
            <name>OpenWMS.org Public Mailing list</name>
            <subscribe>http://lists.sourceforge.net/lists/listinfo/openwms2005-public</subscribe>
            <unsubscribe>http://lists.sourceforge.net/lists/listinfo/openwms2005-public</unsubscribe>
            <archive>http://sourceforge.net/mailarchive/forum.php?forum_name=openwms2005-public</archive>
            <post>openwms2005-public@lists.sourceforge.net</post>
        </mailingList>
        <mailingList>
            <name>OpenWMS.org Development Mailing list</name>
            <subscribe>http://lists.sourceforge.net/lists/listinfo/openwms2005-development</subscribe>
            <unsubscribe>http://lists.sourceforge.net/lists/listinfo/openwms2005-development</unsubscribe>
            <archive>http://sourceforge.net/mailarchive/forum.php?forum_name=openwms2005-development</archive>
            <post>openwms2005-development@lists.sourceforge.net</post>
        </mailingList>
    </mailingLists>

    <ciManagement>
        <system>Jenkins</system>
        <url>https://openwms.mooo.com:81/jenkins</url>
        <notifiers>
            <notifier>
                <type>mail</type>
                <configuration>
                    <address>product@openwms.org</address>
                </configuration>
            </notifier>
        </notifiers>
    </ciManagement>

    <profiles>
        <profile>
            <id>public</id>
            <properties>
                <!-- Web Site deployment -->
                <distribution.serverId>shell.sourceforge.net</distribution.serverId>
                <distribution.serverProtocol>scp</distribution.serverProtocol>
                <distribution.serverUrl.rootPath>shell.sourceforge.net/home/project-web/openwms2005/htdocs</distribution.serverUrl.rootPath>
                <distribution.serverUrl.sourcePath>${distribution.serverUrl.rootPath}/development/reference/${project.version}</distribution.serverUrl.sourcePath>
                <distribution.serverUrl.docsPath>${distribution.serverUrl.rootPath}/docs</distribution.serverUrl.docsPath>
                <!-- Maven Repo Artifact deployment -->
                <distribution.repo.serverId>shell.sourceforge.net</distribution.repo.serverId>
                <distribution.repo.serverProtocol>scp</distribution.repo.serverProtocol>
                <distribution.repo.serverUrl.rootPath>shell.sourceforge.net/home/project-web/openwms2005/htdocs/repo/releases</distribution.repo.serverUrl.rootPath>
                <distribution.repo.snapshot.serverUrl.rootPath>shell.sourceforge.net/home/project-web/openwms2005/htdocs/repo/snapshots</distribution.repo.snapshot.serverUrl.rootPath>
            </properties>
        </profile>
        <profile>
            <id>internal</id>
            <properties>
                <!-- Web Site deployment -->
                <distribution.serverId>shell.sourceforge.net</distribution.serverId>
                <distribution.serverProtocol>scp</distribution.serverProtocol>
                <distribution.serverUrl.rootPath>shell.sourceforge.net/home/project-web/openwms2005/htdocs</distribution.serverUrl.rootPath>
                <distribution.serverUrl.sourcePath>${distribution.serverUrl.rootPath}/development/reference/${project.version}</distribution.serverUrl.sourcePath>
                <distribution.serverUrl.docsPath>${distribution.serverUrl.rootPath}/docs</distribution.serverUrl.docsPath>
                <!-- Maven Repo Artifact deployment -->
                <distribution.repo.serverId>openwms.mooo.com</distribution.repo.serverId>
                <distribution.repo.serverProtocol>http</distribution.repo.serverProtocol>
                <distribution.repo.serverUrl.rootPath>localhost:8081/nexus/content/repositories/openwms-snapshots</distribution.repo.serverUrl.rootPath>
                <distribution.repo.snapshot.serverUrl.rootPath>localhost:8081/nexus/content/repositories/openwms-snapshots</distribution.repo.snapshot.serverUrl.rootPath>
            </properties>
        </profile>
        <profile>
            <id>sonatype</id>
            <properties>
                <!-- Web Site deployment -->
                <distribution.serverId>shell.sourceforge.net</distribution.serverId>
                <distribution.serverProtocol>scp</distribution.serverProtocol>
                <distribution.serverUrl.rootPath>shell.sourceforge.net/home/project-web/openwms2005/htdocs</distribution.serverUrl.rootPath>
                <distribution.serverUrl.sourcePath>${distribution.serverUrl.rootPath}/development/reference/${project.version}</distribution.serverUrl.sourcePath>
                <distribution.serverUrl.docsPath>${distribution.serverUrl.rootPath}/docs</distribution.serverUrl.docsPath>
                <!-- Maven Repo Artifact deployment -->
                <distribution.repo.serverId>sonatype-nexus-staging</distribution.repo.serverId>
                <distribution.repo.serverProtocol>https</distribution.repo.serverProtocol>
                <distribution.repo.serverUrl.rootPath>oss.sonatype.org/service/local/staging/deploy/maven2</distribution.repo.serverUrl.rootPath>
                <distribution.repo.snapshot.serverUrl.rootPath>oss.sonatype.org/content/repositories/snapshots</distribution.repo.snapshot.serverUrl.rootPath>
            </properties>
        </profile>
        <profile>
            <id>all</id>
            <activation>
                <property>
                    <name>!top</name>
                </property>
            </activation>
            <modules>
                <module>org.openwms.core</module>
                <module>org.openwms.common</module>
                <module>org.openwms.tms</module>
                <module>org.openwms.app</module>
            </modules>
        </profile>
        <profile>
            <id>app</id>
            <modules>
                <module>org.openwms.app</module>
            </modules>
        </profile>
        <profile>
            <id>core</id>
            <modules>
                <module>org.openwms.core</module>
            </modules>
        </profile>
        <profile>
            <id>common</id>
            <modules>
                <module>org.openwms.common</module>
            </modules>
        </profile>
        <profile>
            <id>tms</id>
            <modules>
                <module>org.openwms.tms</module>
            </modules>
        </profile>
        <profile>
            <id>sordocs</id>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>attach-javadocs</id>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <links>
                                <link>http://docs.spring.io/spring/docs/4.1.x/javadoc-api/</link>
                                <link>http://docs.spring.io/spring-security/site/docs/4.0.x/apidocs/</link>
                                <link>http://docs.oracle.com/javaee/5/api</link>
                                <link>http://docs.mockito.googlecode.com/hg/latest</link>
                                <link>http://dozer.sourceforge.net/apidocs</link>
                                <link>http://jackson.codehaus.org/${jackson.version}/javadoc</link>
                            </links>
                            <failOnError>false</failOnError>
                            <detectLinks>true</detectLinks>
                            <keywords>true</keywords>
                            <linksource>true</linksource>
                            <overview>${basedir}/overview.html</overview>
                            <source>${project.build.sourceEncoding}</source>
                            <verbose>true</verbose>
                        </configuration>
                    </plugin>
                    <plugin>
                        <artifactId>maven-source-plugin</artifactId>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>release</id>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>sign-artifacts</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>generate_glossary</id>
            <!-- Call this profile together with all to generate the DocBook Glossary file -->
            <!-- Note: The used doclet plugin is available on the private Nexus repository only -->
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <version>${plugin.javadoc.version}</version>
                        <configuration>
                            <source>${project.build.sourceEncoding}</source>
                            <doclet>org.openwms.doclet.GlossaryGeneratorDoclet</doclet>
                            <docletArtifact>
                                <groupId>org.openwms</groupId>
                                <artifactId>org.openwms.doclet</artifactId>
                                <version>0.0.1-SNAPSHOT</version>
                            </docletArtifact>
                            <aggregate>true</aggregate>
                            <charset>${project.build.sourceEncoding}</charset>
                            <encoding>${project.build.sourceEncoding}</encoding>
                            <docencoding>${project.build.sourceEncoding}</docencoding>
                            <breakiterator>true</breakiterator>
                            <level>private</level>
                            <show>private</show>
                            <keywords>true</keywords>
                            <useStandardDocletOptions>false</useStandardDocletOptions>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

    <properties>
        <moduleDir>.</moduleDir>
        <!-- used by surefire plugin in combination with jacoco -->
        <argLine>-Xmx1024m</argLine>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <jdkVersion>1.7</jdkVersion>

        <env.all>true</env.all>

        <maven.compile.targetLevel>${jdkVersion}</maven.compile.targetLevel>
        <maven.compile.sourceLevel>${jdkVersion}</maven.compile.sourceLevel>
        <maven.min.version>3.0.4</maven.min.version>
        
        <!-- Used to make the Maven description property available from Bundlor -->
        <project.description>${project.description}</project.description>
        
        <!-- =================== -->
        <!-- Submodule versions  -->
        <!-- =================== -->
        <rest.version>1.0</rest.version>
        <angularjs.client.version>1.0</angularjs.client.version>

        <!-- =================== -->
        <!-- Dependency versions -->
        <!-- =================== -->
        <apache.commons.beanutils.version>1.8.0</apache.commons.beanutils.version>
        <apache.commons.collections.version>3.2.1</apache.commons.collections.version>
        <apache.commons.dbcp.version>2.1</apache.commons.dbcp.version>
        <apache.commons.httpclient.version>4.4</apache.commons.httpclient.version>
        <apache.commons.lang.version>3.1</apache.commons.lang.version>
        <aspectj.version>1.7.4</aspectj.version>
        <cglib.version>2.2.0</cglib.version>
        <dozer.version>5.4.0</dozer.version>
        <el.version>2.2</el.version>
        <freemarker.version>2.3.15</freemarker.version>
        <granite.version>2.3.2.GA</granite.version>
        <hibernate.version>4.2.3.Final</hibernate.version>
        <hibernate-validator.version>4.3.0.Final</hibernate-validator.version>
        <jackson.version>2.4.0</jackson.version>
        <javax.persistence.version>1.0.0</javax.persistence.version>
        <javax.servlet-api.version>3.0.1</javax.servlet-api.version>
        <jboss-logging.version>3.1.0.GA</jboss-logging.version>
        <jdbc.derby.version>10.7.1.1</jdbc.derby.version>
        <jdbc.h2.version>1.3.166</jdbc.h2.version>
        <jdbc.hsqldb.version>2.2.8</jdbc.hsqldb.version>
        <jdbc.mysql.version>5.1.6</jdbc.mysql.version>
        <jdbc.oracle.version>6.0.0</jdbc.oracle.version>
        <jdbc.postgresql.version>9.3-1102-jdbc41</jdbc.postgresql.version>
        <jpa-api.version>1.0.1.Final</jpa-api.version>
        <jsf.api.version>2.1.4</jsf.api.version>
        <jsf.impl.version>2.1.4</jsf.impl.version>
        <jta.version>1.1</jta.version>
        <junit.version>4.12</junit.version>
        <mockito.version>1.9.0</mockito.version>
        <net.sf.ehcache.version>2.10.0</net.sf.ehcache.version>
        <primefaces.version>3.2</primefaces.version>
        <slf4j.version>1.7.7</slf4j.version>
        <!-- Spring Integration 2.2.4 uses Spring Core 3.1.3 -->
        <spring.integration.version>4.1.3.RELEASE</spring.integration.version>
        <spring-retry.version>1.1.2.RELEASE</spring-retry.version>
        <spring.security.version>4.0.0.RELEASE</spring.security.version>
        <spring.version>4.1.6.RELEASE</spring.version>
        <validation-api.version>1.0.0.GA</validation-api.version>

        <!-- =================== -->
        <!--   Plugin versions   -->
        <!-- =================== -->
        <plugin.archiver.version>2.3.2</plugin.archiver.version>
        <plugin.assembly.version>2.4</plugin.assembly.version>
        <plugin.checkstyle.version>2.11</plugin.checkstyle.version>
        <plugin.clean.version>2.5</plugin.clean.version>
        <plugin.cobertura.version>2.3</plugin.cobertura.version>
        <plugin.compiler.version>3.1</plugin.compiler.version>
        <plugin.dashboard.version>1.0.0-beta-1</plugin.dashboard.version>
        <plugin.deploy.version>2.8.1</plugin.deploy.version>
        <plugin.enforcer.version>1.3.1</plugin.enforcer.version>
        <plugin.findbugs.version>2.3.1</plugin.findbugs.version>
        <plugin.gpg.version>1.4</plugin.gpg.version>
        <plugin.install.version>2.4</plugin.install.version>
        <plugin.jar.version>2.3.2</plugin.jar.version>
        <plugin.javadoc.version>2.9.1</plugin.javadoc.version>
        <plugin.jdepend.version>2.0-beta-2</plugin.jdepend.version>
        <plugin.jrebel.version>1.1.5</plugin.jrebel.version>
        <plugin.jxr.version>2.3</plugin.jxr.version>
        <plugin.par.version>1.0.0.RELEASE</plugin.par.version>
        <plugin.pmd.version>2.4</plugin.pmd.version>
        <plugin.project-info.version>2.4</plugin.project-info.version>
        <plugin.resources.version>2.6</plugin.resources.version>
        <plugin.site.version>3.3</plugin.site.version>
        <plugin.source.version>2.2.1</plugin.source.version>
        <plugin.surefire.version>2.16</plugin.surefire.version>
        <plugin.surefire-report.version>2.5</plugin.surefire-report.version>
        <plugin.taglist.version>2.4</plugin.taglist.version>
        <plugin.wagon-ssh.version>2.1</plugin.wagon-ssh.version>
        <plugin.war.version>2.4</plugin.war.version>
    </properties>

    <pluginRepositories>
        <pluginRepository>
            <id>central</id>
            <name>Maven Plugin Repository</name>
            <url>http://repo.maven.apache.org/maven2</url>
        </pluginRepository>
    </pluginRepositories>
    <repositories>
        <repository>
            <id>central</id>
            <name>Maven Plugin Repository</name>
            <url>http://repo.maven.apache.org/maven2</url>
        </repository>
        <repository>
            <id>com.springsource.repository.bundles.release</id>
            <name>SpringSource Enterprise Bundle Repository - SpringSource Bundle Releases</name>
            <url>http://repository.springsource.com/maven/bundles/release</url>
        </repository>
        <repository>
            <id>com.springsource.repository.bundles.external</id>
            <name>SpringSource Enterprise Bundle Repository - External Bundle Releases</name>
            <url>http://repository.springsource.com/maven/bundles/external</url>
        </repository>
        <repository>
            <id>com.springsource.repository.libraries.release</id>
            <name>SpringSource Enterprise Bundle Repository - SpringSource Library Releases</name>
            <url>http://repository.springsource.com/maven/libraries/release</url>
        </repository>
        <repository>
            <id>com.springsource.repository.libraries.external</id>
            <name>SpringSource Enterprise Bundle Repository - External Library Releases</name>
            <url>http://repository.springsource.com/maven/libraries/external</url>
        </repository>
    </repositories>

    <build>
        <extensions>
            <extension>
                <groupId>org.apache.maven.wagon</groupId>
                <artifactId>wagon-ssh</artifactId>
                <version>${plugin.wagon-ssh.version}</version>
            </extension>
        </extensions>
        <pluginManagement>
            <plugins>
                <plugin>
                    <artifactId>maven-archiver-plugin</artifactId>
                    <version>${plugin.archiver.version}</version>
                </plugin>

                <plugin>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>${plugin.assembly.version}</version>
                    <configuration>
                        <descriptorRefs>
                            <descriptorRef>jar-with-dependencies</descriptorRef>
                        </descriptorRefs>
                    </configuration>
                </plugin>

                <plugin>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>${plugin.clean.version}</version>
                </plugin>

                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>${plugin.compiler.version}</version>
                    <configuration>
                        <debug>true</debug>
                        <optimize>true</optimize>
                        <fork>true</fork>
                        <source>${maven.compile.sourceLevel}</source>
                        <target>${maven.compile.targetLevel}</target>
                        <encoding>${project.build.sourceEncoding}</encoding>
                    </configuration>
                </plugin>

                <plugin>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>${plugin.deploy.version}</version>
                </plugin>

                <plugin>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <version>${plugin.enforcer.version}</version>
                </plugin>

                <plugin>
                    <artifactId>maven-gpg-plugin</artifactId>
                    <version>${plugin.gpg.version}</version>
                </plugin>

                <plugin>
                    <artifactId>maven-install-plugin</artifactId>
                    <version>${plugin.install.version}</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>install</goal>
                            </goals>
                            <configuration>
                                <createChecksum>true</createChecksum>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>

                <plugin>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>${plugin.jar.version}</version>
                    <configuration>
                        <finalName>${project.artifactId}</finalName>
                    </configuration>
                </plugin>

                <plugin>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>${plugin.resources.version}</version>
                </plugin>

                <plugin>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>${plugin.source.version}</version>
                </plugin>

                <plugin>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>${plugin.surefire.version}</version>
                    <configuration>
                        <forkCount>0</forkCount>
                        <threadCount>1</threadCount>
                        <useSystemClassLoader>true</useSystemClassLoader>
                        <skipTests>false</skipTests>
                        <trimStackTrace>true</trimStackTrace>
                        <systemPropertyVariables>
                            <log4j.configuration>log4j.xml</log4j.configuration>
                        </systemPropertyVariables>
                        <includes>
                            <include>**/*Test.java</include>
                        </includes>
                        <excludes>
                            <exclude>**/Abstract*.java</exclude>
                        </excludes>
                    </configuration>
                    <dependencies>
                        <dependency>
                            <groupId>org.apache.maven.surefire</groupId>
                            <artifactId>surefire-junit47</artifactId>
                            <version>${plugin.surefire.version}</version>
                        </dependency>
                    </dependencies>
                </plugin>

                <plugin>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>${plugin.war.version}</version>
                    <configuration>
                        <failOnMissingWebXml>false</failOnMissingWebXml>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.zeroturnaround</groupId>
                    <artifactId>jrebel-maven-plugin</artifactId>
                    <version>${plugin.jrebel.version}</version>
                </plugin>

            </plugins>
        </pluginManagement>

        <plugins>
            <plugin>
                <artifactId>maven-enforcer-plugin</artifactId>
                <configuration>
                    <rules>
                        <requireMavenVersion>
                            <message>At least Maven in version ${maven.min.version} is required.</message>
                            <version>${maven.min.version}</version>
                        </requireMavenVersion>
                        <requireJavaVersion>
                            <message>At least a JDK in version ${jdkVersion} is required.</message>
                            <version>${jdkVersion}</version>
                        </requireJavaVersion>
                        <DependencyConvergence />
                    </rules>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <reporting>

        <plugins>
            <plugin>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>${plugin.javadoc.version}</version>
                <inherited>true</inherited>
                <reportSets>
                    <reportSet>
                        <inherited>true</inherited>
                        <reports>
                            <report>aggregate</report>
                        </reports>
                        <configuration>
                            <detectLinks>true</detectLinks>
                            <links>
                                <link>http://docs.spring.io/spring/docs/4.1.x/javadoc-api/</link>
                                <link>http://docs.spring.io/spring-security/site/docs/4.0.x/apidocs/</link>
                                <link>http://commons.apache.org/proper/commons-lang/javadocs/api-3.1/index.html</link>
                                <link>http://docs.oracle.com/javaee/5/api</link>
                                <link>http://docs.mockito.googlecode.com/hg/latest</link>
                                <link>http://dozer.sourceforge.net/apidocs</link>
                                <link>http://jackson.codehaus.org/${jackson.version}/javadoc</link>
                            </links>
                            <keywords>true</keywords>
                            <minmemory>1g</minmemory>
                            <maxmemory>2g</maxmemory>
                            <linksource>true</linksource>
                            <overview>${basedir}/overview.html</overview>
                            <source>${project.build.sourceEncoding}</source>
                            <stylesheetfile>${basedir}/src/site/css/openwms-jdoc.css</stylesheetfile>
                            <verbose>false</verbose>
                            <quiet>true</quiet>
                            <aggregate>true</aggregate>
                            <doclet>gr.spinellis.umlgraph.doclet.UmlGraphDoc</doclet>
                            <docletArtifact>
                                <groupId>gr.spinellis</groupId>
                                <artifactId>UmlGraph</artifactId>
                                <version>4.6</version>
                            </docletArtifact>
                            <show>private</show>
                            <additionalparam>
                                -inferrel -inferdep -quiet -hide java.* -collpackages java.util.*
                                -postfixpackage -nodefontname Tahoma -nodefontsize 9 -nodefontpackagesize 7
                                -outputencoding UTF-8
                                -link
                                http://docs.spring.io/spring/docs/4.1.x/javadoc-api
                            </additionalparam>
                        </configuration>
                    </reportSet>
                </reportSets>
            </plugin>

            <plugin>
                <artifactId>maven-jxr-plugin</artifactId>
                <version>${plugin.jxr.version}</version>
                <configuration>
                    <aggregate>true</aggregate>
                    <linkJavadoc>true</linkJavadoc>
                    <aggregate>true</aggregate>
                    <javadocDir>${project.name}/apidocs</javadocDir>
                    <stylesheet>${basedir}/src/site/css/openwms-jdoc.css</stylesheet>
                    <windowTitle>OpenWMS.org Java Sources</windowTitle>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>taglist-maven-plugin</artifactId>
                <version>${plugin.taglist.version}</version>
                <configuration>
                    <aggregate>true</aggregate>
                    <encoding>${project.build.sourceEncoding}</encoding>
                    <tagListOptions>
                        <tagClasses>
                            <tagClass>
                                <displayName>Important fixes that have to be done until the next release</displayName>
                                <tags>
                                    <tag>
                                        <matchString>FIXME</matchString>
                                        <matchType>ignoreCase</matchType>
                                    </tag>
                                </tags>
                            </tagClass>
                            <tagClass>
                                <displayName>Things to verify and to check</displayName>
                                <tags>
                                    <tag>
                                        <matchString>// check:</matchString>
                                        <matchType>ignoreCase</matchType>
                                    </tag>
                                </tags>
                            </tagClass>
                            <tagClass>
                                <displayName>Just things to do</displayName>
                                <tags>
                                    <tag>
                                        <matchString>todo</matchString>
                                        <matchType>ignoreCase</matchType>
                                    </tag>
                                    <tag>
                                        <matchString>@todo</matchString>
                                        <matchType>ignoreCase</matchType>
                                    </tag>
                                    <tag>
                                        <matchString>XXX</matchString>
                                        <matchType>ignoreCase</matchType>
                                    </tag>
                                </tags>
                            </tagClass>
                        </tagClasses>
                    </tagListOptions>
                </configuration>
            </plugin>

            <plugin>
                <artifactId>maven-pmd-plugin</artifactId>
                <version>${plugin.pmd.version}</version>
                <configuration>
                    <targetJdk>${maven.compile.targetLevel}</targetJdk>
                    <format>xml</format>
                    <linkXRef>true</linkXRef>
                    <aggregate>true</aggregate>
                    <sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
                </configuration>
            </plugin>

            <plugin>
                <artifactId>maven-surefire-report-plugin</artifactId>
                <version>${plugin.surefire-report.version}</version>
                <configuration>
                    <aggregate>true</aggregate>
                    <xrefLocation>${project.reporting.outputDirectory}/../xref-test</xrefLocation>
                    <linkXRef>true</linkXRef>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>jdepend-maven-plugin</artifactId>
                <version>${plugin.jdepend.version}</version>
            </plugin>

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>cobertura-maven-plugin</artifactId>
                <version>${plugin.cobertura.version}</version>
                <configuration>
                    <formats>
                        <format>html</format>
                        <format>xml</format>
                    </formats>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>findbugs-maven-plugin</artifactId>
                <version>${plugin.findbugs.version}</version>
                <configuration>
                    <xrefLocation>${project.reporting.outputDirectory}/../xref</xrefLocation>
                    <xmlOutput>true</xmlOutput>
                    <effort>Max</effort>
                    <threshold>Low</threshold>
                    <failOnError>false</failOnError>
                    <findbugsXmlOutput>true</findbugsXmlOutput>
                    <findbugsXmlOutputDirectory>target/site</findbugsXmlOutputDirectory>
                </configuration>
            </plugin>

            <plugin>
                <artifactId>maven-project-info-reports-plugin</artifactId>
                <version>${plugin.project-info.version}</version>
                <reportSets>
                    <reportSet>
                        <inherited>true</inherited>
                        <reports>
                            <report>index</report>
                            <report>scm</report>
                            <report>plugin-management</report>
                            <report>plugins</report>
                            <report>summary</report>
                            <report>dependencies</report>
                            <report>dependency-convergence</report>
                            <report>dependency-management</report>
                        </reports>
                    </reportSet>
                    <reportSet>
                        <inherited>false</inherited>
                        <reports>
                            <report>project-team</report>
                            <report>issue-tracking</report>
                            <report>license</report>
                            <report>mailing-list</report>
                            <report>cim</report>
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>dashboard-maven-plugin</artifactId>
                <version>${plugin.dashboard.version}</version>
            </plugin>

            <plugin>
                <artifactId>maven-site-plugin</artifactId>
                <version>${plugin.site.version}</version>
            </plugin>

        </plugins>
    </reporting>

    <dependencyManagement>
        <dependencies>
            <!-- JEE API -->
            <dependency>
                <groupId>javax.transaction</groupId>
                <artifactId>jta</artifactId>
                <version>${jta.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>${javax.servlet-api.version}</version>
                <scope>provided</scope>
            </dependency>

            <!-- Spring Framework Libraries -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-aspects</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-aop</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context-support</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-expression</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-instrument</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.integration</groupId>
                <artifactId>spring-integration-ip</artifactId>
                <version>${spring.integration.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.springframework.retry</groupId>
                        <artifactId>spring-retry</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.springframework.retry</groupId>
                        <artifactId>spring-messaging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-messaging</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-orm</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-oxm</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <!-- Unfortunately Spring integration depends on spring-retry that comes with an old Spring version 3.0.x -->
            <dependency>
                <groupId>org.springframework.retry</groupId>
                <artifactId>spring-retry</artifactId>
                <version>${spring-retry.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-context</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-test</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-tx</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-web</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-webmvc</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-test</artifactId>
                <version>${spring.version}</version>
                <type>jar</type>
            </dependency>

            <!-- Spring Security Libraries -->
            <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-core</artifactId>
                <version>${spring.security.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-config</artifactId>
                <version>${spring.security.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-web</artifactId>
                <version>${spring.security.version}</version>
            </dependency>

            <!-- Apache libraries -->
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>${apache.commons.httpclient.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>${apache.commons.lang.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-dbcp2</artifactId>
                <version>${apache.commons.dbcp.version}</version>
            </dependency>

            <!-- Database libraries -->
            <dependency>
                <groupId>org.hsqldb</groupId>
                <artifactId>hsqldb</artifactId>
                <version>${jdbc.hsqldb.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.derby</groupId>
                <artifactId>derby</artifactId>
                <version>${jdbc.derby.version}</version>
            </dependency>
            <dependency>
                <groupId>org.postgresql</groupId>
                <artifactId>postgresql</artifactId>
                <version>${jdbc.postgresql.version}</version>
            </dependency>
            <dependency>
                <groupId>com.h2database</groupId>
                <artifactId>h2</artifactId>
                <version>${jdbc.h2.version}</version>
            </dependency>
            <dependency>
                <groupId>com.mysql.jdbc</groupId>
                <artifactId>com.springsource.com.mysql.jdbc</artifactId>
                <version>${jdbc.mysql.version}</version>
            </dependency>
            <dependency>
                <groupId>org.openwms</groupId>
                <artifactId>oracle.jdbc.driver</artifactId>
                <version>${jdbc.oracle.version}</version>
                <optional>true</optional>
            </dependency>

            <!-- JPA Provider Libraries -->
            <dependency>
                <groupId>org.hibernate.javax.persistence</groupId>
                <artifactId>hibernate-jpa-2.0-api</artifactId>
                <version>${jpa-api.version}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-entitymanager</artifactId>
                <version>${hibernate.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.jboss.logging</groupId>
                        <artifactId>jboss-logging</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.jboss.logging</groupId>
                <artifactId>jboss-logging</artifactId>
                <version>${jboss-logging.version}</version>
            </dependency>

            <!-- Bean Validation API and RI -->
            <dependency>
                <groupId>javax.validation</groupId>
                <artifactId>validation-api</artifactId>
                <version>${validation-api.version}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-validator</artifactId>
                <version>${hibernate-validator.version}</version>
            </dependency>

            <dependency>
                <groupId>net.sf.ehcache</groupId>
                <artifactId>ehcache</artifactId>
                <version>${net.sf.ehcache.version}</version>
            </dependency>

            <!-- REST dependencies -->
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-core</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>net.sf.dozer</groupId>
                <artifactId>dozer</artifactId>
                <version>${dozer.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-log4j12</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>jcl-over-slf4j</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <!-- Weaver -->
            <dependency>
                <groupId>org.aspectj</groupId>
                <artifactId>aspectjweaver</artifactId>
                <version>${aspectj.version}</version>
            </dependency>
            <dependency>
                <groupId>org.aspectj</groupId>
                <artifactId>aspectjrt</artifactId>
                <version>${aspectj.version}</version>
            </dependency>
            <dependency>
                <groupId>org.aspectj</groupId>
                <artifactId>aspectjtools</artifactId>
                <version>${aspectj.version}</version>
            </dependency>
            
            <!-- Others -->
            <dependency>
                <groupId>net.sourceforge.cglib</groupId>
                <artifactId>com.springsource.net.sf.cglib</artifactId>
                <version>${cglib.version}</version>
            </dependency>
            <dependency>
                <groupId>org.freemarker</groupId>
                <artifactId>com.springsource.freemarker</artifactId>
                <version>${freemarker.version}</version>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-all</artifactId>
                <version>${mockito.version}</version>
            </dependency>

            <!-- SLF4J API -->
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <!-- SLF4J Binding to log4j -->
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <!-- Bridge from JCL to SLF4J -->
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-jcl</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <!-- Bridge from java.util.Logging to SLF4J -->
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-jdk14</artifactId>
                <version>${slf4j.version}</version>
            </dependency>

        </dependencies>
    </dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
        </dependency>
        <dependency>
            <groupId>net.sourceforge.cglib</groupId>
            <artifactId>com.springsource.net.sf.cglib</artifactId>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-all</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

</project>
