<!--
  ============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>3.7.3-SNAPSHOT</version>
        <relativePath />
    </parent>
    <groupId>org.onap.policy.clamp</groupId>
    <artifactId>policy-clamp</artifactId>
    <version>6.4.3-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>1.12.3-SNAPSHOT</policy.common.version>
        <policy.models.version>2.8.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>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>${version.junit.jupiter}</version>
            <scope>test</scope>
        </dependency>
        <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.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>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>
        <dependency>
            <groupId>io.micrometer</groupId>
            <artifactId>micrometer-registry-prometheus</artifactId>
            <version>${version.io.micrometer}</version>
        </dependency>
        <dependency>
            <groupId>org.springdoc</groupId>
            <artifactId>springdoc-openapi-ui</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mock-server</groupId>
            <artifactId>mockserver-netty</artifactId>
            <scope>test</scope>
        </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>commons-fileupload</groupId>
            <artifactId>commons-fileupload</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>
    </dependencies>
</project>
