<?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>
    <groupId>org.sistcoop</groupId>
    <artifactId>openfact-pe</artifactId>
    <version>1.0.RC7</version>
    <packaging>pom</packaging>

    <name>Openfact PE</name>
    <description>Openfact PE Extension</description>

    <properties>
        <product.version>${project.version}</product.version>

        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <version.wildfly.swarm>2017.5.0</version.wildfly.swarm>

        <maven.compiler.target>1.8</maven.compiler.target>
        <maven.compiler.source>1.8</maven.compiler.source>

        <!-- Java EE 7 -->
        <javaee.version>7.0</javaee.version>

        <!-- Apache commons -->
        <version.commons.validator>1.5.1</version.commons.validator>

        <!-- Jasper reports-->
        <version.jasperreports>6.3.1</version.jasperreports>
        <version.jasperreports.fonts>6.0.0</version.jasperreports.fonts>
        <version.barcode4j>2.1</version.barcode4j>

        <version.batik>1.8</version.batik>
        <version.xmlgraphics-commons>2.1</version.xmlgraphics-commons>

        <!--Deltaspike-->
        <version.deltaspike>1.7.2</version.deltaspike>

        <!-- Resteasy -->
        <version.resteasy>3.1.1.Final</version.resteasy>

        <!--Wildfly-->
        <wildfly.core.version>2.0.10.Final</wildfly.core.version>
        <jboss.logging.version>3.3.0.Final</jboss.logging.version>
        <jboss.logging.tools.version>2.0.1.Final</jboss.logging.tools.version>

        <!-- Openfact Versions -->
        <openfact.version>1.0.RC25</openfact.version>

        <!-- Arquillian -->
        <version.arquillian>1.1.10.Final</version.arquillian>

        <!-- apache cfx -->
        <version.apache.cxf>3.1.7</version.apache.cxf>
        <version.woodstox>4.4.1</version.woodstox>
        <version.jaxws-rt>2.2.8</version.jaxws-rt>
        <jaxb2.basics.runtime>1.11.1</jaxb2.basics.runtime>

        <version.jaxb>2.2.11</version.jaxb>
        <log4j.version>1.2.16</log4j.version>

        <!--zip builder-->
        <version.jodd-core>3.8.1</version.jodd-core>

        <!-- Test -->
        <junit.version>4.12</junit.version>

        <!--Jdbc-->
        <h2.version>1.4.187</h2.version>
        <version.postgresql>9.4.1207</version.postgresql>
        <version.mysql>5.1.38</version.mysql>

        <!-- Maven Plugins -->
        <version.maven-compiler-plugin>3.6.1</version.maven-compiler-plugin>
        <version.maven-war-plugin>2.6</version.maven-war-plugin>
        <version.maven-jar-plugin>3.0.2</version.maven-jar-plugin>
        <version.maven-deploy-plugin>2.8.2</version.maven-deploy-plugin>
        <osgi.bundle.plugin.version>3.2.0</osgi.bundle.plugin.version>
        <version.jasper-compile-plugin>2.3</version.jasper-compile-plugin>
        <version.jaxb2-plugin>0.13.2</version.jaxb2-plugin>
        <version.build-helper-maven-plugin>3.0.0</version.build-helper-maven-plugin>
        <jboss.as.plugin.version>7.5.Final</jboss.as.plugin.version>
        <wildfly.plugin.version>1.1.0.Final</wildfly.plugin.version>
        <version.compiler.plugin>3.1</version.compiler.plugin>
        <version.surefire.plugin>2.16</version.surefire.plugin>
        <nexus.staging.plugin.version>1.6.8</nexus.staging.plugin.version>
    </properties>

    <url>http://openfact.org</url>

    <licenses>
        <license>
            <name>Apache License, Version 2.0</name>
            <url>https://www.apache.org/licenses/LICENSE-2.0</url>
            <distribution>repo</distribution>
        </license>
    </licenses>

    <developers>
        <developer>
            <id>carlosthe19916</id>
            <name>Carlos Esteban Feria Vila</name>
            <email>carlosthe19916@sistcoop.com</email>
            <organization>SistCoop</organization>
            <roles>
                <role>project-owner</role>
            </roles>
            <timezone>-5</timezone>
        </developer>
    </developers>

    <scm>
        <connection>scm:git:git://github.com/openfact/openfact-pe.git</connection>
        <developerConnection>scm:git:git@github.com:openfact/openfact-pe.git</developerConnection>
        <url>https://github.com/openfact/openfact-pe/tree/master/</url>
    </scm>

    <distributionManagement>
        <snapshotRepository>
            <id>ossrh</id>
            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        </snapshotRepository>
        <repository>
            <id>ossrh</id>
            <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
        </repository>
    </distributionManagement>

    <modules>
        <module>core</module>
        <module>integration</module>
        <module>services</module>
        <module>spi</module>
        <module>reports</module>
        <module>distribution</module>
        <module>client</module>
    </modules>

    <dependencyManagement>
        <dependencies>
            <!-- Wildfly Swarm -->
            <dependency>
                <groupId>org.wildfly.swarm</groupId>
                <artifactId>bom</artifactId>
                <version>${version.wildfly.swarm}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!--Arquillian -->
            <dependency>
                <groupId>org.jboss.arquillian</groupId>
                <artifactId>arquillian-bom</artifactId>
                <version>${version.arquillian}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!--Openfact PE-->
            <dependency>
                <groupId>org.sistcoop</groupId>
                <artifactId>openfact-pe-core</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.sistcoop</groupId>
                <artifactId>openfact-pe-integration</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.sistcoop</groupId>
                <artifactId>openfact-pe-services</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.sistcoop</groupId>
                <artifactId>openfact-pe-spi</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.sistcoop</groupId>
                <artifactId>openfact-pe-reports</artifactId>
                <version>${project.version}</version>
            </dependency>

            <!-- Openfact Core -->
            <dependency>
                <groupId>org.sistcoop</groupId>
                <artifactId>openfact-core</artifactId>
                <version>${openfact.version}</version>
            </dependency>
            <dependency>
                <groupId>org.sistcoop</groupId>
                <artifactId>openfact-services</artifactId>
                <version>${openfact.version}</version>
            </dependency>
            <dependency>
                <groupId>org.sistcoop</groupId>
                <artifactId>openfact-integration</artifactId>
                <version>${openfact.version}</version>
            </dependency>
            <dependency>
                <groupId>org.sistcoop</groupId>
                <artifactId>openfact-server-spi</artifactId>
                <version>${openfact.version}</version>
            </dependency>
            <dependency>
                <groupId>org.sistcoop</groupId>
                <artifactId>openfact-server-spi-private</artifactId>
                <version>${openfact.version}</version>
            </dependency>
            <dependency>
                <groupId>org.sistcoop</groupId>
                <artifactId>openfact-model-jpa</artifactId>
                <version>${openfact.version}</version>
            </dependency>
            <dependency>
                <groupId>org.sistcoop</groupId>
                <artifactId>openfact-testsuite-integration</artifactId>
                <version>${openfact.version}</version>
            </dependency>
            <dependency>
                <groupId>org.sistcoop</groupId>
                <artifactId>openfact-reports</artifactId>
                <version>${openfact.version}</version>
            </dependency>
            <dependency>
                <groupId>org.sistcoop</groupId>
                <artifactId>openfact-themes</artifactId>
                <version>${openfact.version}</version>
            </dependency>
            <dependency>
                <groupId>org.sistcoop</groupId>
                <artifactId>openfact-web-console</artifactId>
                <version>${openfact.version}</version>
                <type>war</type>
            </dependency>
            <dependency>
                <groupId>org.sistcoop</groupId>
                <artifactId>openfact-admin-client</artifactId>
                <version>${openfact.version}</version>
            </dependency>

            <!-- Java EE 7 -->
            <dependency>
                <groupId>javax</groupId>
                <artifactId>javaee-api</artifactId>
                <version>${javaee.version}</version>
                <scope>provided</scope>
            </dependency>

            <!--resteasy-->
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-jaxrs</artifactId>
                <version>${version.resteasy}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-jaxb-provider</artifactId>
                <version>${version.resteasy}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-multipart-provider</artifactId>
                <version>${version.resteasy}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-cache-core</artifactId>
                <version>${version.resteasy}</version>
            </dependency>

            <!-- Wildfly -->
            <dependency>
                <groupId>org.jboss.logging</groupId>
                <artifactId>jboss-logging</artifactId>
                <version>${jboss.logging.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.logging</groupId>
                <artifactId>jboss-logging-annotations</artifactId>
                <version>${jboss.logging.tools.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.logging</groupId>
                <artifactId>jboss-logging-processor</artifactId>
                <version>${jboss.logging.tools.version}</version>
            </dependency>

            <dependency>
                <groupId>org.wildfly.core</groupId>
                <artifactId>wildfly-controller</artifactId>
                <version>${wildfly.core.version}</version>
            </dependency>

            <!--Deltaspike-->
            <dependency>
                <groupId>org.apache.deltaspike.core</groupId>
                <artifactId>deltaspike-core-api</artifactId>
                <version>${version.deltaspike}</version>
            </dependency>

            <!--Apache JXF-->
            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-frontend-jaxws</artifactId>
                <version>${version.apache.cxf}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-transports-http</artifactId>
                <version>${version.apache.cxf}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-rs-client</artifactId>
                <version>${version.apache.cxf}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-rs-service-description</artifactId>
                <version>${version.apache.cxf}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-ws-security</artifactId>
                <version>${version.apache.cxf}</version>
            </dependency>
            <dependency>
                <groupId>org.jvnet.jaxb2_commons</groupId>
                <artifactId>jaxb2-basics-runtime</artifactId>
                <version>${jaxb2.basics.runtime}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.woodstox</groupId>
                <artifactId>woodstox-core-asl</artifactId>
                <version>${version.woodstox}</version>
            </dependency>
            <dependency>
                <groupId>com.sun.xml.ws</groupId>
                <artifactId>jaxws-rt</artifactId>
                <version>${version.jaxws-rt}</version>
            </dependency>

            <dependency>
                <groupId>com.sun.xml.bind</groupId>
                <artifactId>jaxb-core</artifactId>
                <version>${version.jaxb}</version>
            </dependency>
            <dependency>
                <groupId>com.sun.xml.bind</groupId>
                <artifactId>jaxb-impl</artifactId>
                <version>${version.jaxb}</version>
            </dependency>

            <!-- Commons lang -->
            <dependency>
                <groupId>commons-validator</groupId>
                <artifactId>commons-validator</artifactId>
                <version>${version.commons.validator}</version>
            </dependency>

            <!--Jasper Reports-->
            <dependency>
                <groupId>net.sf.barcode4j</groupId>
                <artifactId>barcode4j</artifactId>
                <version>${version.barcode4j}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.xmlgraphics</groupId>
                <artifactId>batik-bridge</artifactId>
                <version>${version.batik}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.xmlgraphics</groupId>
                <artifactId>batik-dom</artifactId>
                <version>${version.batik}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.xmlgraphics</groupId>
                <artifactId>batik-svg-dom</artifactId>
                <version>${version.batik}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.xmlgraphics</groupId>
                <artifactId>xmlgraphics-commons</artifactId>
                <version>${version.xmlgraphics-commons}</version>
            </dependency>

            <!--zip builder-->
            <dependency>
                <groupId>org.jodd</groupId>
                <artifactId>jodd-core</artifactId>
                <version>${version.jodd-core}</version>
            </dependency>

            <!--Test -->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.version}</version>
                <scope>test</scope>
            </dependency>

            <!--jdbc-->
            <dependency>
                <groupId>com.h2database</groupId>
                <artifactId>h2</artifactId>
                <version>${h2.version}</version>
            </dependency>
            <dependency>
                <groupId>org.postgresql</groupId>
                <artifactId>postgresql</artifactId>
                <version>${version.postgresql}</version>
            </dependency>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${version.mysql}</version>
            </dependency>

        </dependencies>
    </dependencyManagement>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.sonatype.plugins</groupId>
                    <artifactId>nexus-staging-maven-plugin</artifactId>
                    <version>${nexus.staging.plugin.version}</version>
                    <extensions>true</extensions>
                    <configuration>
                        <serverId>ossrh</serverId>
                        <nexusUrl>https://oss.sonatype.org/</nexusUrl>
                        <autoReleaseAfterClose>true</autoReleaseAfterClose>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-release-plugin</artifactId>
                    <version>2.5.3</version>
                    <configuration>
                        <autoVersionSubmodules>true</autoVersionSubmodules>
                        <useReleaseProfile>false</useReleaseProfile>
                        <releaseProfiles>release</releaseProfiles>
                        <tagNameFormat>@{project.version}</tagNameFormat>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.wildfly.swarm</groupId>
                    <artifactId>wildfly-swarm-plugin</artifactId>
                    <version>${version.wildfly.swarm}</version>
                    <configuration>
                        <jvmArguments>
                            <jvmArgument>-Xmx128m</jvmArgument>
                        </jvmArguments>
                    </configuration>
                    <executions>
                        <execution>
                            <id>package</id>
                            <goals>
                                <goal>package</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>3.0.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>${version.maven-compiler-plugin}</version>
                </plugin>
                <plugin>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <version>2.19.1</version>
                </plugin>
                <plugin>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.19.1</version>
                    <configuration>
                        <systemPropertyVariables>
                            <org.apache.maven.user-settings>${session.request.userSettingsFile.path}
                            </org.apache.maven.user-settings>
                        </systemPropertyVariables>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>${version.maven-war-plugin}</version>
                    <configuration>
                        <failOnMissingWebXml>false</failOnMissingWebXml>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.felix</groupId>
                    <artifactId>maven-bundle-plugin</artifactId>
                    <version>${osgi.bundle.plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>${version.maven-jar-plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>${version.maven-deploy-plugin}</version>
                </plugin>
                <plugin>
                    <groupId>com.alexnederlof</groupId>
                    <artifactId>jasperreports-plugin</artifactId>
                    <version>${version.jasper-compile-plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.jvnet.jaxb2.maven2</groupId>
                    <artifactId>maven-jaxb2-plugin</artifactId>
                    <version>${version.jaxb2-plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <version>${version.build-helper-maven-plugin}</version>
                </plugin>
                <plugin>
                    <groupId>org.jboss.as.plugins</groupId>
                    <artifactId>jboss-as-maven-plugin</artifactId>
                    <version>${jboss.as.plugin.version}</version>
                    <configuration>
                        <skip>true</skip>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.wildfly.plugins</groupId>
                    <artifactId>wildfly-maven-plugin</artifactId>
                    <version>${wildfly.plugin.version}</version>
                    <configuration>
                        <skip>true</skip>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>io.fabric8</groupId>
                    <artifactId>docker-maven-plugin</artifactId>
                    <version>0.20.1</version>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <artifactId>maven-failsafe-plugin</artifactId>
                <configuration>
                    <includes>
                        <include>**/*IT.java</include>
                    </includes>
                    <systemPropertyVariables>
                        <phantomjs.binary.version>2.1.1</phantomjs.binary.version>
                        <org.apache.maven.user-settings>${session.request.userSettingsFile.path}
                        </org.apache.maven.user-settings>
                    </systemPropertyVariables>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>integration-test</goal>
                            <goal>verify</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <profile>
            <id>community</id>
            <activation>
                <property>
                    <name>!product</name>
                </property>
            </activation>
            <properties>
                <product.name>Openfact PE</product.name>
                <product.name.full>openfactpe</product.name.full>
                <product.slot>openfact</product.slot>
                <product.wildfly.console.slot>main</product.wildfly.console.slot>
                <product.name-html>\u003Cdiv
                    class="of-logo-text"\u003E\u003Cspan\u003EOpenfact\u003C\u002Fspan\u003E\u003C\u002Fdiv\u003E
                </product.name-html>
                <product.version>${project.version}</product.version>
                <product.default-profile>community</product.default-profile>
            </properties>
        </profile>

        <profile>
            <id>product</id>
            <activation>
                <property>
                    <name>product</name>
                </property>
            </activation>
            <properties>
                <product.name.full>Openfact UBL</product.name.full>
                <product.name>sistcoop-ubl</product.name>
                <product.slot>sistcoop-ubl</product.slot>
                <product.wildfly.console.slot>eap</product.wildfly.console.slot>
                <product.name-html>
                    \u003Cstrong\u003ESistCoop\u003C\u002Fstrong\u003E\u003Csup\u003E\u00AE\u003C\u002Fsup\u003E UBL
                </product.name-html>
                <product.version>${project.version}</product.version>
                <product.default-profile>product</product.default-profile>
                <product.filename.version>7.1</product.filename.version>
            </properties>
        </profile>

        <profile>
            <id>docker</id>
        </profile>

        <profile>
            <id>kit</id>
            <activation/>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-failsafe-plugin</artifactId>
                        <version>2.19.1</version>
                        <configuration>
                            <includes>
                                <include>**/*KT.*</include>
                            </includes>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>distribution</id>
        </profile>
        <profile>
            <id>release</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.sonatype.plugins</groupId>
                        <artifactId>nexus-staging-maven-plugin</artifactId>
                        <version>1.6.7</version>
                        <extensions>true</extensions>
                        <configuration>
                            <serverId>ossrh</serverId>
                            <nexusUrl>https://oss.sonatype.org/</nexusUrl>
                            <autoReleaseAfterClose>true</autoReleaseAfterClose>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                        <version>2.2.1</version>
                        <executions>
                            <execution>
                                <id>attach-sources</id>
                                <goals>
                                    <goal>jar-no-fork</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <version>2.9.1</version>
                        <executions>
                            <execution>
                                <id>attach-javadocs</id>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <version>1.6</version>
                        <executions>
                            <execution>
                                <id>sign-artifacts</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>doclint-java8-disable</id>
            <activation>
                <jdk>[1.8,)</jdk>
            </activation>

            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <version>2.9.1</version>
                        <configuration>
                            <additionalparam>-Xdoclint:none</additionalparam>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>nexus-staging</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.sonatype.plugins</groupId>
                        <artifactId>nexus-staging-maven-plugin</artifactId>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <!-- When built in OpenShift the 'openshift' profile will be used when invoking mvn. -->
            <!-- Use this profile for any OpenShift specific customization your app will need. -->
            <!-- By default that is to put the resulting archive into the 'deployments' folder. -->
            <!-- http://maven.apache.org/guides/mini/guide-building-for-different-environments.html -->
            <id>openshift</id>
            <build>
                <finalName>openfact</finalName>
            </build>
        </profile>

    </profiles>
</project>
