Restore Swagger

Restore swagger generation at runtime, + Clamp versioning rework + log
level set differently

Issue-ID: CLAMP-169
Change-Id: Ibf9eedb7028dedc610b36546f57ee5b3095cd20d
Signed-off-by: Determe, Sebastien (sd378r) <sd378r@intl.att.com>
diff --git a/pom.xml b/pom.xml
index dfd00cf..8e758e2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -67,7 +67,6 @@
 				<project.scm.id>git-server</project.scm.id>
 				<java.version>1.8</java.version>
 
-				<swagger.jaxrs2.version>2.0.0-rc4</swagger.jaxrs2.version>
 				<eelf.core.version>1.0.0</eelf.core.version>
 				<camel.version>2.22.0</camel.version>
 				<springboot.version>2.0.2.RELEASE</springboot.version>
@@ -196,14 +195,6 @@
 						<name>JBoss.org Maven repository</name>
 						<url>https://repository.jboss.org/nexus/content/groups/public</url>
 				</repository>
-				<repository>
-						<id>jcentral</id>
-						<name>bintray</name>
-						<url>http://jcenter.bintray.com</url>
-						<snapshots>
-								<enabled>false</enabled>
-						</snapshots>
-				</repository>
 		</repositories>
 
 		<dependencyManagement>
@@ -268,7 +259,17 @@
 				</dependency>
 				<dependency>
 					<groupId>org.apache.camel</groupId> 
-					<artifactId>camel-jackson</artifactId>
+					<artifactId>camel-jackson-starter</artifactId>
+				</dependency>
+				<dependency>
+					<groupId>org.apache.camel</groupId>
+					<artifactId>camel-swagger-java-starter</artifactId>
+					<exclusions>
+						<exclusion>
+							<groupId>javax.ws.rs</groupId>
+							<artifactId>jsr311-api</artifactId>
+						</exclusion>
+					</exclusions>
 				</dependency>
 				<dependency>
 						<groupId>javax.xml.bind</groupId>
@@ -574,10 +575,15 @@
 		</dependencies>
 		<pluginRepositories>
 				<pluginRepository>
+						<id>central-for-plugins</id>
+						<name>Maven 2 repository 2</name>
+						<url>http://repo2.maven.org/maven2/</url>
+				</pluginRepository>
+				<pluginRepository>
 						<snapshots>
 								<enabled>false</enabled>
 						</snapshots>
-						<id>jcenter-releases</id>
+						<id>jcenter-releases-for-plugins</id>
 						<name>jcenter</name>
 						<url>http://jcenter.bintray.com</url>
 				</pluginRepository>
@@ -626,6 +632,101 @@
 				</resources>
 
 				<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.basedir}/docs/swagger/swagger.json</swaggerInput>
+										<outputDir>${project.build.directory}/asciidoc/generated</outputDir>
+										<config>
+												<swagger2markup.markupLanguage>ASCIIDOC</swagger2markup.markupLanguage>
+										</config>
+								</configuration>
+								<executions>
+										<execution>
+												<phase>post-integration-test</phase>
+												<goals>
+														<goal>convertSwagger2markup</goal>
+												</goals>
+										</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.6</version>
+								<dependencies>
+										<dependency>
+												<groupId>org.asciidoctor</groupId>
+												<artifactId>asciidoctorj-pdf</artifactId>
+												<version>1.5.0-alpha.10.1</version>
+										</dependency>
+										<dependency>
+												<groupId>org.jruby</groupId>
+												<artifactId>jruby-complete</artifactId>
+												<version>1.7.21</version>
+										</dependency>
+								</dependencies>
+								<configuration>
+										<sourceDirectory>${project.basedir}/src/main/resources/asciidoc</sourceDirectory>
+										<sourceDocumentName>swagger.adoc</sourceDocumentName>
+										<attributes>
+												<doctype>book</doctype>
+												<toc>left</toc>
+												<toclevels>3</toclevels>
+												<numbered></numbered>
+												<hardbreaks></hardbreaks>
+												<sectlinks></sectlinks>
+												<sectanchors></sectanchors>
+												<generated>${project.build.directory}/asciidoc/generated</generated>
+										</attributes>
+								</configuration>
+
+								<executions>
+										<execution>
+												<id>output-html</id>
+												<phase>post-integration-test</phase>
+												<goals>
+														<goal>process-asciidoc</goal>
+												</goals>
+												<configuration>
+														<backend>html5</backend>
+														<outputDirectory>${project.basedir}/docs/swagger</outputDirectory>
+														<outputDirectory>${project.basedir}/src/main/resources/META-INF/resources/</outputDirectory>
+												</configuration>
+										</execution>
+										<execution>
+												<id>output-pdf</id>
+												<phase>post-integration-test</phase>
+												<goals>
+														<goal>process-asciidoc</goal>
+												</goals>
+												<configuration>
+														<backend>pdf</backend>
+														<outputDirectory>${project.basedir}/docs/swagger</outputDirectory>
+												</configuration>
+										</execution>
+								</executions>
+						</plugin>
 						<plugin>
 								<groupId>org.codehaus.groovy.maven</groupId>
 								<artifactId>gmaven-plugin</artifactId>