summaryrefslogtreecommitdiffstats
path: root/integration/pom.xml
diff options
context:
space:
mode:
authorLiam Fallon <liam.fallon@est.tech>2021-07-20 11:55:15 +0000
committerGerrit Code Review <gerrit@onap.org>2021-07-20 11:55:15 +0000
commit8bd2403907becf8a6d246408434fbceaa30ba745 (patch)
tree258ebff1647b7d9e820fbd359148236402cbae8a /integration/pom.xml
parent561c0a8f068a246438509058f8ecf080751e6b83 (diff)
parent123321473628cbacd35963f4f30bf2ab621fd3b7 (diff)
Merge "Add profile for generating Swagger documents"
Diffstat (limited to 'integration/pom.xml')
-rw-r--r--integration/pom.xml164
1 files changed, 164 insertions, 0 deletions
diff --git a/integration/pom.xml b/integration/pom.xml
index 5380862d..462d1cf4 100644
--- a/integration/pom.xml
+++ b/integration/pom.xml
@@ -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>
@@ -72,6 +74,12 @@
<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>
<version>${version.jakarta-api}</version>
@@ -857,6 +865,162 @@
</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>