<?xml version="1.0" encoding="UTF-8"?>
<!--
    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.
-->
<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>

  <parent>
    <groupId>org.apache</groupId>
    <artifactId>apache</artifactId>
    <version>21</version>
  </parent>

  <groupId>org.apache.meecrowave</groupId>
  <artifactId>meecrowave</artifactId>
  <version>1.2.10-SNAPSHOT</version>
  <packaging>pom</packaging>

  <name>Meecrowave</name>
  <description>A small Tomcat/OWB/CXF/Johnzon/log4j2 based server @ ASF</description>

  <scm>
    <connection>scm:git:https://gitbox.apache.org/repos/asf/openwebbeans-meecrowave.git</connection>
    <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/openwebbeans-meecrowave.git</developerConnection>
    <url>https://github.com/apache/openwebbeans-meecrowave</url>
    <tag>HEAD</tag>
  </scm>

  <issueManagement>
    <system>jira</system>
    <url>http://issues.apache.org/jira/browse/MEECROWAVE</url>
  </issueManagement>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <meecrowave.build.name>${project.groupId}.${project.artifactId}</meecrowave.build.name>

    <junit.version>4.13.1</junit.version>
    <tomcat.version>9.0.39</tomcat.version>
    <openwebbeans.version>2.0.19</openwebbeans.version>
    <cxf.version>3.4.1</cxf.version>
    <openwebbeans.version>2.0.20-SNAPSHOT</openwebbeans.version>
    <johnzon.version>1.2.8</johnzon.version>
    <log4j2.version>2.14.0</log4j2.version>
    <deltaspike.version>1.8.2</deltaspike.version>
    <jaxb.version>2.2.11</jaxb.version>
    <openjpa.version>3.1.2</openjpa.version>
    <jpa-spec.version>1.0-alpha-1</jpa-spec.version>
    <h2.version>1.4.200</h2.version>
    <dbcp2.version>2.7.0</dbcp2.version>
    <commons-cli.version>1.4</commons-cli.version>
    <xbean.version>4.18</xbean.version>
    <geronimo-jcache-simple.version>1.0.5</geronimo-jcache-simple.version>
    <geronimo-jcache_1.0_spec.version>1.0-alpha-1</geronimo-jcache_1.0_spec.version>

    <java11.jaxb.version>2.3.0</java11.jaxb.version>
  </properties>

  <modules>
    <module>meecrowave-specs-api</module>
    <module>meecrowave-core</module>
    <module>meecrowave-maven-plugin</module>
    <module>meecrowave-gradle-plugin</module>
    <module>meecrowave-junit</module>
    <module>meecrowave-arquillian</module>
    <module>meecrowave-jpa</module>
    <module>meecrowave-doc</module>
    <module>meecrowave-jta</module>
    <module>integration-tests</module>
    <module>meecrowave-oauth2-minimal</module>
    <module>meecrowave-oauth2</module>
    <module>meecrowave-letsencrypt</module>
    <module>meecrowave-proxy</module>
  </modules>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-annotation_1.3_spec</artifactId>
        <version>1.3</version>
      </dependency>
      <dependency>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-jcdi_2.0_spec</artifactId>
        <version>1.3</version>
      </dependency>
      <dependency>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-atinject_1.0_spec</artifactId>
        <version>1.2</version>
      </dependency>
      <dependency>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-interceptor_1.2_spec</artifactId>
        <version>1.2</version>
      </dependency>
      <dependency>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-json_1.1_spec</artifactId>
        <version>1.5</version>
      </dependency>
      <dependency>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-jsonb_1.0_spec</artifactId>
        <version>1.4</version>
      </dependency>
      <dependency>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-jaxrs_2.1_spec</artifactId>
        <version>1.1</version>
      </dependency>
      <dependency>
        <groupId>org.apache.tomcat</groupId>
        <artifactId>tomcat-servlet-api</artifactId>
        <version>${tomcat.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.tomcat</groupId>
        <artifactId>tomcat-jaspic-api</artifactId>
        <version>${tomcat.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.1</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>3.0.2</version>
        <configuration>
          <archive combine.children="append">
            <manifestEntries>
              <Automatic-Module-Name>${meecrowave.build.name}</Automatic-Module-Name>
            </manifestEntries>
          </archive>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>3.0.0-M3</version>
        <configuration>
          <trimStackTrace>false</trimStackTrace>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-release-plugin</artifactId>
        <configuration>
          <autoVersionSubmodules>true</autoVersionSubmodules>

          <!-- because we are using GIT now -->
          <pushChanges>false</pushChanges>
          <localCheckout>true</localCheckout>
        </configuration>
      </plugin>

    </plugins>
  </build>

  <profiles>
    <profile>
      <id>java11</id>
      <activation>
        <jdk>11</jdk>
      </activation>
      <dependencyManagement>
        <dependencies>
          <dependency>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-jaxws_2.2_spec</artifactId>
            <version>1.1</version>
          </dependency>
          <dependency>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-ws-metadata_2.0_spec</artifactId>
            <version>1.1.3</version>
          </dependency>
          <dependency>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-activation_1.1_spec</artifactId>
            <version>1.1</version>
          </dependency>
          <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>${java11.jaxb.version}</version>
          </dependency>
          <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-impl</artifactId>
            <version>${java11.jaxb.version}</version>
          </dependency>
        </dependencies>
      </dependencyManagement>
    </profile>
  </profiles>

  <repositories>
<!-- only needed when under development
    <repository>
      <id>asf-snapshot</id>
      <url>https://repository.apache.org/content/repositories/snapshots/</url>
      <releases>
        <enabled>false</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>
-->
    <repository>
      <id>cxf</id>
      <url>https://repository.apache.org/content/repositories/orgapachecxf-1160</url>
    </repository>
  </repositories>
</project>
