Enable JUnit tests and porting to java 17
[ccsdk/cds.git] / ms / blueprintsprocessor / application / pom.xml
index 0ee6ac3..acaa09b 100755 (executable)
 
     <parent>
         <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
-        <artifactId>parent</artifactId>
-        <version>0.7.0-SNAPSHOT</version>
-        <relativePath>..</relativePath>
+        <artifactId>blueprintsprocessor-parent</artifactId>
+        <version>1.5.0-SNAPSHOT</version>
+        <relativePath>../parent</relativePath>
     </parent>
 
-    <artifactId>application</artifactId>
+    <artifactId>blueprintsprocessor-application</artifactId>
     <packaging>jar</packaging>
 
-    <name>Blueprints Processor Application</name>
-    <description>Blueprints Processor Application</description>
+    <name>MS Blueprints Processor Application</name>
 
     <properties>
-        <assembly.id>maven</assembly.id>
-        <name.space>org.onap.ccsdk.cds</name.space>
         <serviceArtifactName>blueprintsprocessor</serviceArtifactName>
         <image.name>onap/ccsdk-blueprintsprocessor</image.name>
-        <docker.push.phase>deploy</docker.push.phase>
-        <docker.verbose>true</docker.verbose>
-        <ccsdk.project.version>${project.version}</ccsdk.project.version>
-        <ccsdk.build.timestamp>${maven.build.timestamp}</ccsdk.build.timestamp>
     </properties>
 
     <dependencies>
-
         <dependency>
-            <groupId>org.onap.ccsdk.cds.controllerblueprints</groupId>
+            <groupId>org.onap.ccsdk.cds.blueprintsprocessor.modules</groupId>
             <artifactId>blueprint-core</artifactId>
             <exclusions>
                 <exclusion>
             </exclusions>
         </dependency>
 
-        <!-- North Bound -->
+        <!-- Error Catalog Services -->
         <dependency>
-            <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
+            <groupId>org.onap.ccsdk.cds.error.catalog</groupId>
+            <artifactId>error-catalog-services</artifactId>
+        </dependency>
+
+        <!-- North Bound - Modules -->
+        <dependency>
+            <groupId>org.onap.ccsdk.cds.blueprintsprocessor.modules</groupId>
             <artifactId>designer-api</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
+            <groupId>org.onap.ccsdk.cds.blueprintsprocessor.modules</groupId>
             <artifactId>resource-api</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
+            <groupId>org.onap.ccsdk.cds.blueprintsprocessor.modules</groupId>
             <artifactId>selfservice-api</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
+            <groupId>org.onap.ccsdk.cds.blueprintsprocessor.modules</groupId>
             <artifactId>configs-api</artifactId>
         </dependency>
-        <!--
         <dependency>
-            <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId>
+            <groupId>org.onap.ccsdk.cds.blueprintsprocessor.modules</groupId>
             <artifactId>health-api</artifactId>
         </dependency>
-        -->
+        <dependency>
+            <groupId>org.onap.ccsdk.cds.blueprintsprocessor.modules</groupId>
+            <artifactId>health-api-common</artifactId>
+        </dependency>
 
         <!-- Functions -->
         <dependency>
             <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId>
             <artifactId>python-executor</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId>
+            <artifactId>restful-executor</artifactId>
+        </dependency>
         <dependency>
             <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId>
             <artifactId>ansible-awx-executor</artifactId>
             <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId>
             <artifactId>config-snapshots</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId>
+            <artifactId>k8s-connection-plugin</artifactId>
+        </dependency>
+
+        <!-- Test Dependencies -->
         <dependency>
             <groupId>com.h2database</groupId>
             <artifactId>h2</artifactId>
             <artifactId>spring-boot-starter-test</artifactId>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.junit.vintage</groupId>
+            <artifactId>junit-vintage-engine</artifactId>
+            <scope>test</scope>
+        </dependency>
         <dependency>
             <groupId>org.jetbrains.kotlin</groupId>
             <artifactId>kotlin-test-junit</artifactId>
             <artifactId>reactor-test</artifactId>
             <scope>test</scope>
         </dependency>
+
         <!-- BEGIN UAT -->
         <dependency>
             <groupId>org.skyscreamer</groupId>
         <dependency>
             <groupId>com.nhaarman.mockitokotlin2</groupId>
             <artifactId>mockito-kotlin</artifactId>
-            <version>2.2.0</version>
+            <!-- It's unusual but 'compile' here is the right scope since mockito is being used at runtime by
+                 the UatServices (/api/v1/uat/spy and /api/v1/uat/verify endpoints) -->
+            <scope>compile</scope>
         </dependency>
         <dependency>
             <groupId>com.schibsted.spt.data</groupId>
             <artifactId>jslt</artifactId>
-            <version>0.1.8</version>
         </dependency>
         <dependency>
             <groupId>org.apache.httpcomponents</groupId>
             </resource>
         </resources>
         <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <version>${maven-surefire-plugin.version}</version>
+                <configuration>
+                    <!-- Sets the VM argument line used when unit tests are run. -->
+                    <argLine>-Xmx1024m -XX:MaxMetaspaceSize=256m ${surefireArgLine}</argLine>
+                    <!-- Excludes integration tests when unit tests are run. -->
+                    <excludes>
+                        <exclude>**/IT*.java</exclude>
+                    </excludes>
+                    <reuseForks>false</reuseForks>
+                    <forkCount>1</forkCount>
+                </configuration>
+            </plugin>
             <plugin>
                 <artifactId>maven-resources-plugin</artifactId>
                 <version>2.6</version>
                 </executions>
             </plugin>
             <plugin>
-                <groupId>org.codehaus.groovy.maven</groupId>
-                <artifactId>gmaven-plugin</artifactId>
-                <version>1.0</version>
+                <groupId>org.codehaus.gmaven</groupId>
+                <artifactId>groovy-maven-plugin</artifactId>
+                <version>2.1.1</version>
                 <executions>
                     <execution>
                         <phase>validate</phase>
                 </executions>
             </plugin>
             <plugin>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <version>3.1</version>
+                <groupId>pl.project13.maven</groupId>
+                <artifactId>git-commit-id-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>com.github.kongchen</groupId>
+                <artifactId>swagger-maven-plugin</artifactId>
+                <version>3.1.8</version>
                 <configuration>
-                    <source>1.8</source>
-                    <target>1.8</target>
+                    <apiSources>
+                        <apiSource>
+                            <springmvc>true</springmvc>
+                            <locations>
+                                <location>org.onap.ccsdk.cds.blueprintsprocessor.designer.api.BlueprintModelController</location>
+                                <location>org.onap.ccsdk.cds.blueprintsprocessor.designer.api.ResourceDictionaryController</location>
+                                <location>org.onap.ccsdk.cds.blueprintsprocessor.designer.api.ModelTypeController</location>
+                                <location>org.onap.ccsdk.cds.blueprintsprocessor.resource.api</location>
+                                <location>org.onap.ccsdk.cds.blueprintsprocessor.configs.api</location>
+                                <!-- This location is not implemented yet
+                                <location>org.onap.ccsdk.cds.blueprintsprocessor.healthapi</location>
+                                -->
+                            </locations>
+                            <schemes>
+                                <scheme>http</scheme>
+                            </schemes>
+                            <host>localhost:8080</host>
+                            <info>
+                                <title>CDS Blueprint Processor API Reference</title>
+                                <version>v1</version>
+                                <description>
+                                    Shows all resources and endpoints which CDS BP processor currently provides with sample requests/responses, parameter description and other information.
+                                </description>
+                                <termsOfService>
+                                    https://www.onap.org/
+                                </termsOfService>
+                                <contact>
+                                    <email>onap-discuss@lists.onap.org</email>
+                                    <name>ONAP Community</name>
+                                    <url>https://www.onap.org/</url>
+                                </contact>
+                                <license>
+                                    <url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
+                                    <name>Apache 2.0</name>
+                                </license>
+                            </info>
+                            <securityDefinitions>
+                                <securityDefinition>
+                                    <name>Basic Auth</name>
+                                    <type>basic</type>
+                                </securityDefinition>
+                            </securityDefinitions>
+                            <outputFormats>json</outputFormats>
+                            <swaggerDirectory>${basedir}/../../../docs/api-reference/media</swaggerDirectory>
+                            <swaggerFileName>cds-bp-processor-api-swagger</swaggerFileName>
+                            <jsonExampleValues>true</jsonExampleValues>
+                            <operationIdFormat>{{className}}_{{methodName}}_{{httpMethod}}.{{packageName}}</operationIdFormat>
+                        </apiSource>
+                    </apiSources>
                 </configuration>
+                <executions>
+                    <execution>
+                        <phase>compile</phase>
+                        <goals>
+                            <goal>generate</goal>
+                        </goals>
+                    </execution>
+                </executions>
             </plugin>
         </plugins>
     </build>
                     <plugin>
                         <groupId>io.fabric8</groupId>
                         <artifactId>docker-maven-plugin</artifactId>
-                        <version>0.26.1</version>
+                        <version>0.34.0</version>
                         <inherited>false</inherited>
                         <configuration>
                             <images>
                                     <name>${image.name}</name>
                                     <build>
                                         <cleanup>try</cleanup>
+                                        <noCache>true</noCache>
                                         <dockerFileDir>${basedir}/target/docker-stage</dockerFileDir>
                                         <tags>
                                             <tag>${project.docker.latestminortag.version}</tag>
                                     </build>
                                 </image>
                             </images>
-                            <verbose>true</verbose>
+                            <verbose>${docker.verbose}</verbose>
+                            <skipPush>${docker.skip.push}</skipPush>
                         </configuration>
                         <executions>
                             <execution>
-                                <id>generate-images</id>
-                                <phase>package</phase>
-                                <goals>
-                                    <goal>build</goal>
-                                </goals>
-                            </execution>
-                            <execution>
-                                <id>push-images</id>
-                                <phase>${docker.push.phase}</phase>
+                                <id>build-push-images</id>
                                 <goals>
                                     <goal>build</goal>
                                     <goal>push</goal>