<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>net.oneandone</groupId>
    <artifactId>ejb-cdi-unit-parent</artifactId>
    <version>1.1.17</version>
    <packaging>pom</packaging>
    <modules>
        <module>ejb-cdi-unit</module>
        <module>ejb-cdi-unit5</module>
        <module>ejb-cdi-unit-test-war</module>
        <module>ejb-cdi-unit-tests</module>
        <module>purecdi-tests</module>
        <module>ejb-cdi-unit-tests5</module>
        <module>ejb-cdi-unit-simulators</module>
        <module>ejb-cdi-unit-camunda</module>
        <module>ejb-cdi-unit-arq</module>
        <!-- module>ejb-cdi-unit-tomee</module>
        <module>ejb-cdi-unit-tomee-simple</module-->
        <module>examples</module>
    </modules>

    <name>net.oneandone:ejb-cdi-unit-parent</name>
    <description>The parent-pom for ejb-cdi-unit a module developed to ease test driven ejb3.x service-development.
    </description>
    <url>https://github.com/1and1/ejb-cdi-unit</url>

    <licenses>
        <license>
            <name>The Apache License, Version 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
    </licenses>

    <developers>
        <developer>
            <name>Andreas Schörk</name>
            <email>andreas.schoerk@1and1.com</email>
            <organization>1and1</organization>
            <organizationUrl>http://www.1and1.com</organizationUrl>
        </developer>
    </developers>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

        <!-- apache plugin versions and configurations, please sort alphabetically -->
        <maven-checkstyle-plugin.version>2.17</maven-checkstyle-plugin.version>
        <maven-checkstyle-plugin.configLocation>site/checkstyle.xml</maven-checkstyle-plugin.configLocation>
        <maven-checkstyle-plugin.suppressionsLocation>checkstyle_suppressions.xml
        </maven-checkstyle-plugin.suppressionsLocation>
        <maven-dependency-plugin.version>2.8</maven-dependency-plugin.version>
        <maven-deploy-plugin.version>2.8.2</maven-deploy-plugin.version>
        <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
        <maven-gpg-plugin.version>1.6</maven-gpg-plugin.version>
        <maven-javadoc-plugin.version>2.10.3</maven-javadoc-plugin.version>

        <maven-scm-plugin.version>1.8.1</maven-scm-plugin.version>
        <maven-scm-publish-plugin.version>1.0-beta-2</maven-scm-publish-plugin.version>
        <maven-release-plugin.version>2.5.3</maven-release-plugin.version>
        <maven-resources-plugin.version>2.6</maven-resources-plugin.version>
        <maven-site-plugin.version>3.3</maven-site-plugin.version>
        <maven-source-plugin.version>2.2.1</maven-source-plugin.version>
        <maven-surefire-plugin.version>2.22.0</maven-surefire-plugin.version>
        <maven-war-plugin.version>3.0.0</maven-war-plugin.version>

        <!-- external -->
        <slf4j.version>1.7.25</slf4j.version>
        <logback.version>1.0.9</logback.version>
        <persistence-api.version>1.0</persistence-api.version>

        <!-- test -->
        <mockito.version>2.19.0</mockito.version>
        <!-- weld.version>1.1.14.Final</weld.version-->
        <junit4.version>4.12</junit4.version>
        <junit5.version>5.3.0</junit5.version>
        <junit-platform.version>1.3.0</junit-platform.version>
        <mockrunner.version>1.1.2</mockrunner.version>
        <version.cglib>3.2.5</version.cglib>

        <deployment.port>10099</deployment.port>
        <deployment.targetdir>${basedir}/target/</deployment.targetdir>
        <mysql.connector.version>5.1.38</mysql.connector.version>

        <site.deploy.base.url>http://maven-sites.server.lan</site.deploy.base.url>
        <site-url>${site.deploy.base.url}/${project.groupId}/${project.version}</site-url>
        <javassist.version>3.20.0-GA</javassist.version>

        <version.javaee_api>7.0</version.javaee_api>
        <reflections8.version>0.11.1</reflections8.version>
        <jaxrpc.version>1.1</jaxrpc.version>

        <camunda-engine.version>7.5.0</camunda-engine.version>
        <delta-spike.version>1.0.1</delta-spike.version>

    </properties>

    <dependencies>
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-api</artifactId>
            <version>${version.javaee_api}</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>ejb-cdi-unit</artifactId>
                <version>${project.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.javassist</groupId>
                        <artifactId>javassist</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.reflections</groupId>
                        <artifactId>reflections</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>javax.enterprise</groupId>
                <artifactId>cdi-api</artifactId>
                <version>${version.cdi-api}</version>
            </dependency>

            <dependency>
                <groupId>javax</groupId>
                <artifactId>javaee-api</artifactId>
                <version>${version.javaee_api}</version>
                <scope>provided</scope>
            </dependency>

            <!-- general apis -->
            <dependency>
                <groupId>javax.persistence</groupId>
                <artifactId>persistence-api</artifactId>
                <version>${persistence-api.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.jboss.spec.javax.transaction</groupId>
                <artifactId>jboss-transaction-api_1.1_spec</artifactId>
                <version>1.0.1.Final</version>
            </dependency>
            <dependency>
                <groupId>javax.xml</groupId>
                <artifactId>jaxrpc-api</artifactId>
                <version>${jaxrpc.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-lang</groupId>
                <artifactId>commons-lang</artifactId>
                <version>2.6</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-dbcp2</artifactId>
                <version>2.5.0</version>
            </dependency>

            <!-- logging -->
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-classic</artifactId>
                <version>${logback.version}</version>
                <scope>test</scope>
            </dependency>

            <!-- testing -->
            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-core</artifactId>
                <version>${mockito.version}</version>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <artifactId>hamcrest-core</artifactId>
                        <groupId>org.hamcrest</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.mockrunner</groupId>
                <artifactId>mockrunner-jms</artifactId>
                <version>${mockrunner.version}</version>
            </dependency>
            <dependency>
                <groupId>cglib</groupId>
                <artifactId>cglib</artifactId>
                <version>${version.cglib}</version>
            </dependency>
            <dependency>
                <groupId>org.hamcrest</groupId>
                <artifactId>hamcrest-all</artifactId>
                <version>1.3</version>
            </dependency>
            <dependency>
                <groupId>com.h2database</groupId>
                <artifactId>h2</artifactId>
                <version>1.4.193</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-entitymanager</artifactId>
                <version>${version.org.hibernate}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-validator</artifactId>
                <version>${version.org.hibernate.validator}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate.javax.persistence</groupId>
                <artifactId>hibernate-jpa-2.0-api</artifactId>
                <version>${version.org.hibernate.api}</version>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit4.version}</version>
            </dependency>
            <dependency>
                <groupId>org.junit</groupId>
                <artifactId>junit-bom</artifactId>
                <version>${junit5.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${mysql.connector.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.javassist</groupId>
                <artifactId>javassist</artifactId>
                <version>${javassist.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>net.oneandone.reflections8</groupId>
                <artifactId>reflections8</artifactId>
                <version>${reflections8.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.weld.se</groupId>
                <artifactId>weld-se-core</artifactId>
                <version>${weld.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.camunda.bpm</groupId>
                <artifactId>camunda-engine</artifactId>
                <version>${camunda-engine.version}</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>org.camunda.bpm</groupId>
                <artifactId>camunda-engine-cdi</artifactId>
                <version>${camunda-engine.version}</version>
                <scope>provided</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.7.0</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <jdkToolchain>
                        <version>10</version>
                    </jdkToolchain>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <version>${maven-checkstyle-plugin.version}</version>
                <configuration>
                    <configLocation>site/checkstyle.xml</configLocation>
                    <suppressionsLocation>site/checkstyle_suppressions.xml</suppressionsLocation>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-scm-plugin</artifactId>
                <version>${maven-scm-plugin.version}</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-scm-publish-plugin</artifactId>
                <version>${maven-scm-publish-plugin.version}</version>
                <inherited>true</inherited>
                <configuration>
                    <pubScmUrl>${project.scm.developerConnection}</pubScmUrl>
                    <scmBranch>gh-pages</scmBranch>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>${maven-surefire-plugin.version}</version>
                <configuration>
                    <systemPropertyVariables>
                        <javax.xml.parsers.DocumentBuilderFactory>
                            com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
                        </javax.xml.parsers.DocumentBuilderFactory>
                    </systemPropertyVariables>

                    <reportFormat>plain</reportFormat>
                    <redirectTestOutputToFile>true</redirectTestOutputToFile>
                    <!-- Sets the VM argument line used when unit tests are run. -->
                    <!--argLine> - -add-modules java.xml,java.sql -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005</argLine-->
                    <argLine>
                        -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
                    </argLine>
                    <reuseForks>false</reuseForks>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <configuration>
                    <notimestamp>true</notimestamp>
                    <quiet>true</quiet>
                    <detectLinks>false</detectLinks>
                    <detectOfflineLinks>false</detectOfflineLinks>
                    <links>
                        <link>http://docs.oracle.com/javase/8/docs/api/</link>
                        <link>http://junit-team.github.com/junit/javadoc/latest/</link>
                        <link>http://www.slf4j.org/apidocs/</link>
                    </links>
                </configuration>
            </plugin>
        </plugins>

        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>${maven-source-plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>${maven-javadoc-plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-release-plugin</artifactId>
                    <version>${maven-release-plugin.version}</version>
                    <inherited>true</inherited>
                    <dependencies>
                        <dependency>
                            <groupId>org.apache.maven.scm</groupId>
                            <artifactId>maven-scm-provider-gitexe</artifactId>
                            <version>1.9.2</version>
                        </dependency>
                    </dependencies>

                </plugin>
            </plugins>
        </pluginManagement>
    </build>

    <scm>
        <url>https://github.com/1and1/ejb-cdi-unit</url>
        <connection>scm:git:ssh://git@github.com/1and1/ejb-cdi-unit.git</connection>
        <developerConnection>scm:git:ssh://git@github.com/1and1/ejb-cdi-unit.git</developerConnection>
        <tag>v1.1.17</tag>
    </scm>
    <issueManagement>
        <system>GitHub</system>
        <url>https://github.com/1and1/ejb-cdi-unit/issues/</url>
    </issueManagement>
    <inceptionYear>2017</inceptionYear>

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

    <profiles>
        <profile>
            <id>release-sign-artifacts</id>
            <activation>
                <property>
                    <name>performRelease</name>
                    <value>true</value>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <version>${maven-gpg-plugin.version}</version>
                        <executions>
                            <execution>
                                <id>sign-artifacts</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>weld1.1</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <weld.version>1.1.14.Final</weld.version>
                <version.org.hibernate.api>1.0.1.Final</version.org.hibernate.api>
                <version.org.hibernate>4.2.2.Final</version.org.hibernate>
                <version.org.hibernate.validator>4.3.1.Final</version.org.hibernate.validator>
                <version.cdi-api>1.1</version.cdi-api>
            </properties>
        </profile>
        <profile>
            <id>weld2.3</id>
            <properties>
                <weld.version>2.3.5.Final</weld.version>
                <weld-spi.version>2.3.Final</weld-spi.version>
                <weld-api.version>2.3.Final</weld-api.version>
                <version.org.hibernate.api>1.0.0.Final</version.org.hibernate.api>
                <version.org.hibernate>5.0.10.Final</version.org.hibernate>
                <version.org.hibernate.validator>5.2.4.Final</version.org.hibernate.validator>
                <version.cdi-api>1.2</version.cdi-api>
            </properties>
        </profile>
        <profile>
            <id>weld2.4</id>
            <properties>
                <weld.version>2.4.2.Final</weld.version>
                <version.org.hibernate.api>1.0.0.Final</version.org.hibernate.api>
                <version.org.hibernate>5.0.10.Final</version.org.hibernate>
                <version.org.hibernate.validator>5.2.4.Final</version.org.hibernate.validator>
                <version.cdi-api>1.2</version.cdi-api>
            </properties>
        </profile>
        <profile>
            <id>weld3.0</id>
            <properties>
                <weld.version>3.0.0.Final</weld.version>
                <version.org.hibernate.api>1.0.0.Final</version.org.hibernate.api>
                <version.org.hibernate>5.0.10.Final</version.org.hibernate>
                <version.org.hibernate.validator>5.2.4.Final</version.org.hibernate.validator>
                <version.cdi-api>2.0</version.cdi-api>
            </properties>
            <dependencies>
                <dependency>
                    <groupId>org.jboss.weld.module</groupId>
                    <artifactId>weld-web</artifactId>
                    <version>3.0.0.Final</version>
                    <scope>test</scope>
                </dependency>
            </dependencies>
        </profile>
    </profiles>

</project>

