<?xml version="1.0" encoding="UTF-8"?>
<!--
* ========================LICENSE_START=================================
* O-RAN-SC
* %%
* Copyright (C) 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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.o-ran-sc.nonrtric.plt</groupId>
        <artifactId>rappmanager</artifactId>
        <version>0.1.0-SNAPSHOT</version>
    </parent>

    <groupId>org.o-ran-sc.nonrtric.plt.rappmanager</groupId>
    <artifactId>rapp-manager-sme</artifactId>

    <properties>
        <maven.compiler.source>${java.version}</maven.compiler.source>
        <maven.compiler.target>${java.version}</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

    </properties>

    <profiles>
        <profile>
            <id>Windows</id>
            <activation>
                <os>
                    <family>Windows</family>
                </os>
            </activation>
            <properties>
                <script.extension>.bat</script.extension>
                <file.separator>\</file.separator>
            </properties>
        </profile>
        <profile>
            <id>unix</id>
            <activation>
                <os>
                    <family>unix</family>
                </os>
            </activation>
            <properties>
                <script.extension>.sh</script.extension>
                <file.separator>/</file.separator>
            </properties>
        </profile>
    </profiles>

    <dependencies>
        <dependency>
            <groupId>org.o-ran-sc.nonrtric.plt.rappmanager</groupId>
            <artifactId>rapp-manager-models</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.openapitools</groupId>
            <artifactId>jackson-databind-nullable</artifactId>
            <version>${openapi.jackson.databind.nullable.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpcore</artifactId>
            <version>${apache.httpcore.version}</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>${exec-maven-plugin.version}</version>
                <executions>
                    <execution>
                        <id>git submodule update</id>
                        <phase>initialize</phase>
                        <configuration>
                            <executable>git</executable>
                            <arguments>
                                <argument>submodule</argument>
                                <argument>update</argument>
                                <argument>--init</argument>
                                <argument>--recursive</argument>
                            </arguments>
                        </configuration>
                        <goals>
                            <goal>exec</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>initialize-sme-openapi-specs</id>
                        <phase>initialize</phase>
                        <goals>
                            <goal>exec</goal>
                        </goals>
                        <configuration>
                            <executable>
                                ..${file.separator}scripts${file.separator}init${file.separator}init-sme-spec${script.extension}
                            </executable>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.openapitools</groupId>
                <artifactId>openapi-generator-maven-plugin</artifactId>
                <version>${openapi.maven.version}</version>
                <executions>
                    <execution>
                        <id>provider-spec-generator</id>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <inputSpec>
                                ${project.parent.basedir}/openapi/sme/TS29222_CAPIF_API_Provider_Management_API.yaml
                            </inputSpec>
                            <generatorName>java</generatorName>
                            <library>resttemplate</library>
                            <generateApiTests>false</generateApiTests>
                            <generateModelTests>false</generateModelTests>
                            <generateApiDocumentation>false</generateApiDocumentation>
                            <generateModelDocumentation>false</generateModelDocumentation>
                            <generateModels>true</generateModels>
                            <additionalProperties>
                                <additionalProperty>apiNameSuffix=ApiClient</additionalProperty>
                            </additionalProperties>
                            <configOptions>
                                <sourceFolder>src/main/java</sourceFolder>
                                <useJakartaEe>true</useJakartaEe>
                                <invokerPackage>com.oransc.rappmanager.sme.provider</invokerPackage>
                                <apiPackage>com.oransc.rappmanager.sme.provider.rest</apiPackage>
                                <modelPackage>com.oransc.rappmanager.sme.provider.data</modelPackage>
                                <generateClientAsBean>false</generateClientAsBean>
                            </configOptions>
                        </configuration>
                    </execution>
                    <execution>
                        <id>publish-service-spec-generator</id>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <inputSpec>
                                ${project.parent.basedir}/openapi/sme/TS29222_CAPIF_Publish_Service_API.yaml
                            </inputSpec>
                            <generatorName>java</generatorName>
                            <library>resttemplate</library>
                            <generateApiTests>false</generateApiTests>
                            <generateModelTests>false</generateModelTests>
                            <generateApiDocumentation>false</generateApiDocumentation>
                            <generateModelDocumentation>false</generateModelDocumentation>
                            <generateModels>true</generateModels>
                            <additionalProperties>
                                <additionalProperty>apiNameSuffix=ApiClient</additionalProperty>
                            </additionalProperties>
                            <configOptions>
                                <sourceFolder>src/main/java</sourceFolder>
                                <useJakartaEe>true</useJakartaEe>
                                <invokerPackage>com.oransc.rappmanager.sme.publishservice</invokerPackage>
                                <apiPackage>com.oransc.rappmanager.sme.publishservice.rest</apiPackage>
                                <modelPackage>com.oransc.rappmanager.sme.publishservice.data</modelPackage>
                                <generateClientAsBean>false</generateClientAsBean>
                            </configOptions>
                        </configuration>
                    </execution>
                    <execution>
                        <id>invoker-spec-generator</id>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <inputSpec>
                                ${project.parent.basedir}/openapi/sme/TS29222_CAPIF_API_Invoker_Management_API.yaml
                            </inputSpec>
                            <generatorName>java</generatorName>
                            <library>resttemplate</library>
                            <generateApiTests>false</generateApiTests>
                            <generateModelTests>false</generateModelTests>
                            <generateApiDocumentation>false</generateApiDocumentation>
                            <generateModelDocumentation>false</generateModelDocumentation>
                            <generateModels>true</generateModels>
                            <additionalProperties>
                                <additionalProperty>apiNameSuffix=ApiClient</additionalProperty>
                            </additionalProperties>
                            <configOptions>
                                <sourceFolder>src/main/java</sourceFolder>
                                <useJakartaEe>true</useJakartaEe>
                                <invokerPackage>com.oransc.rappmanager.sme.invoker</invokerPackage>
                                <apiPackage>com.oransc.rappmanager.sme.invoker.rest</apiPackage>
                                <modelPackage>com.oransc.rappmanager.sme.invoker.data</modelPackage>
                                <generateClientAsBean>false</generateClientAsBean>
                            </configOptions>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>
