<?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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.openwms</groupId>
        <artifactId>org.openwms.parent</artifactId>
        <version>6</version>
        <relativePath>./org.openwms.parent</relativePath>
    </parent>
    <artifactId>org.openwms</artifactId>
    <version>1.3.0</version>
    <packaging>pom</packaging>
    <name>OpenWMS.org Project</name>

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

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

    <profiles>
        <profile>
            <!-- Use PostgreSQL as database -->
            <id>postgres</id>
            <activation>
                <property>
                    <name>db</name>
                    <value>postgresql</value>
                </property>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>org.postgresql</groupId>
                    <artifactId>postgresql</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.apache.commons</groupId>
                    <artifactId>commons-dbcp2</artifactId>
                </dependency>
            </dependencies>
        </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>${maven-javadoc-plugin.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>
                            <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>

        <profile>
            <id>not-travis</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <repositories>
                <repository>
                    <id>sonatype-nexus-staging</id>
                    <name>Staging Repository</name>
                    <url>https://oss.sonatype.org/content/groups/staging</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </repository>
            </repositories>
        </profile>
    </profiles>

    <properties>
        <moduleDir>.</moduleDir>
        <env.all>true</env.all>

        <maven.min.version>3.5.0</maven.min.version>
        <ci.buildNumber>MANUAL</ci.buildNumber>
        <github.global.server>github</github.global.server>
        <github.global.oauth2Token>${env.GHTOKEN}</github.global.oauth2Token>
        <!-- Disable lookup of dependency locations in the maven-project-info-reports-plugin -->
        <dependency.locations.enabled>false</dependency.locations.enabled>

        <!-- Used to make the Maven description property available from Bundlor -->
        <project.description>${project.description}</project.description>

        <!-- Dependency versions -->
        <jdbc.oracle.version>6.0.0</jdbc.oracle.version>
        <ms.group>NULL</ms.group>

        <!--   Plugin versions   -->
        <maven-war-plugin.version>3.1.0</maven-war-plugin.version>
        <site-maven-plugin.version>0.13.1</site-maven-plugin.version>
    </properties>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <version>${maven-enforcer-plugin.version}</version>
                    <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 ${java.version} is
                                    required.
                                </message>
                                <version>${java.version}</version>
                            </requireJavaVersion>
                            <DependencyConvergence/>
                        </rules>
                    </configuration>
                </plugin>

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

                <plugin>
                    <groupId>com.github.github</groupId>
                    <artifactId>site-maven-plugin</artifactId>
                    <version>${site-maven-plugin.version}</version>
                    <configuration>
                        <message>Creating site for ${project.version}</message>
                        <outputDirectory>
                            ${project.basedir}/${moduleDir}/docs
                        </outputDirectory>
                    </configuration>
                    <executions>
                        <execution>
                            <goals>
                                <goal>site</goal>
                            </goals>
                            <phase>package</phase>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-messaging</artifactId>
                <version>${spring.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <repositories>
        <repository>
            <id>sonatype-nexus-snapshots</id>
            <name>Snapshot Repository</name>
            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
            <releases>
                <enabled>false</enabled>
            </releases>
        </repository>
        <repository>
            <id>sonatype-nexus-staging</id>
            <name>Staging Repository</name>
            <url>http://oss.sonatype.org/service/local/staging/deploy/maven2</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
            <releases>
                <enabled>true</enabled>
            </releases>
        </repository>
    </repositories>

    <modules>
        <module>org.openwms.core.lang</module>
        <module>org.openwms.core.util</module>
    </modules>
</project>
