[DMaap-Buscontroller] Updated Outdated Packages
[dmaap/buscontroller.git] / dmaap-bc / pom.xml
index f7f2bc1..48cc024 100644 (file)
@@ -29,7 +29,7 @@
   <parent>
     <groupId>org.onap.oparent</groupId>
     <artifactId>oparent</artifactId>
-    <version>1.2.2</version>
+    <version>3.2.0</version>
     <relativePath/>
   </parent>
   <build>
@@ -50,6 +50,7 @@
                 <requireReleaseDeps>
                   <message>No Snapshots Allowed!</message>
                   <excludes>
+<!-- for example, these might be needed...
                     <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>
@@ -57,6 +58,7 @@
                     <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>
         </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>
     </pluginManagement>
   </build>
   <profiles>
-    <profile>
-      <id>docker</id>
-           <properties>
-                <skipDockerBuild>false</skipDockerBuild>
-                <skipDockerTag>false</skipDockerTag>
-                <skipTests>true</skipTests>
-            </properties>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>com.spotify</groupId>
-            <artifactId>docker-maven-plugin</artifactId>
-           <version>${docker.maven.plugin.version}</version>
-            <configuration>
-              <baseImage>java:openjdk-8-jre</baseImage>
-              <imageName>${onap.nexus.dockerregistry.daily}/${docker.image}</imageName>
-              <entryPoint>["./bin/dmaapbc", "deploy"]</entryPoint>
-              <serverId>${onap.nexus.dockerregistry.daily}</serverId>
-             <skipDockerBuild>false</skipDockerBuild>
-              <imageTags>
-                <imageTag>${artifact.version}</imageTag>
-                <imageTag>latest</imageTag>
-              </imageTags>
-              <volumes>
-                <volume>/opt/app/dmaapbc/log</volume>
-              </volumes>
-              <forceTags>true</forceTags>
-              <user>root</user>
-              <resources>
+      <profile>
+        <id>docker</id>
+        <properties>
+            <skipDockerBuild>false</skipDockerBuild>
+            <skipDockerTag>false</skipDockerTag>
+            <skipTests>true</skipTests>
+        </properties>
+        <build>
+            <!-- Copy files to docker-stage to be included in image -->        
+            <resources>
                 <resource>
-                  <targetPath>/opt/app/dmaapbc/lib</targetPath>
-                  <directory>${multiproject.basedir}/dmaap-bc/target</directory>
-                  <include>dmaap-bc.jar</include>
+                    <targetPath>${basedir}/target/docker-stage</targetPath>
+                    <directory>${basedir}/src/main/resources</directory>
+                        <includes>
+                            <include>Dockerfile</include>
+                        </includes>
                 </resource>
-                <resource>
-                  <targetPath>/opt/app/dmaapbc/etc</targetPath>
-                  <directory>${multiproject.basedir}/dmaap-bc/misc</directory>
-                  <include>LocalKey</include>
-                  <include>logback.xml</include>
-                  <include>org.onap.dmaap-bc.trust.jks</include>
-                  <include>dbc-api.jks</include>
+                 <resource>
+                    <targetPath>${basedir}/target/docker-stage/opt/app/dmaapbc/misc</targetPath>
+                    <directory>${multiproject.basedir}/misc</directory>
+                        <includes>
+                            <include>cert-client-init.sh</include>
+                            <include>aaf-ca.crt</include>
+                        </includes>
                 </resource>
-                <resource>
-                  <targetPath>/opt/app/dmaapbc/etc</targetPath>
-                  <directory>${multiproject.basedir}/dmaap-bc</directory>
-                  <include>version.properties</include>
+                 <resource>
+                    <targetPath>${basedir}/target/docker-stage/opt/app/dmaapbc/etc</targetPath>
+                    <directory>${basedir}/misc</directory>
+                        <includes>
+                          <include>LocalKey</include>
+                          <include>logback.xml</include>
+                        </includes>
                 </resource>
-                <resource>
-                  <targetPath>/opt/app/dmaapbc/misc</targetPath>
-                  <directory>${multiproject.basedir}/dmaap-bc/misc</directory>
-                  <include>opensource.env</include>
-                  <include>*.tmpl</include>
+
+                 <resource>
+                    <targetPath>${basedir}/target/docker-stage/opt/app/dmaapbc/etc</targetPath>
+                    <directory>${multiproject.basedir}</directory>
+                        <includes>
+                            <include>version.properties</include>
+                        </includes>
                 </resource>
-                <resource>
-                  <targetPath>/opt/app/dmaapbc/misc</targetPath>
-                  <directory>${multiproject.basedir}/misc</directory>
-                  <include>cert-client-init.sh</include>
+                 <resource>
+                    <targetPath>${basedir}/target/docker-stage/opt/app/dmaapbc/misc</targetPath>
+                    <directory>${basedir}/misc</directory>
+                        <includes>
+                            <include>opensource.env</include>
+                            <include>*.tmpl</include>
+                        </includes>
                 </resource>
-                <resource>
-                  <targetPath>/opt/app/dmaapbc/bin</targetPath>
-                  <directory>${multiproject.basedir}/dmaap-bc/misc</directory>
-                  <include>dmaapbc</include>
-                  <include>doaction</include>
+                 <resource>
+                    <targetPath>${basedir}/target/docker-stage/opt/app/dmaapbc/bin</targetPath>
+                    <directory>${basedir}/misc</directory>
+                        <includes>
+                            <include>dmaapbc</include>
+                        </includes>
                 </resource>
               </resources>
-              <runs>
-                <run>mv /opt/app/dmaapbc/etc/dbc-api.jks /opt/app/dmaapbc/etc/keystore</run>
-                <run>chmod 600 /opt/app/dmaapbc/etc/keystore</run>
-                <run>chmod 600 /opt/app/dmaapbc/etc/org.onap.dmaap-bc.trust.jks</run>
-                <run>chmod +x /opt/app/dmaapbc/misc/cert-client-init.sh</run>
-                <run>chmod +x /opt/app/dmaapbc/bin/*</run>
-                <run>mkdir /opt/app/dmaapbc/logs</run>
-                <run>mkdir /opt/app/dmaapbc/www</run>
-                <run>mkdir /opt/app/dmaapbc/www/doc</run>
-              </runs>
-              <workdir>/opt/app/dmaapbc</workdir>
-            </configuration>
-            <executions>
-             <execution>
-                 <id>default</id>
-                 <goals>
-                      <goal>build</goal>
-                      <goal>push</goal>
-                  </goals>
-             </execution>
-         </executions>
-          </plugin>
-        </plugins>
-      </build>
+            <plugins>
+              <!-- Copy jar to docker-stage to be included in image -->
+              <plugin>
+                    <artifactId>maven-resources-plugin</artifactId>
+                    <version>2.7</version>
+                    <executions>
+                       <execution>
+                            <id>copy-jar</id>
+                            <phase>package</phase>
+                            <goals>
+                                <goal>copy-resources</goal>
+                            </goals>
+                            <configuration>
+                                <outputDirectory>${basedir}/target/docker-stage/opt/app/dmaapbc/lib</outputDirectory>
+                                <resources>
+                                    <resource>
+                                        <directory>${multiproject.basedir}/dmaap-bc/target</directory>
+                                        <includes>
+                                            <include>dmaap-bc.jar</include>
+                                        </includes>
+                                    </resource>
+                                </resources>
+                            </configuration>
+                        </execution>
+                    </executions>
+                </plugin>
+
+                <!-- Setup image tags per https://wiki.onap.org/display/DW/Independent+Versioning+and+Release+Process#IndependentVersioningandReleaseProcess-StandardizedDockerTagging -->
+                <plugin>
+                  <groupId>org.codehaus.groovy.maven</groupId>
+                  <artifactId>gmaven-plugin</artifactId>
+                  <executions>
+                      <execution>
+                          <phase>validate</phase>
+                          <goals>
+                              <goal>execute</goal>
+                          </goals>
+                          <configuration>
+                              <properties>
+                                  <ver>${project.version}</ver>
+                                  <timestamp>${maven.build.timestamp}</timestamp>
+                              </properties>
+                              <source>
+                                  println 'ver: ' + project.properties['ver'];
+                                  if ( project.properties['ver'].endsWith("-SNAPSHOT") ) {
+                                      project.properties['dockertag1']=project.properties['ver'] + "-latest";
+                                      project.properties['dockertag2']=project.properties['ver'] + "-" + project.properties['timestamp'];
+                                  } else {
+                                      project.properties['dockertag1']=project.properties['ver'] + "-STAGING-latest";
+                                      project.properties['dockertag2']=project.properties['ver'] + "-STAGING-" + project.properties['timestamp'];
+                                  }
+                                  println 'docker tag 1: ' + project.properties['dockertag1'];
+                                  println 'docker tag 2: ' + project.properties['dockertag2'];
+                              </source>
+                          </configuration>
+                      </execution>
+                  </executions>
+                </plugin>
+
+               <plugin>
+                    <groupId>io.fabric8</groupId>
+                    <artifactId>docker-maven-plugin</artifactId>
+                    <version>0.28.0</version>  
+                    <configuration>
+                        <verbose>${docker.verbose}</verbose>
+                        <apiVersion>${docker.apiVersion}</apiVersion>
+                        <pullRegistry>${docker.pull.registry}</pullRegistry>
+                        <pushRegistry>${docker.push.registry}</pushRegistry>
+                        <images>
+                            <image>                            
+                                <name>${docker.image}</name>
+                                <build>
+                                    <cleanup>try</cleanup>
+                                    <dockerFileDir>${basedir}/target/docker-stage</dockerFileDir>
+                                    <dockerFile>Dockerfile</dockerFile>
+                                    <tags>
+                                        <tag>${dockertag1}</tag>
+                                        <tag>${dockertag2}</tag>
+                                    </tags>
+                                </build>
+                            </image>
+                        </images>
+                    </configuration>
+                     <executions>
+                         <execution>
+                             <id>generate-images</id>
+                             <phase>install</phase>
+                             <goals>
+                                 <goal>build</goal>
+                             </goals>
+                         </execution>
+                         <execution>
+                             <id>push-images</id>
+                             <phase>deploy</phase>
+                             <goals>
+                                 <goal>push</goal>
+                             </goals>
+                         </execution>
+                     </executions>
+                </plugin>
+            </plugins>
+        </build>
     </profile>
   </profiles>
   <dependencyManagement>
       <artifactId>jersey-media-moxy</artifactId>
     </dependency>
     <dependency>
-      <groupId>log4j</groupId>
-      <artifactId>log4j</artifactId>
-      <version>1.2.17</version>
+      <groupId>org.apache.logging.log4j</groupId>
+      <artifactId>log4j-api</artifactId>
+      <version>${log4j.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.logging.log4j</groupId>
+      <artifactId>log4j-core</artifactId>
+      <version>${log4j.version}</version>
     </dependency>
     <dependency>
       <groupId>org.eclipse.jetty</groupId>
       <artifactId>jetty-server</artifactId>
       <version>${jettyVersion}</version>
     </dependency>
+    <dependency>
+      <groupId>org.eclipse.jetty</groupId>
+      <artifactId>jetty-util</artifactId>
+      <version>${jettyVersion}</version>
+    </dependency>
     <dependency>
       <groupId>org.onap.aaf.authz</groupId>
       <artifactId>aaf-cadi-aaf</artifactId>
       <version>2.1.7</version>
       <classifier>full</classifier>
     </dependency>
-
     <dependency>
       <groupId>org.eclipse.jetty</groupId>
       <artifactId>jetty-servlet</artifactId>
     <dependency>
       <groupId>commons-codec</groupId>
       <artifactId>commons-codec</artifactId>
-      <version>1.11</version>
+      <version>1.15</version>
     </dependency>
     <!-- https://mvnrepository.com/artifact/org.postgresql/postgresql -->
     <dependency>
       <groupId>org.postgresql</groupId>
       <artifactId>postgresql</artifactId>
-      <version>42.2.5</version>
+      <version>42.2.14</version>
     </dependency>
-
     <dependency>
       <groupId>org.onap.dmaap.dbcapi</groupId>
       <artifactId>dbcapi</artifactId>
-      <version>1.0.23-SNAPSHOT</version>
+      <version>2.0.2</version>
     </dependency>
   </dependencies>
   <reporting>
   <properties>
     <multiproject.basedir>${basedir}/..</multiproject.basedir>
     <docker.maven.plugin.version>1.0.0</docker.maven.plugin.version>
-    <jersey.version>2.16</jersey.version>
+    <jersey.version>2.29</jersey.version>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <jettyVersion>9.4.12.RC2</jettyVersion>
+    <log4j.version>2.13.3</log4j.version>
+    <jettyVersion>9.4.36.v20210114</jettyVersion>
     <eelf.version>1.0.0</eelf.version>
     <swagger.version>1.5.19</swagger.version>
-    <artifact.version>1.1.1</artifact.version>
+    <artifact.version>2.0.4-SNAPSHOT</artifact.version>
+    <timestamp>${maven.build.timestamp}</timestamp>
+    <maven.build.timestamp.format>yyyy-MM-dd HH:mm</maven.build.timestamp.format>
     <!--  SONAR  -->
     <jacoco.version>0.7.7.201606060606</jacoco.version>
     <sonar-jacoco-listeners.version>3.2</sonar-jacoco-listeners.version>
     <nexusproxy>https://nexus.onap.org</nexusproxy>
     <docker.push.registry>10.12.5.45:5000</docker.push.registry>
 
+    <timestamp>${maven.build.timestamp}</timestamp>
+    <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
+
     <!-- for Distribution Management -->
     <sitePath>/content/sites/site/org/onap/dmaap/dmaap-bc/${artifact.version}</sitePath>
   </properties>