Merge "Upgrade the CDS dependency"
[policy/parent.git] / integration / pom.xml
index d823045..c082e68 100644 (file)
@@ -36,6 +36,8 @@
 
     <properties>
         <java.version>11</java.version>
+        <!-- NOTE: For RELEASE/SNAPSHOT always set to the project version -->
+        <version.parent.resources>3.4.0-SNAPSHOT</version.parent.resources>
         <version.logback>1.2.3</version.logback>
         <version.dmaap>1.1.12</version.dmaap>
         <version.powermock>2.0.9</version.powermock>
@@ -58,6 +60,8 @@
         <version.jakarta-api>2.0.2</version.jakarta-api>
         <jacoco.dataFile>${project.basedir}/../target/code-coverage/jacoco-ut.exec</jacoco.dataFile>
         <repo.npm>https://nexus3.onap.org/repository/npm.public/npm/-/</repo.npm>
+        <docker.pull.registry>nexus3.onap.org:10001</docker.pull.registry>
+        <docker.push.registry>nexus3.onap.org:10003</docker.push.registry>
     </properties>
 
     <distributionManagement>
 
     <dependencyManagement>
         <dependencies>
+            <dependency>
+                <groupId>org.onap.policy.parent</groupId>
+                <artifactId>policy-parent-resources</artifactId>
+                <version>${version.parent.resources}</version>
+            </dependency>
+
             <dependency>
                 <groupId>jakarta.validation</groupId>
                 <artifactId>jakarta.validation-api</artifactId>
                 </pluginManagement>
             </build>
         </profile>
+        <profile>
+            <id>generateSwaggerDocs</id>
+            <activation>
+                <property>
+                    <name>!skipTests</name>
+                </property>
+            </activation>
+            <build>
+                <plugins>
+                    <!-- Read the swagger.json file and the definition from SwaggerConfig.java; generate
+                    a list of .adoc files containing the APIs info in more structured way -->
+                    <plugin>
+                        <groupId>io.github.swagger2markup</groupId>
+                        <artifactId>swagger2markup-maven-plugin</artifactId>
+                        <version>1.3.3</version>
+                        <dependencies>
+                            <dependency>
+                                <groupId>io.github.swagger2markup</groupId>
+                                <artifactId>swagger2markup-import-files-ext</artifactId>
+                                <version>1.3.3</version>
+                            </dependency>
+                            <dependency>
+                                <groupId>io.github.swagger2markup</groupId>
+                                <artifactId>swagger2markup-spring-restdocs-ext</artifactId>
+                                <version>1.3.3</version>
+                            </dependency>
+                        </dependencies>
+                        <configuration>
+                            <swaggerInput>${project.build.directory}/swagger/swagger.json</swaggerInput>
+                            <outputDir>${project.build.directory}/asciidoc/generated</outputDir>
+                            <config>
+                                <swagger2markup.markupLanguage>ASCIIDOC</swagger2markup.markupLanguage>
+                            </config>
+                        </configuration>
+                        <executions>
+                            <execution>
+                                <phase>${swagger.generation.phase}</phase>
+                                <goals>
+                                    <goal>convertSwagger2markup</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-dependency-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>unpack-swagger-asciidoc</id>
+                                <phase>${swagger.generation.phase}</phase>
+                                <goals>
+                                    <goal>unpack</goal>
+                                </goals>
+                                <configuration>
+                                    <artifactItems>
+                                        <artifactItem>
+                                            <groupId>org.onap.policy.parent</groupId>
+                                            <artifactId>policy-parent-resources</artifactId>
+                                            <type>jar</type>
+                                            <overWrite>true</overWrite>
+                                            <outputDirectory>${project.build.directory}</outputDirectory>
+                                        </artifactItem>
+                                    </artifactItems>
+                                    <includes>asciidoc/**</includes>
+                                    <outputDirectory>${project.build.directory}</outputDirectory>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+
+                    <!-- Run the generated asciidoc through Asciidoctor to generate other documentation
+                    types, such as PDFs or HTML5 -->
+                    <plugin>
+                        <groupId>org.asciidoctor</groupId>
+                        <artifactId>asciidoctor-maven-plugin</artifactId>
+                        <version>1.5.7.1</version>
+                        <dependencies>
+                            <dependency>
+                                <groupId>org.asciidoctor</groupId>
+                                <artifactId>asciidoctorj-pdf</artifactId>
+                                <version>1.5.0-alpha.10.1</version>
+                            </dependency>
+                        </dependencies>
+                        <configuration>
+                            <sourceDirectory>${project.build.directory}/asciidoc</sourceDirectory>
+                            <sourceDocumentName>swagger.adoc</sourceDocumentName>
+                            <attributes>
+                                <doctype>book</doctype>
+                                <toc>left</toc>
+                                <toclevels>3</toclevels>
+                                <numbered />
+                                <hardbreaks />
+                                <sectlinks />
+                                <sectanchors />
+                                <generated>${project.build.directory}/asciidoc/generated</generated>
+                            </attributes>
+                        </configuration>
+
+                        <executions>
+                            <execution>
+                                <id>output-html</id>
+                                <phase>${swagger.generation.phase}</phase>
+                                <goals>
+                                    <goal>process-asciidoc</goal>
+                                </goals>
+                                <configuration>
+                                    <backend>html5</backend>
+                                    <outputDirectory>${project.build.directory}/swagger</outputDirectory>
+                                </configuration>
+                            </execution>
+                            <execution>
+                                <id>output-pdf</id>
+                                <phase>${swagger.generation.phase}</phase>
+                                <goals>
+                                    <goal>process-asciidoc</goal>
+                                </goals>
+                                <configuration>
+                                    <backend>pdf</backend>
+                                    <outputDirectory>${project.build.directory}/swagger</outputDirectory>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+
+                    <!--  Create a tarball for Swagger documents -->
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-assembly-plugin</artifactId>
+                        <dependencies>
+                            <dependency>
+                                <groupId>org.onap.policy.parent</groupId>
+                                <artifactId>policy-parent-resources</artifactId>
+                                <version>${version.parent.resources}</version>
+                            </dependency>
+                        </dependencies>
+                        <executions>
+                            <execution>
+                                <id>generate-swagger-tar</id>
+                                <phase>${swagger.generation.phase}</phase>
+                                <goals>
+                                    <goal>single</goal>
+                                </goals>
+                                <configuration>
+                                    <descriptorRefs>
+                                        <descriptorRef>swagger-docs</descriptorRef>
+                                    </descriptorRefs>
+                                    <finalName>${project.artifactId}</finalName>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+
+                </plugins>
+            </build>
+        </profile>
     </profiles>
 
     <build>