<?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>
    <parent>
        <groupId>org.qubership.atp.environments</groupId>
        <artifactId>parent-db</artifactId>
        <version>2.0.2</version>
        <relativePath>../parent/parent-db/pom.xml</relativePath>
    </parent>
    <name>env-backend</name>
    <artifactId>env-backend</artifactId>
    <properties>
        <tool.config.keys.prefix>atp-environments</tool.config.keys.prefix>
        <tests.argLine>
            -Djavax.net.ssl.keyStore="${basedir}/target/test-basedir/config/keystore.p12"
            -Djavax.net.ssl.keyStorePassword="123456" -Dfile.encoding=${project.build.sourceEncoding}
            -Djunit.jupiter.execution.parallel.enabled=true
            -Djunit.jupiter.execution.parallel.mode.default=concurrent
            -Djunit.jupiter.execution.parallel.mode.classes.default=concurrent
        </tests.argLine>
    </properties>
    <dependencies>
        <dependency>
            <groupId>com.google.inject</groupId>
            <artifactId>guice</artifactId>
            <version>6.0.0</version>
        </dependency>
        <dependency>
            <groupId>org.qubership.atp.common</groupId>
            <artifactId>qubership-atp-common-probes</artifactId>
        </dependency>
        <dependency>
            <groupId>org.qubership.atp.auth</groupId>
            <artifactId>atp-auth-models</artifactId>
        </dependency>
        <dependency>
            <groupId>org.qubership.atp.auth</groupId>
            <artifactId>atp-auth-impl</artifactId>
        </dependency>
        <dependency>
            <groupId>org.qubership.atp.common</groupId>
            <artifactId>qubership-atp-common-logging</artifactId>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>log4j-over-slf4j</artifactId>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jul-to-slf4j</artifactId>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
        </dependency>
        <!-- Hazelcast core -->
        <dependency>
            <groupId>com.hazelcast</groupId>
            <artifactId>hazelcast</artifactId>
        </dependency>

        <!-- Spring Boot auto config for Hazelcast -->
        <dependency>
            <groupId>com.hazelcast</groupId>
            <artifactId>hazelcast-spring</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.tomcat.embed</groupId>
                    <artifactId>tomcat-embed-core</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-undertow</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-webflux</artifactId>
        </dependency>
        <dependency>
            <groupId>com.j2html</groupId>
            <artifactId>j2html</artifactId>
            <version>1.3.0</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.mockito</groupId>
                    <artifactId>mockito-core</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>io.micrometer</groupId>
            <artifactId>micrometer-registry-prometheus</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
        </dependency>
        <dependency>
            <groupId>jakarta.servlet</groupId>
            <artifactId>jakarta.servlet-api</artifactId>
        </dependency>
        <dependency>
            <groupId>jakarta.validation</groupId>
            <artifactId>jakarta.validation-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-websocket</artifactId>
        </dependency>
        <dependency>
            <groupId>com.github.spotbugs</groupId>
            <artifactId>spotbugs-annotations</artifactId>
        </dependency>
        <dependency>
            <groupId>com.google.code.findbugs</groupId>
            <artifactId>jsr305</artifactId>
        </dependency>
        <dependency>
            <groupId>com.oracle.database.jdbc</groupId>
            <artifactId>ojdbc6</artifactId>
        </dependency>
        <dependency>
            <groupId>com.zaxxer</groupId>
            <artifactId>HikariCP</artifactId>
        </dependency>
        <dependency>
            <groupId>org.javassist</groupId>
            <artifactId>javassist</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter</artifactId>
            <version>5.12.2</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
        </dependency>
        <dependency>
            <groupId>com.openshift</groupId>
            <artifactId>openshift-restclient-java</artifactId>
        </dependency>
        <dependency>
            <groupId>biz.paluch.logging</groupId>
            <artifactId>logstash-gelf</artifactId>
        </dependency>
        <dependency>
            <groupId>org.codehaus.janino</groupId>
            <artifactId>janino</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
        </dependency>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
        </dependency>
        <dependency>
            <groupId>org.yaml</groupId>
            <artifactId>snakeyaml</artifactId>
        </dependency>
        <dependency>
            <groupId>com.github.mwiede</groupId>
            <artifactId>jsch</artifactId>
        </dependency>
        <dependency>
            <groupId>com.querydsl</groupId>
            <artifactId>querydsl-sql</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents.client5</groupId>
            <artifactId>httpclient5</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.kafka</groupId>
            <artifactId>spring-kafka</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.kafka</groupId>
            <artifactId>kafka-clients</artifactId>
        </dependency>
        <dependency>
            <groupId>org.qubership.atp</groupId>
            <artifactId>atp-integration-spring-boot-starter</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.qubership.atp.environments</groupId>
            <artifactId>env-model</artifactId>
            <version>${project.parent.version}</version>
        </dependency>
        <dependency>
            <groupId>org.qubership.atp.environments</groupId>
            <artifactId>env-scripts</artifactId>
            <version>${project.parent.version}</version>
        </dependency>
        <dependency>
            <groupId>org.mongodb</groupId>
            <artifactId>mongodb-driver-core</artifactId>
        </dependency>
        <dependency>
            <groupId>org.qubership.atp.ei</groupId>
            <artifactId>qubership-atp-export-import-lib-node</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.mongodb</groupId>
                    <artifactId>mongodb-driver-core</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.qubership.atp.ei</groupId>
            <artifactId>qubership-atp-export-import-lib-ntt-converter</artifactId>
        </dependency>
        <dependency>
            <groupId>io.micrometer</groupId>
            <artifactId>micrometer-tracing-bridge-brave</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bootstrap</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>
        <dependency>
            <groupId>com.querydsl</groupId>
            <artifactId>querydsl-sql-spring</artifactId>
        </dependency>
        <dependency>
            <groupId>com.jayway.jsonpath</groupId>
            <artifactId>json-path</artifactId>
        </dependency>
        <dependency>
            <groupId>io.kubernetes</groupId>
            <artifactId>client-java</artifactId>
        </dependency>
        <dependency>
            <groupId>org.qubership.atp</groupId>
            <artifactId>atp-crypt</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.javers</groupId>
            <artifactId>javers-spring-boot-starter-sql</artifactId>
        </dependency>
        <dependency>
            <groupId>net.javacrumbs.shedlock</groupId>
            <artifactId>shedlock-spring</artifactId>
        </dependency>
        <dependency>
            <groupId>net.javacrumbs.shedlock</groupId>
            <artifactId>shedlock-provider-jdbc-template</artifactId>
        </dependency>
        <dependency>
            <groupId>org.openapitools</groupId>
            <artifactId>openapi-generator</artifactId>
            <version>7.9.0</version>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-simple</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-ext</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.openapitools</groupId>
            <artifactId>jackson-databind-nullable</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-consul-config</artifactId>
        </dependency>
        <dependency>
            <groupId>org.liquibase</groupId>
            <artifactId>liquibase-core</artifactId>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-params</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>au.com.dius.pact.provider</groupId>
            <artifactId>junit5</artifactId>
            <version>4.6.15</version>
            <exclusions>
                <exclusion>
                    <groupId>commons-io</groupId>
                    <artifactId>commons-io</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.hibernate.validator</groupId>
                    <artifactId>hibernate-validator</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
                <exclusion>
                    <artifactId>commons-collections4</artifactId>
                    <groupId>org.apache.commons</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>iterators</artifactId>
                    <groupId>org.dmfs</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>antlr-runtime</artifactId>
                    <groupId>org.antlr</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>classgraph</artifactId>
                    <groupId>io.github.classgraph</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>au.com.dius.pact.provider</groupId>
            <artifactId>junit5spring</artifactId>
            <version>4.6.15</version>
            <exclusions>
                <exclusion>
                    <groupId>org.hibernate.validator</groupId>
                    <artifactId>hibernate-validator</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <!--https://stackoverflow.com/questions/62001663/exception-in-thread-thread-2-java-lang-nosuchmethoderror-kotlin-io-bytestream-->
            <groupId>org.jetbrains.kotlin</groupId>
            <artifactId>kotlin-stdlib</artifactId>
            <scope>test</scope>
        </dependency>
        <!--
        <dependency>
            <groupId>org.qubership.atp.tdm</groupId>
            <artifactId>qubership-atp-tdm-contract-test-pacts</artifactId>
            <version>1.1.7</version>
            <exclusions>
                <exclusion>
                    <groupId>io.github.openfeign</groupId>
                    <artifactId>feign-jackson</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.qubership.atp.ram</groupId>
            <artifactId>qubership-atp-ram-contract-test-pacts</artifactId>
            <version>2.2.2</version>
        </dependency>
        <dependency>
            <groupId>org.qubership.atp.logcollector</groupId>
            <artifactId>logcollector-contract-test-pacts</artifactId>
            <version>2.3.19</version>
        </dependency>
        <dependency>
            <groupId>org.qubership.atp.mia</groupId>
            <artifactId>atp-mia-contract-test-pacts</artifactId>
            <version>1.1.77</version>
        </dependency>
        <dependency>
            <groupId>org.qubership.atp.healthcheck</groupId>
            <artifactId>atp-healthcheck-contract-test-pacts</artifactId>
            <version>1.4.125</version>
        </dependency>
        <dependency>
            <groupId>org.qubership.atp.catalogue</groupId>
            <artifactId>qubership-atp-catalogue-contract-test-pacts</artifactId>
            <version>1.4.4</version>
        </dependency>
        <dependency>
            <groupId>org.qubership.atp.orchestrator</groupId>
            <artifactId>qubership-atp-orchestrator-contract-test-pacts</artifactId>
            <version>0.3.56</version>
        </dependency>
        <dependency>
            <groupId>org.qubership.atp.svp</groupId>
            <artifactId>atp-svp-contract-test-pacts</artifactId>
            <version>2.0.83</version>
        </dependency>
        <dependency>
            <groupId>org.qubership.atp.svp</groupId>
            <artifactId>atp-troubleshooting-lite-contract-test-pacts</artifactId>
            <version>2.0.88</version>
        </dependency>
        <dependency>
            <groupId>org.qubership.atp.ocs.diagnostic.tool</groupId>
            <artifactId>qubership-atp-ocs-diagnostic-tool-contract-test-pacts</artifactId>
        </dependency>
        <dependency>
            <groupId>org.qubership.automation.bv</groupId>
            <artifactId>bv-contract-test-pacts</artifactId>
            <version>2.8.55</version>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-netflix-core</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>io.springfox</groupId>
                    <artifactId>springfox-boot-starter</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.qubership.mockingbird</groupId>
            <artifactId>mockingbird-contract-test-pacts</artifactId>
            <version>4.4.74</version>
        </dependency>
        <dependency>
            <groupId>org.qubership.atp.ocs.diagnostic.tool</groupId>
            <artifactId>qubership-atp-ocs-diagnostic-tool-contract-test-pacts</artifactId>
            <version>${atp.ocs.contract.tests}</version>
            <exclusions>
                <exclusion>
                    <groupId>*</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        -->
        <!--
        <dependency>
            <groupId>org.qubership.atp.catalogue</groupId>
            <artifactId>qubership-atp-rest-openapi-specifications</artifactId>
            <version>1.4.30</version>
        </dependency>
        -->
        <!--
        <dependency>
            <groupId>org.qubership.atp.healthcheck</groupId>
            <artifactId>atp-healthcheck-rest-openapi-specifications</artifactId>
            <version>1.5.33</version>
        </dependency>
        -->
        <dependency>
            <groupId>io.swagger.core.v3</groupId>
            <artifactId>swagger-annotations-jakarta</artifactId>
            <version>2.2.16</version>
        </dependency>
        <dependency>
            <groupId>jakarta.inject</groupId>
            <artifactId>jakarta.inject-api</artifactId>
            <version>2.0.1</version>
        </dependency>
        <!-- Relating bv-contract-test-pacts dependency:
            Need to fix FileNotFoundException for class
            org/springframework/boot/autoconfigure/web/ServerPropertiesAutoConfiguration.class
            in org.springframework.cloud.netflix.zuul.ZuulProxyAutoConfiguration -->
        <dependency>
            <groupId>org.qubership.atp.common</groupId>
            <artifactId>qubership-atp-common-monitoring-undertow</artifactId>
        </dependency>
        <dependency>
            <groupId>net.bytebuddy</groupId>
            <artifactId>byte-buddy</artifactId>
            <version>1.17.8</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>env-q-classes-generation</artifactId>
            <version>${project.version}</version>
            <classifier>pg</classifier>
        </dependency>
        <dependency>
            <groupId>commons-beanutils</groupId>
            <artifactId>commons-beanutils</artifactId>
        </dependency>
        <dependency>
            <groupId>net.sf.json-lib</groupId>
            <artifactId>json-lib</artifactId>
            <version>2.4</version>
            <classifier>jdk15</classifier>
        </dependency>
    </dependencies>

    <build>
        <resources>
            <resource>
                <directory>src\main\config</directory>
                <targetPath>classes</targetPath>
                <filtering>true</filtering>
            </resource>
        </resources>
        <testResources>
            <testResource>
                <directory>src/main/config</directory>
                <targetPath>config</targetPath>
                <filtering>true</filtering>
            </testResource>
            <testResource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </testResource>
            <testResource>
                <directory>src/test/config</directory>
                <targetPath>config</targetPath>
                <filtering>true</filtering>
            </testResource>
            <testResource>
                <directory>src/test/resources</directory>
                <filtering>true</filtering>
            </testResource>
        </testResources>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.6</version>
                <configuration>
                    <nonFilteredFileExtensions>
                        <nonFilteredFileExtension>p12</nonFilteredFileExtension>
                    </nonFilteredFileExtensions>
                    <includeEmptyDirs>true</includeEmptyDirs>
                </configuration>
                <executions>
                    <execution>
                        <id>default-resources</id>
                        <phase>process-resources</phase>
                        <goals>
                            <goal>resources</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${basedir}/target</outputDirectory>
                        </configuration>
                    </execution>
                    <execution>
                        <id>default-testResources</id>
                        <phase>process-test-resources</phase>
                        <goals>
                            <goal>testResources</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${basedir}/target/test-classes</outputDirectory>
                            <overwrite>true</overwrite>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <descriptors>
                        <descriptor>src/main/assembly/descriptor.xml</descriptor>
                    </descriptors>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <!--
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <id>unpack-healthcheck-openapi</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>unpack-dependencies</goal>
                        </goals>
                        <configuration>
                            <includeGroupIds>org.qubership.atp.healthcheck</includeGroupIds>
                            <includeArtifactIds>atp-healthcheck-rest-openapi-specifications</includeArtifactIds>
                            <excludeTransitive>true</excludeTransitive>
                            <outputDirectory>${project.basedir}/target/apispecs</outputDirectory>
                            <excludes>com/**,META-INF/**</excludes>
                            <overWriteReleases>true</overWriteReleases>
                            <overWriteSnapshots>true</overWriteSnapshots>
                        </configuration>
                    </execution>
                    <execution>
                        <id>unpack-catalogue-openapi</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>unpack-dependencies</goal>
                        </goals>
                        <configuration>
                            <includeGroupIds>org.qubership.atp.catalogue</includeGroupIds>
                            <includeArtifactIds>qubership-atp-rest-openapi-specifications</includeArtifactIds>
                            <excludeTransitive>true</excludeTransitive>
                            <outputDirectory>${project.basedir}/target/apispecs/catalogue</outputDirectory>
                            <excludes>com/**,META-INF/**</excludes>
                            <overWriteReleases>true</overWriteReleases>
                            <overWriteSnapshots>true</overWriteSnapshots>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            -->
            <plugin>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>3.5.5</version>
                <configuration>
                    <argLine>${tests.argLine}</argLine>
                    <additionalClasspathElements>
                        <additionalClasspathElement>${basedir}/target/test-classes/config/</additionalClasspathElement>
                    </additionalClasspathElements>
                    <excludes>
                        <exclude>**/*$__CLR*</exclude>
                    </excludes>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.6</version>
                <configuration>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <mainClass>org.qubership.atp.environments.Main</mainClass>
                        </manifest>
                        <manifestEntries>
                            <Class-Path>config/</Class-Path>
                            <Implementation-Title>${project.name}</Implementation-Title>
                            <Implementation-Version>${project.version}</Implementation-Version>
                        </manifestEntries>
                    </archive>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.openapitools</groupId>
                <artifactId>openapi-generator-maven-plugin</artifactId>
                <version>7.9.0</version>
                <configuration>
                    <generatorName>spring</generatorName>
                    <output>${project.build.directory}/generated-sources</output>
                    <modelNameSuffix>DtoGenerated</modelNameSuffix>
                    <skipOverwrite>false</skipOverwrite>
                    <generateModelTests>false</generateModelTests>
                    <configOptions>
                        <useSpringBoot3>true</useSpringBoot3>
                        <useJakartaEe>true</useJakartaEe>
                        <java8>true</java8>
                        <interfaceOnly>true</interfaceOnly>
                        <useTags>true</useTags>
                        <skipDefaultInterface>true</skipDefaultInterface>
                    </configOptions>
                </configuration>
                <executions>
                    <execution>
                        <id>HistoryApi</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <inputSpec>${project.parent.parent.parent.parent.parent.basedir}/env-rest-openapi-specifications/v1/openapi-history-v1.yaml</inputSpec>
                            <apiPackage>org.qubership.atp.environments.service.rest.server.generated</apiPackage>
                            <modelPackage>org.qubership.atp.environments.service.rest.server.dto.generated</modelPackage>
                        </configuration>
                    </execution>
                    <execution>
                        <id>AlertApi</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <inputSpec>${project.parent.parent.parent.parent.parent.basedir}/env-rest-openapi-specifications/v1/openapi-alert-v1.yaml</inputSpec>
                            <apiPackage>org.qubership.atp.environments.service.rest.server.generated</apiPackage>
                            <modelPackage>org.qubership.atp.environments.service.rest.server.dto.generated</modelPackage>
                        </configuration>
                    </execution>
                    <execution>
                        <id>AlertEventApi</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <inputSpec>${project.parent.parent.parent.parent.parent.basedir}/env-rest-openapi-specifications/v1/openapi-alert-event-v1.yaml</inputSpec>
                            <apiPackage>org.qubership.atp.environments.service.rest.server.generated</apiPackage>
                            <modelPackage>org.qubership.atp.environments.service.rest.server.dto.generated</modelPackage>
                        </configuration>
                    </execution>
                    <execution>
                        <id>CatalogApi</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <inputSpec>${project.parent.parent.parent.parent.parent.basedir}/env-rest-openapi-specifications/v1/openapi-catalog-v1.yaml</inputSpec>
                            <apiPackage>org.qubership.atp.environments.service.rest.server.generated</apiPackage>
                            <modelPackage>org.qubership.atp.environments.service.rest.server.dto.generated</modelPackage>
                        </configuration>
                    </execution>
                    <execution>
                        <id>ConnectionApi</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <inputSpec>${project.parent.parent.parent.parent.parent.basedir}/env-rest-openapi-specifications/v1/openapi-connection-v1.yaml</inputSpec>
                            <apiPackage>org.qubership.atp.environments.service.rest.server.generated</apiPackage>
                            <modelPackage>org.qubership.atp.environments.service.rest.server.dto.generated</modelPackage>
                        </configuration>
                    </execution>
                    <execution>
                        <id>DatabaseDirectoryApi</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <inputSpec>${project.parent.parent.parent.parent.parent.basedir}/env-rest-openapi-specifications/v1/openapi-database-directory-v1.yaml</inputSpec>
                            <apiPackage>org.qubership.atp.environments.service.rest.server.generated</apiPackage>
                            <modelPackage>org.qubership.atp.environments.service.rest.server.dto.generated</modelPackage>
                        </configuration>
                    </execution>
                    <execution>
                        <id>EnvironmentApi</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <inputSpec>${project.parent.parent.parent.parent.parent.basedir}/env-rest-openapi-specifications/v1/openapi-environments-v1.yaml</inputSpec>
                            <apiPackage>org.qubership.atp.environments.service.rest.server.generated</apiPackage>
                            <modelPackage>org.qubership.atp.environments.service.rest.server.dto.generated</modelPackage>
                        </configuration>
                    </execution>
                    <execution>
                        <id>EnvironmentCategoryApi</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <inputSpec>${project.parent.parent.parent.parent.parent.basedir}/env-rest-openapi-specifications/v1/openapi-environment-category-v1.yaml</inputSpec>
                            <apiPackage>org.qubership.atp.environments.service.rest.server.generated</apiPackage>
                            <modelPackage>org.qubership.atp.environments.service.rest.server.dto.generated</modelPackage>
                        </configuration>
                    </execution>
                    <execution>
                        <id>PingApi</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <inputSpec>${project.parent.parent.parent.parent.parent.basedir}/env-rest-openapi-specifications/v1/openapi-ping-v1.yaml</inputSpec>
                            <apiPackage>org.qubership.atp.environments.service.rest.server.generated</apiPackage>
                            <modelPackage>org.qubership.atp.environments.service.rest.server.dto.generated</modelPackage>
                            <modelNameSuffix>Dto</modelNameSuffix>
                        </configuration>
                    </execution>
                    <execution>
                        <id>ProjectApi</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <inputSpec>${project.parent.parent.parent.parent.parent.basedir}/env-rest-openapi-specifications/v1/openapi-project-v1.yaml</inputSpec>
                            <apiPackage>org.qubership.atp.environments.service.rest.server.generated</apiPackage>
                            <modelPackage>org.qubership.atp.environments.service.rest.server.dto.generated</modelPackage>
                        </configuration>
                    </execution>
                    <execution>
                        <id>SubscribersApi</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <inputSpec>${project.parent.parent.parent.parent.parent.basedir}/env-rest-openapi-specifications/v1/openapi-subscribers-v1.yaml</inputSpec>
                            <apiPackage>org.qubership.atp.environments.service.rest.server.generated</apiPackage>
                            <modelPackage>org.qubership.atp.environments.service.rest.server.dto.generated</modelPackage>
                        </configuration>
                    </execution>
                    <execution>
                        <id>SubscriptionApi</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <inputSpec>${project.parent.parent.parent.parent.parent.basedir}/env-rest-openapi-specifications/v1/openapi-subscription-v1.yaml</inputSpec>
                            <apiPackage>org.qubership.atp.environments.service.rest.server.generated</apiPackage>
                            <modelPackage>org.qubership.atp.environments.service.rest.server.dto.generated</modelPackage>
                        </configuration>
                    </execution>
                    <execution>
                        <id>SystemApi</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <inputSpec>${project.parent.parent.parent.parent.parent.basedir}/env-rest-openapi-specifications/v1/openapi-system-v1.yaml</inputSpec>
                            <apiPackage>org.qubership.atp.environments.service.rest.server.generated</apiPackage>
                            <modelPackage>org.qubership.atp.environments.service.rest.server.dto.generated</modelPackage>
                        </configuration>
                    </execution>
                    <execution>
                        <id>SystemCategoryApi</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <inputSpec>${project.parent.parent.parent.parent.parent.basedir}/env-rest-openapi-specifications/v1/openapi-system-category-v1.yaml</inputSpec>
                            <apiPackage>org.qubership.atp.environments.service.rest.server.generated</apiPackage>
                            <modelPackage>org.qubership.atp.environments.service.rest.server.dto.generated</modelPackage>
                        </configuration>
                    </execution>
                    <execution>
                        <id>ToolApi</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <inputSpec>${project.parent.parent.parent.parent.parent.basedir}/env-rest-openapi-specifications/v1/openapi-tool-v1.yaml</inputSpec>
                            <apiPackage>org.qubership.atp.environments.service.rest.server.generated</apiPackage>
                            <modelPackage>org.qubership.atp.environments.service.rest.server.dto.generated</modelPackage>
                        </configuration>
                    </execution>
                    <execution>
                        <id>UpdateEventApi</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <inputSpec>${project.parent.parent.parent.parent.parent.basedir}/env-rest-openapi-specifications/v1/openapi-update-event-v1.yaml</inputSpec>
                            <apiPackage>org.qubership.atp.environments.service.rest.server.generated</apiPackage>
                            <modelPackage>org.qubership.atp.environments.service.rest.server.dto.generated</modelPackage>
                        </configuration>
                    </execution>
                    <execution>
                        <id>VersionApi</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <inputSpec>${project.parent.parent.parent.parent.parent.basedir}/env-rest-openapi-specifications/v1/openapi-version-v1.yaml</inputSpec>
                            <apiPackage>org.qubership.atp.environments.service.rest.server.generated</apiPackage>
                            <modelPackage>org.qubership.atp.environments.service.rest.server.dto.generated</modelPackage>
                        </configuration>
                    </execution>

<!--                    generated healchcheck-->
                    <execution>
                        <id>openapi-status-v1.yaml</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <inputSpec>${basedir}/src/main/resources/apispecs/api/healthcheck/v1/openapi-status-v1.yaml</inputSpec>
                            <apiPackage>org.qubership.atp.environments.clients.api.healthcheck</apiPackage>
                            <modelPackage>org.qubership.atp.environments.clients.api.healthcheck.dto</modelPackage>
                            <invokerPackage>org.qubership.atp.environments.clients</invokerPackage>
                            <modelNameSuffix>Dto</modelNameSuffix>
                            <generateSupportingFiles>false</generateSupportingFiles>
                        </configuration>
                    </execution>
                    <execution>
                        <id>CatalogueProjectControllerApi</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <inputSpec>${basedir}/src/main/resources/apispecs/catalogue/api/catalogue/v1/project-controller-v1.yaml</inputSpec>
                            <apiPackage>org.qubership.atp.environments.service.rest.server.catalogue.generated</apiPackage>
                            <modelPackage>org.qubership.atp.environments.clients.api.catalogue.generated</modelPackage>
                            <modelNameSuffix>Dto</modelNameSuffix>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>com.github.spotbugs</groupId>
                <artifactId>spotbugs-maven-plugin</artifactId>
                <version>${spotbugs-maven-plugin.version}</version>
                <configuration>
                    <excludeFilterFile>${project.basedir}/excludeFromSpotbugsCheck.xml</excludeFilterFile>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
