<?xml version="1.0" encoding="UTF-8"?>
<!--
* ========================LICENSE_START=================================
* O-RAN-SC
* %%
* Copyright (C) 2023 Nordix Foundation
* Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved.
* %%
* Licensed 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.
* ========================LICENSE_END===================================
-->
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.2.0</version>
    </parent>
    <groupId>org.o-ran-sc.nonrtric.plt</groupId>
    <artifactId>rappmanager</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>pom</packaging>
    <name>NONRTRIC rAppmanager</name>
    <description>O-RAN SC rApp Management function.</description>
    <modules>
        <module>rapp-manager-models</module>
        <module>rapp-manager-dme</module>
        <module>rapp-manager-acm</module>
        <module>rapp-manager-sme</module>
        <module>rapp-manager-application</module>
    </modules>
    <repositories>
        <repository>
            <id>onap-releases</id>
            <name>onap-releases</name>
            <url>https://nexus.onap.org/content/repositories/releases/</url>
        </repository>
    </repositories>
    <properties>
        <java.version>17</java.version>
        <openapi.maven.version>7.0.1</openapi.maven.version>
        <docker-maven-plugin>0.30.0</docker-maven-plugin>
        <jacoco-maven-plugin.version>0.8.10</jacoco-maven-plugin.version>
        <onap.acm.models.version>6.4.3</onap.acm.models.version>
        <openapi.jackson.databind.nullable.version>0.2.6</openapi.jackson.databind.nullable.version>
        <spring.statemachine.version>3.2.1</spring.statemachine.version>
        <spring.context.version>6.0.8</spring.context.version>
        <javax.validation.api.version>2.0.1.Final</javax.validation.api.version>
        <javax.annotation.api.version>1.3.2</javax.annotation.api.version>
        <javax.servlet.api.version>2.5</javax.servlet.api.version>
        <io.swagger.version>2.2.9</io.swagger.version>
        <slf4j.version>2.0.7</slf4j.version>
        <apache.httpcore.version>4.3.2</apache.httpcore.version>
        <exec-maven-plugin.version>3.1.0</exec-maven-plugin.version>
        <apache.compress.version>1.22</apache.compress.version>
    </properties>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <skipTests>false</skipTests>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>${jacoco-maven-plugin.version}</version>
                <executions>
                    <execution>
                        <id>default-prepare-agent</id>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>default-report</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>report</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    <issueManagement>
        <system>JIRA</system>
        <url>https://jira.o-ran-sc.org/</url>
    </issueManagement>
</project>
