<!--
  ============LICENSE_START=======================================================
  Copyright (C) 2021-2023 Nordix Foundation.
  ================================================================================
  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 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.onap.policy.parent</groupId>
        <artifactId>integration</artifactId>
        <version>4.0.3-SNAPSHOT</version>
        <relativePath />
    </parent>
    <groupId>org.onap.policy.clamp</groupId>
    <artifactId>policy-clamp</artifactId>
    <version>7.0.4-SNAPSHOT</version>
    <name>${project.artifactId}</name>
    <packaging>pom</packaging>
    <description>
        This is the root Maven module for the policy-clamp project.

        It contains the following modules:
        - policy-clamp-common: Common code for all Policy/CLAMP modules
        - policy-clamp-models: POJOs and other model code for REST and DMaaP messages and for persistence
        - policy-clamp-runtime: The runtime server for CLAMP
        - policy-clamp-runtime-acm: The runtime server for Automation Composition Management
        - policy-clamp-participant: Modules for CLAMP automation composition participants
        o policy-clamp-participant-intermediary: A common JAR that handles participant state and DMaaP handling
        o policy-clamp-participant-impl-cds: A standard participant for interworking with CDS
        o policy-clamp-participant-impl-kubernetes: A standard participant for Kubernetes microservices
        o policy-clamp-participant-impl-policy: A standard participant for handling polcies for Policy Framework
        o policy-clamp-acm-element-impl: ACM element implementation for integration testing
        o policy-clamp-participant-impl-http: A standard participant for http configurations
        o policy-clamp-participant-impl-a1pms: A standard participant for accessing A1-Policy Management Service
        o policy-clamp-participant-impl-kserve: A standard participant for Kserve
    </description>
    <properties>
        <policy.common.version>2.0.3-SNAPSHOT</policy.common.version>
        <policy.models.version>3.0.3-SNAPSHOT</policy.models.version>
    </properties>
    <modules>
        <module>common</module>
        <module>examples</module>
        <module>models</module>
        <module>packages</module>
        <module>runtime-acm</module>
        <module>participant</module>
    </modules>
    <dependencies>
        <dependency>
            <groupId>commons-cli</groupId>
            <artifactId>commons-cli</artifactId>
        </dependency>
        <dependency>
            <groupId>org.onap.policy.common</groupId>
            <artifactId>common-parameters</artifactId>
            <version>${policy.common.version}</version>
        </dependency>
        <dependency>
            <groupId>org.onap.policy.common</groupId>
            <artifactId>utils</artifactId>
            <version>${policy.common.version}</version>
        </dependency>
        <dependency>
            <groupId>org.onap.policy.common</groupId>
            <artifactId>policy-endpoints</artifactId>
            <version>${policy.common.version}</version>
        </dependency>
        <dependency>
            <groupId>org.onap.policy.common</groupId>
            <artifactId>gson</artifactId>
            <version>${policy.common.version}</version>
        </dependency>
        <dependency>
            <groupId>org.onap.policy.common</groupId>
            <artifactId>spring-utils</artifactId>
            <version>${policy.common.version}</version>
        </dependency>
        <dependency>
            <groupId>org.onap.policy.models</groupId>
            <artifactId>policy-models-provider</artifactId>
            <version>${policy.models.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
        </dependency>
        <dependency>
            <groupId>org.onap.policy.common</groupId>
            <artifactId>utils-test</artifactId>
            <version>${policy.common.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>com.fasterxml.jackson.core</groupId>
                    <artifactId>jackson-core</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.fasterxml.jackson.core</groupId>
                    <artifactId>jackson-databind</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.fasterxml.jackson.core</groupId>
                    <artifactId>jackson-annotations</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-core</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>com.vaadin.external.google</groupId>
                    <artifactId>android-json</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>
        <dependency>
            <groupId>io.micrometer</groupId>
            <artifactId>micrometer-registry-prometheus</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springdoc</groupId>
            <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mock-server</groupId>
            <artifactId>mockserver-client-java</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.assertj</groupId>
            <artifactId>assertj-core</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.awaitility</groupId>
            <artifactId>awaitility</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-webflux</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.kafka</groupId>
            <artifactId>kafka-clients</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-junit-jupiter</artifactId>
        </dependency>
    </dependencies>
</project>
