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

    <groupId>com.kumuluz.ee</groupId>
    <artifactId>kumuluzee</artifactId>
    <packaging>pom</packaging>
    <version>3.12.2</version>
    <modules>
        <module>common</module>
        <module>core</module>
        <module>servlet</module>
        <module>components</module>
        <module>bom</module>
        <module>profiles</module>
        <module>tools</module>
    </modules>

    <name>KumuluzEE</name>

    <inceptionYear>2015</inceptionYear>
    <description>
        Lightweight framework for creating small standalone Java EE applications in a micro service
        way.
    </description>

    <url>https://ee.kumuluz.com</url>

    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

        <jaxb-api.version>2.3.1</jaxb-api.version>
        <activation.version>1.1.1</activation.version>
        <jaxws-tools.version>2.3.0.2</jaxws-tools.version>

        <annotations.version>1.3.2</annotations.version>
        <inject.version>1</inject.version>
        <interceptor.version>1.2.2</interceptor.version>
        <servlet.version>3.1.0</servlet.version>
        <jsp.version>2.3.3</jsp.version>
        <el.version>3.0.0</el.version>
        <cdi.version>2.0</cdi.version>
        <jpa.version>2.2</jpa.version>
        <jaxrs.version>2.1.1</jaxrs.version>
        <jaxws.version>2.3.1</jaxws.version>
        <jsf.version>2.3</jsf.version>
        <websocket.version>1.1</websocket.version>
        <beanvalidation.version>2.0.1.Final</beanvalidation.version>
        <jsonp.version>1.1.4</jsonp.version>
        <jsonb.version>1.0</jsonb.version>
        <jta.version>1.3</jta.version>
        <resource.version>1.7.1</resource.version>
        <javamail.version>1.6.2</javamail.version>

        <jandex.version>2.2.2.Final</jandex.version>
        <jboss-logging.version>3.3.2.Final</jboss-logging.version>
        <classmate.version>1.5.1</classmate.version>
        <javassist.version>3.27.0-GA</javassist.version>
        <agroal.version>1.9</agroal.version>
        <yaml.version>1.27</yaml.version>
        <junit.version>4.13.1</junit.version>
        <maven.plugin.api.version>3.6.3</maven.plugin.api.version>
        <maven-plugin-annotations.version>3.6.0</maven-plugin-annotations.version>
        <mojo-executor.version>2.3.1</mojo-executor.version>

        <maven-jar-plugin.version>3.2.0</maven-jar-plugin.version>
        <maven-resources-plugin.version>3.2.0</maven-resources-plugin.version>
        <maven-plugin-plugin.version>3.6.0</maven-plugin-plugin.version>
        <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
        <maven-dependency-plugin.version>3.1.2</maven-dependency-plugin.version>

        <jetty.version>9.4.35.v20201120</jetty.version>
        <uel.version>3.0.0</uel.version>
        <weld.version>3.1.1.Final</weld.version>
        <hibernate.validator.version>6.1.6.Final</hibernate.validator.version>
        <jersey.version>2.32</jersey.version>
        <jackson.version>2.12.0</jackson.version>
        <metro.version>2.4.1</metro.version>
        <cxf.version>3.2.14</cxf.version>
        <hibernate.version>5.4.26.Final</hibernate.version>
        <eclipselink.version>2.7.8</eclipselink.version>
        <mojarra.version>2.4.0</mojarra.version>
        <jsonp-impl.version>1.1.4</jsonp-impl.version>
        <yasson.version>1.0.8</yasson.version>
        <narayana.version>5.10.6.Final</narayana.version>
        <jboss-transaction-spi.version>7.6.0.Final</jboss-transaction-spi.version>
        <javamail-ri.version>1.6.2</javamail-ri.version>
    </properties>

    <scm>
        <connection>scm:git:git@github.com:kumuluz/kumuluze.git</connection>
        <developerConnection>scm:git:git@github.com:kumuluz/kumuluzee.git</developerConnection>
        <url>git@github.com:kumuluz/kumuluzee.git</url>
    </scm>

    <issueManagement>
        <system>GitHub Issues</system>
        <url>https://github.com/kumuluz/kumuluzee/issues</url>
    </issueManagement>

    <developers>
        <developer>
            <name>Tilen Faganel</name>
            <id>tfaga</id>
            <email>tilen.faganel@me.com</email>
            <url>https://github.com/TFaga</url>
        </developer>
        <developer>
            <name>Jan Meznaric</name>
            <id>jmezna</id>
            <email>jan.meznaric@gmail.com</email>
            <url>https://github.com/jmezna</url>
        </developer>
    </developers>

    <licenses>
        <license>
            <name>MIT License</name>
            <url>http://www.opensource.org/licenses/mit-license.php</url>
        </license>
    </licenses>

    <distributionManagement>
        <snapshotRepository>
            <id>ossrh</id>
            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        </snapshotRepository>
    </distributionManagement>

    <repositories>
        <repository>
            <id>sonatype-snapshots</id>
            <name>OSS Sonatype repo (snapshots)</name>
            <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
            <releases>
                <enabled>false</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>

    <dependencyManagement>
        <dependencies>
            <!-- Kumuluz module dependencies-->
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-common</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-core</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-components</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-servlet</artifactId>
                <version>${project.version}</version>
                <type>pom</type>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-servlet-jetty</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-jsp</artifactId>
                <version>${project.version}</version>
                <type>pom</type>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-jsp-jetty</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-el</artifactId>
                <version>${project.version}</version>
                <type>pom</type>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-el-uel</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-cdi</artifactId>
                <version>${project.version}</version>
                <type>pom</type>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-cdi-weld</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-jpa</artifactId>
                <version>${project.version}</version>
                <type>pom</type>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-jpa-common</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-jpa-eclipselink</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-jpa-hibernate</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-jax-rs</artifactId>
                <version>${project.version}</version>
                <type>pom</type>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-jax-rs-jersey</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-jax-ws</artifactId>
                <version>${project.version}</version>
                <type>pom</type>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-jax-ws-metro</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-jax-ws-cxf</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-jsf</artifactId>
                <version>${project.version}</version>
                <type>pom</type>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-jsf-mojarra</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-websocket</artifactId>
                <version>${project.version}</version>
                <type>pom</type>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-websocket-jetty</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-bean-validation</artifactId>
                <version>${project.version}</version>
                <type>pom</type>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-bean-validation-hibernate-validator</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-json-p</artifactId>
                <version>${project.version}</version>
                <type>pom</type>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-json-p-jsonp</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-json-b</artifactId>
                <version>${project.version}</version>
                <type>pom</type>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-json-b-yasson</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-jta</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-jta-common</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-jta-narayana</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-bom</artifactId>
                <version>${project.version}</version>
                <type>pom</type>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-profiles</artifactId>
                <version>${project.version}</version>
                <type>pom</type>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-micro-profile</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-microProfile-3.3</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-tools</artifactId>
                <version>${project.version}</version>
                <type>pom</type>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-loader</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>com.kumuluz.ee</groupId>
                <artifactId>kumuluzee-maven-plugin</artifactId>
                <version>${project.version}</version>
                <type>maven-plugin</type>
            </dependency>

            <!-- Java EE specification dependencies-->
            <dependency>
                <groupId>javax.annotation</groupId>
                <artifactId>javax.annotation-api</artifactId>
                <version>${annotations.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.inject</groupId>
                <artifactId>javax.inject</artifactId>
                <version>${inject.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.interceptor</groupId>
                <artifactId>javax.interceptor-api</artifactId>
                <version>${interceptor.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>${servlet.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.servlet.jsp</groupId>
                <artifactId>javax.servlet.jsp-api</artifactId>
                <version>${jsp.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.el</groupId>
                <artifactId>javax.el-api</artifactId>
                <version>${el.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.enterprise</groupId>
                <artifactId>cdi-api</artifactId>
                <version>${cdi.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.persistence</groupId>
                <artifactId>javax.persistence-api</artifactId>
                <version>${jpa.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.ws.rs</groupId>
                <artifactId>javax.ws.rs-api</artifactId>
                <version>${jaxrs.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.xml.ws</groupId>
                <artifactId>jaxws-api</artifactId>
                <version>${jaxws.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.faces</groupId>
                <artifactId>javax.faces-api</artifactId>
                <version>${jsf.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.websocket</groupId>
                <artifactId>javax.websocket-api</artifactId>
                <version>${websocket.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.websocket</groupId>
                <artifactId>javax.websocket-client-api</artifactId>
                <version>${websocket.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.validation</groupId>
                <artifactId>validation-api</artifactId>
                <version>${beanvalidation.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.json</groupId>
                <artifactId>javax.json-api</artifactId>
                <version>${jsonp.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.json.bind</groupId>
                <artifactId>javax.json.bind-api</artifactId>
                <version>${jsonb.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.transaction</groupId>
                <artifactId>javax.transaction-api</artifactId>
                <version>${jta.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.resource</groupId>
                <artifactId>javax.resource-api</artifactId>
                <version>${resource.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.mail</groupId>
                <artifactId>javax.mail-api</artifactId>
                <version>${javamail.version}</version>
            </dependency>

            <!-- Various libraries used throughout the framework-->
            <dependency>
                <groupId>com.fasterxml.jackson</groupId>
                <artifactId>jackson-bom</artifactId>
                <version>${jackson.version}</version>
                <scope>import</scope>
                <type>pom</type>
            </dependency>
            <dependency>
                <groupId>org.jboss</groupId>
                <artifactId>jandex</artifactId>
                <version>${jandex.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.logging</groupId>
                <artifactId>jboss-logging</artifactId>
                <version>${jboss-logging.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml</groupId>
                <artifactId>classmate</artifactId>
                <version>${classmate.version}</version>
            </dependency>
            <dependency>
                <groupId>org.javassist</groupId>
                <artifactId>javassist</artifactId>
                <version>${javassist.version}</version>
            </dependency>
            <dependency>
                <groupId>io.agroal</groupId>
                <artifactId>agroal-api</artifactId>
                <version>${agroal.version}</version>
            </dependency>
            <dependency>
                <groupId>org.yaml</groupId>
                <artifactId>snakeyaml</artifactId>
                <version>${yaml.version}</version>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.maven</groupId>
                <artifactId>maven-plugin-api</artifactId>
                <version>${maven.plugin.api.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.maven.plugin-tools</groupId>
                <artifactId>maven-plugin-annotations</artifactId>
                <version>${maven-plugin-annotations.version}</version>
            </dependency>
            <dependency>
                <groupId>org.twdata.maven</groupId>
                <artifactId>mojo-executor</artifactId>
                <version>${mojo-executor.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

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

    <profiles>
        <profile>
            <id>deploy</id>
            <build>
                <plugins>
                    <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>
                                <configuration>
                                    <gpgArguments>
                                        <arg>--pinentry-mode</arg>
                                        <arg>loopback</arg>
                                    </gpgArguments>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

</project>
