Merge "Upgrade to latest oparent"
[dmaap/buscontroller.git] / pom.xml
diff --git a/pom.xml b/pom.xml
index a846061..2eae015 100644 (file)
--- a/pom.xml
+++ b/pom.xml
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.onap.dmaap.buscontroller</groupId>
   <artifactId>buscontroller</artifactId>
-  <version>${artifact.version}</version>
-  <name>buscontroller</name>
-  <distributionManagement>
-    <repository>
-      <id>ecomp-releases</id>
-      <name>Open eCOMP Release Repository</name>
-      <url>${nexusproxy}/${releases.path}</url>
-    </repository>
-    <snapshotRepository>
-      <id>ecomp-snapshots</id>
-      <name>Open eCOMP Snapshot Repository</name>
-       <url>${nexusproxy}/${snapshots.path}</url>
-    </snapshotRepository>
-    <site>
-      <id>ecomp-site</id>
-      <url>dav:${nexusproxy}/content/sites/site/org/onap/dmaap/dbcapi/${project.artifactId}/${project.version}/</url>
-    </site>
-  </distributionManagement>
-  <pluginRepositories>
-    <pluginRepository>
-      <id>central</id>
-      <url>http://repo1.maven.org/maven2</url>
-    </pluginRepository>
-  </pluginRepositories>
-  <build>
+  <version>1.0.1</version>
+  <name>dmaap-buscontroller</name>
+  <parent>
+    <groupId>org.onap.oparent</groupId>
+    <artifactId>oparent</artifactId>
+    <version>1.1.0</version>
+    <relativePath/>
+  </parent>
+    <build>
     <finalName>buscontroller</finalName>
 
     <plugins>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <version>2.5.1</version>
-        <inherited>true</inherited>
-        <configuration>
-          <source>1.7</source>
-          <target>1.7</target>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-deploy-plugin</artifactId>
-        <version>2.8</version> <!-- This version supports the "deployAtEnd" parameter -->
-        <configuration>
-          <skip/>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-site-plugin</artifactId>
-        <version>3.6</version>
-        <dependencies>
-          <dependency>
-            <groupId>org.apache.maven.wagon</groupId>
-            <artifactId>wagon-webdav-jackrabbit</artifactId>
-            <version>2.10</version>
-          </dependency>
-        </dependencies>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-dependency-plugin</artifactId>
-        <version>2.10</version>
+        <artifactId>maven-enforcer-plugin</artifactId>
+        <version>3.0.0-M1</version>
         <executions>
           <execution>
-            <id>copy-dependencies</id>
-            <phase>package</phase>
+            <id>enforce-no-snapshots</id>
             <goals>
-              <goal>copy-dependencies</goal>
+              <goal>enforce</goal>
             </goals>
             <configuration>
-              <outputDirectory>${project.build.directory}/deps</outputDirectory>
-              <overWriteReleases>false</overWriteReleases>
-              <overWriteSnapshots>false</overWriteSnapshots>
-              <overWriteIfNewer>true</overWriteIfNewer>
+              <rules>
+                <requireReleaseDeps>
+                  <message>No Snapshots Allowed!</message>
+                  <excludes>
+                    <exclude>org.onap.dmaap.dbcapi:dbcapi</exclude>
+                  </excludes>
+                </requireReleaseDeps>
+              </rules>
+              <fail>true</fail>
             </configuration>
           </execution>
         </executions>
       </plugin>
 
+           <!-- Package an Uber jar -->
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-shade-plugin</artifactId>
+                <version>2.4.3</version>
+                <executions>
+                    <!-- Run shade goal on package phase -->
+                    <execution>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>shade</goal>
+                        </goals>
+                        <configuration>
+                            <transformers>
+                                <!-- NOTE: Need the following transformer else gets "Could not resolve type id 'https' into a subtype" error
+                                Solution found from here:
+                                http://stackoverflow.com/questions/27543060/why-does-dropwizard-configuration-is-not-working
+                                Some more context here:
+                                https://github.com/dropwizard/dropwizard/issues/455 -->
+                                <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
+                                <!-- add Main-Class to manifest file -->
+                                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
+                                    <mainClass>org.onap.dmaap.dbcapi.server.Main</mainClass>
+                                </transformer>
+                            </transformers>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+
+
 
       <plugin>
-        <groupId>org.sonatype.plugins</groupId>
-        <artifactId>nexus-staging-maven-plugin</artifactId>
-        <version>1.6.7</version>
-        <extensions>true</extensions>
-        <configuration>
-          <serverId>ecomp-staging</serverId>
-          <nexusUrl>${nexusproxy}</nexusUrl>
-          <stagingProfileId>176c31dfe190a</stagingProfileId>
-        </configuration>
-      </plugin>
+                <groupId>org.sonatype.plugins</groupId>
+                <artifactId>nexus-staging-maven-plugin</artifactId>
+                <version>1.6.7</version>
+                <extensions>true</extensions>
+                <configuration>
+                    <serverId>ecomp-staging</serverId>
+                    <nexusUrl>${nexusproxy}</nexusUrl>
+                    <stagingProfileId>176c31dfe190a</stagingProfileId>
+                </configuration>
+            </plugin>
+
+
+       <!-- for Distribution management -->
+               <plugin>
+                 <groupId>org.apache.maven.plugins</groupId>
+                 <artifactId>maven-site-plugin</artifactId>
+                 <version>3.6</version>
+                 <dependencies>
+                       <dependency>
+                         <groupId>org.apache.maven.wagon</groupId>
+                         <artifactId>wagon-webdav-jackrabbit</artifactId>
+                         <version>2.10</version>
+                       </dependency>
+                 </dependencies>
+               </plugin>
 
     </plugins>
     <pluginManagement>
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-dependency-plugin</artifactId>
                     <versionRange>[2.10,)</versionRange>
-                    <goals>
-                      <goal>copy-dependencies</goal>
-                    </goals>
+                                           <phase>install</phase>
+                        <goals>
+                          <goal>copy-dependencies</goal>
+                        </goals>
                   </pluginExecutionFilter>
                   <action>
                     <ignore/>
       </plugins>
     </pluginManagement>
   </build>
+       <profiles>
+       <profile>
+               <id>docker</id>
+               <build>
+                       <plugins>
+      <plugin>
+               <groupId>com.spotify</groupId>
+                <artifactId>docker-maven-plugin</artifactId>
+                <version>1.0.0</version>
+                <configuration>
+                                <imageName>${onap.nexus.dockerregistry.daily}/${docker.image}</imageName>
+                            <dockerDirectory>${project.basedir}</dockerDirectory>
+                                <serverId>${onap.nexus.dockerregistry.daily}</serverId>
+                                <imageTags>
+                                                <imageTag>${artifact.version}</imageTag>
+                                                <imageTag>latest</imageTag>
+                                </imageTags>
+                                <forceTags>true</forceTags>
+                                <resources>
+                                                <resource>
+                                                                <targetPath>/</targetPath>
+                                                                <directory>${project.basedir}</directory>
+                                                                <excludes>
+                                                                       <exclude>target/**/*</exclude>
+                                                                       <exclude>pom.xml</exclude>
+                                                               </excludes>
+                                                </resource>
+
+                                                <resource>
+                                                                <targetPath>/</targetPath>
+                                                                <directory>${project.build.directory}</directory>
+                                                                <include>**/**</include>
+                                                </resource>
+                                </resources>
+                </configuration>
+      </plugin>
+                       </plugins>
+               </build>
+       </profile>
+       </profiles>
   <dependencyManagement>
     <dependencies>
  
        <dependency>
                <groupId>org.onap.dmaap.dbcapi</groupId>
                <artifactId>dbcapi</artifactId>
-               <version>1.1.0-SNAPSHOT</version>
+               <version>1.0.1-SNAPSHOT</version>
        </dependency>
   </dependencies>
   <reporting>
       </plugin>
     </plugins>
   </reporting>
+
+  <distributionManagement>
+       <site>
+               <id>ecomp-site</id>
+               <url>dav:${nexusproxy}${sitePath}</url>
+       </site>
+  </distributionManagement>
   <properties>
     <jersey.version>2.16</jersey.version>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <jettyVersion>9.3.7.v20160115</jettyVersion>
     <eelf.version>0.0.1</eelf.version>
-    <artifact.version>1.0.0-SNAPSHOT</artifact.version>
-    <nexusproxy>https://nexus.onap.org</nexusproxy>
-    <snapshots.path>content/repositories/snapshots/</snapshots.path>
-    <releases.path>content/repositories/releases/</releases.path>
+    <artifact.version>1.0.1</artifact.version>
+               <!--  SONAR  -->
+                <jacoco.version>0.7.7.201606060606</jacoco.version>
+           <sonar-jacoco-listeners.version>3.2</sonar-jacoco-listeners.version>
+           <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
+           <!-- Default Sonar configuration -->
+           <sonar.jacoco.reportPath>target/code-coverage/jacoco-ut.exec</sonar.jacoco.reportPath>
+           <sonar.jacoco.itReportPath>target/code-coverage/jacoco-it.exec</sonar.jacoco.itReportPath>
+           <!-- Note: This list should match jacoco-maven-plugin's exclusion list below -->
+           <sonar.exclusions>**/gen/**,**/generated-sources/**,**/yang-gen**,**/pax/**</sonar.exclusions>
+
+       <!-- docker image -->
+                <docker.image>onap/dmaap/buscontroller</docker.image>
+
+                <nexusproxy>https://nexus.onap.org</nexusproxy>
+                <docker.push.registry>nexus3.onap.org:10003</docker.push.registry>
+
+       <!-- for Distribution Management -->
+               <sitePath>/content/sites/site/org/onap/dmaap/buscontroller/${artifact.version}</sitePath>
   </properties>
   <description>Packaging Platform (DMaaP) Bus Controller API as a Docker container. </description>
 </project>