Simple initialization calls at deploy
[dmaap/buscontroller.git] / pom.xml
diff --git a/pom.xml b/pom.xml
index 6f6f00a..b3ad1f5 100644 (file)
--- a/pom.xml
+++ b/pom.xml
 <?xml version="1.0"?>
+<!--
+  ============LICENSE_START==========================================
+  org.onap.dmaap
+  ===================================================================
+  Copyright © 2018 AT&T Intellectual Property. All rights reserved.
+  ===================================================================
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+         http://www.apache.org/licenses/LICENSE-2.0
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  ============LICENSE_END============================================
+  ECOMP is a trademark and service mark of AT&T Intellectual Property.
+-->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.onap.dmaap.buscontroller</groupId>
   <artifactId>buscontroller</artifactId>
   <version>${artifact.version}</version>
-  <name>buscontroller</name>
+  <name>dmaap-buscontroller</name>
   <parent>
     <groupId>org.onap.oparent</groupId>
     <artifactId>oparent</artifactId>
-    <version>0.1.0</version>
+    <version>1.1.0</version>
+    <relativePath/>
   </parent>
-  <build>
+    <build>
     <finalName>buscontroller</finalName>
 
     <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-enforcer-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>enforce-no-snapshots</id>
+            <goals>
+              <goal>enforce</goal>
+            </goals>
+            <configuration>
+              <rules>
+                <requireReleaseDeps>
+                  <message>No Snapshots Allowed!</message>
+                  <excludes>
+                    <exclude>org.onap.dmaap.dbcapi:dbcapi</exclude>
+                                       <exclude>org.onap.aaf.authz:aaf-cadi-client</exclude>
+                                       <exclude>org.onap.aaf.authz:aaf-misc-env</exclude>
+                                       <exclude>org.onap.aaf.authz:aaf-cadi-aaf</exclude>
+                                       <exclude>org.onap.aaf.authz:aaf-auth-client</exclude>
+                                       <exclude>org.onap.aaf.authz:aaf-cadi-core</exclude>
+                                       <exclude>org.onap.aaf.authz:aaf-misc-rosetta</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>
+                                                       <!-- this filter section is needed to avoid runtime error:
+                                                               java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
+                                                               suggestion found at: https://stackoverflow.com/q/999489 
+                                                       -->
+                                                       <filters>
+                                                               <filter>
+                                                                       <artifact>*:*</artifact>
+                                                                       <excludes>
+                                                                               <exclude>META-INF/*.SF</exclude>
+                                                                               <exclude>META-INF/*.DSA</exclude>
+                                                                               <exclude>META-INF/*.RSA</exclude>
+                                                                       </excludes>
+                                                               </filter>
+                                                       </filters>
+                            <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>
+                <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>
+                 <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>
  
       <artifactId>jetty-server</artifactId>
       <version>${jettyVersion}</version>
     </dependency>
+        <dependency>
+            <groupId>org.onap.aaf.authz</groupId>
+            <artifactId>aaf-cadi-aaf</artifactId>
+            <version>2.1.2-SNAPSHOT</version>
+            <classifier>full</classifier>
+        </dependency>
+
     <dependency>
       <groupId>org.eclipse.jetty</groupId>
       <artifactId>jetty-servlet</artifactId>
        <dependency>
                <groupId>org.onap.dmaap.dbcapi</groupId>
                <artifactId>dbcapi</artifactId>
-               <version>1.0.0-SNAPSHOT</version>
+               <version>1.0.14-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>
+    <artifact.version>1.0.17</artifact.version>
                <!--  SONAR  -->
                 <jacoco.version>0.7.7.201606060606</jacoco.version>
            <sonar-jacoco-listeners.version>3.2</sonar-jacoco-listeners.version>
            <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>