Introduce a new docker for be plugins

Introduce a new docker image containing the etsi plugin and potentially others + simplify the process to build backend image + cleaning of unused files

Issue-ID: SDC-3289
Signed-off-by: sebdet <sebastien.determe@intl.att.com>
Change-Id: I82c770b391d169bef3bcc5f5af66e2a24dffb1b4
Signed-off-by: sebdet <sebastien.determe@intl.att.com>
diff --git a/catalog-be-plugins/backend-all-plugins/pom.xml b/catalog-be-plugins/backend-all-plugins/pom.xml
new file mode 100644
index 0000000..f75721f
--- /dev/null
+++ b/catalog-be-plugins/backend-all-plugins/pom.xml
@@ -0,0 +1,119 @@
+<!--
+============LICENSE_START=======================================================
+ONAP SDC
+================================================================================
+Copyright (C) 2020 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=========================================================
+================================================================================
+-->
+
+<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/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>catalog-be-plugins</artifactId>
+        <groupId>org.openecomp.sdc</groupId>
+        <version>1.7.1-SNAPSHOT</version>
+    </parent>
+
+    <packaging>pom</packaging>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>backend-all-plugins</artifactId>
+
+    <properties>
+        <docker.tag>${project.version}-STAGING-${maven.build.timestamp}</docker.tag>
+        <docker.latest.tag>${project.version}-STAGING-latest</docker.latest.tag>
+        <docker.skip.build>true</docker.skip.build>
+        <docker.skip.push>true</docker.skip.push>
+        <docker.skip.tag>true</docker.skip.tag>
+    </properties>
+
+    <profiles>
+        <profile>
+            <id>docker</id>
+            <properties>
+                <skip.staging.artifacts>true</skip.staging.artifacts>
+                <docker.skip.build>false</docker.skip.build>
+                <docker.skip.tag>false</docker.skip.tag>
+                <docker.skip.push>false</docker.skip.push>
+                <docker.skip>false</docker.skip>
+            </properties>
+        </profile>
+    </profiles>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>io.fabric8</groupId>
+                <artifactId>docker-maven-plugin</artifactId>
+                <configuration>
+                    <apiVersion>${docker.api.version}</apiVersion>
+                    <registry>nexus3.onap.org:10001</registry>
+                    <verbose>true</verbose>
+                    <authConfig>
+                        <pull>
+                            <username>docker</username>
+                            <password>docker</password>
+                        </pull>
+                    </authConfig>
+                    <images>
+                        <!-- Build backend image -->
+                        <image>
+                            <name>onap/sdc-backend-all-plugins</name>
+                            <alias>sdc-backend-all-plugins</alias>
+                            <build>
+                                <cleanup>try</cleanup>
+                                <dockerFile>backend-all-plugins/Dockerfile</dockerFile>
+                                <tags>
+                                    <tag>${docker.tag}</tag>
+                                    <tag>
+                                        ${parsedVersion.majorVersion}.${parsedVersion.minorVersion}-STAGING-latest
+                                    </tag>
+                                </tags>
+                                <assembly>
+                                    <descriptor>backend-all-plugins/backend-all-plugins-files.xml</descriptor>
+                                    <name>onap-sdc-backend-all-plugins</name>
+                                </assembly>
+                            </build>
+                        </image>
+                    </images>
+                </configuration>
+                <executions>
+                    <execution>
+                        <id>clean-images</id>
+                        <phase>pre-clean</phase>
+                        <goals>
+                            <goal>remove</goal>
+                        </goals>
+                    </execution>
+                    <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>
+</project>
\ No newline at end of file
diff --git a/catalog-be-plugins/backend-all-plugins/src/main/docker/backend-all-plugins/Dockerfile b/catalog-be-plugins/backend-all-plugins/src/main/docker/backend-all-plugins/Dockerfile
new file mode 100644
index 0000000..ab42a10
--- /dev/null
+++ b/catalog-be-plugins/backend-all-plugins/src/main/docker/backend-all-plugins/Dockerfile
@@ -0,0 +1,4 @@
+FROM onap/sdc-backend:latest
+
+COPY --chown=jetty:jetty onap-sdc-backend-all-plugins/etsi-nfv-nsd-csar-plugin.jar       ${JETTY_BASE}/plugins/
+RUN ls -latr ${JETTY_BASE}/plugins/
\ No newline at end of file
diff --git a/catalog-be-plugins/backend-all-plugins/src/main/docker/backend-all-plugins/backend-all-plugins-files.xml b/catalog-be-plugins/backend-all-plugins/src/main/docker/backend-all-plugins/backend-all-plugins-files.xml
new file mode 100644
index 0000000..37b6155
--- /dev/null
+++ b/catalog-be-plugins/backend-all-plugins/src/main/docker/backend-all-plugins/backend-all-plugins-files.xml
@@ -0,0 +1,43 @@
+<!--
+  ============LICENSE_START=======================================================
+  ONAP SDC
+  ================================================================================
+  Copyright (C) 2020 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=========================================================
+  -->
+
+<assembly
+        xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.1"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.1 http://maven.apache.org/xsd/assembly-1.1.1.xsd">
+    <id>sdc-backend-all-plugins-files</id>
+
+    <formats>
+        <format>tar.gz</format>
+    </formats>
+    <includeBaseDirectory>false</includeBaseDirectory>
+
+    <fileSets>
+        <!-- include config files -->
+        <fileSet>
+            <includes>
+                <include>etsi-nfv-nsd-csar-plugin.jar</include>
+            </includes>
+            <directory>${project.parent.basedir}/etsi-nfv-nsd-csar-plugin/target</directory>
+            <outputDirectory></outputDirectory>
+        </fileSet>
+    </fileSets>
+
+</assembly>
diff --git a/catalog-be-plugins/etsi-nfv-nsd-csar-plugin/pom.xml b/catalog-be-plugins/etsi-nfv-nsd-csar-plugin/pom.xml
index e7b5760..4acad58 100644
--- a/catalog-be-plugins/etsi-nfv-nsd-csar-plugin/pom.xml
+++ b/catalog-be-plugins/etsi-nfv-nsd-csar-plugin/pom.xml
@@ -19,118 +19,46 @@
   -->
 
 <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/xsd/maven-4.0.0.xsd">
-  <parent>
-    <artifactId>catalog-be-plugins</artifactId>
-    <groupId>org.openecomp.sdc</groupId>
-    <version>1.7.1-SNAPSHOT</version>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>catalog-be-plugins</artifactId>
+        <groupId>org.openecomp.sdc</groupId>
+        <version>1.7.1-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
 
-  <artifactId>etsi-nfv-nsd-csar-plugin</artifactId>
+    <artifactId>etsi-nfv-nsd-csar-plugin</artifactId>
 
-  <properties>
-    <hamcrest.version>2.2</hamcrest.version>
-  </properties>
+    <properties>
+        <hamcrest.version>2.2</hamcrest.version>
+    </properties>
 
-  <dependencies>
-    <!--catalog-be dependencies-->
-    <dependency>
-      <groupId>org.openecomp.sdc</groupId>
-      <artifactId>catalog-be</artifactId>
-      <version>${project.version}</version>
-      <classifier>classes</classifier>
-    </dependency>
+    <dependencies>
+        <!--catalog-be dependencies-->
+        <dependency>
+            <groupId>org.openecomp.sdc</groupId>
+            <artifactId>catalog-be</artifactId>
+            <version>${project.version}</version>
+            <classifier>classes</classifier>
+        </dependency>
 
-    <!--test dependencies-->
-    <dependency>
-      <groupId>org.hamcrest</groupId>
-      <artifactId>hamcrest</artifactId>
-      <version>${hamcrest.version}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.hamcrest</groupId>
-      <artifactId>hamcrest-library</artifactId>
-      <version>${hamcrest.version}</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
+        <!--test dependencies-->
+        <dependency>
+            <groupId>org.hamcrest</groupId>
+            <artifactId>hamcrest</artifactId>
+            <version>${hamcrest.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.hamcrest</groupId>
+            <artifactId>hamcrest-library</artifactId>
+            <version>${hamcrest.version}</version>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
 
-  <profiles>
-    <profile>
-      <id>docker-staging</id>
-      <properties>
-        <docker.tag>${project.version}-STAGING-${maven.build.timestamp}</docker.tag>
-        <docker.latest.tag>${project.version}-STAGING-latest</docker.latest.tag>
-      </properties>
-    </profile>
-    <profile>
-      <id>docker</id>
-      <activation>
-        <activeByDefault>false</activeByDefault>
-      </activation>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>io.fabric8</groupId>
-            <artifactId>docker-maven-plugin</artifactId>
-            <configuration>
-              <apiVersion>1.23</apiVersion>
-              <registry>nexus3.onap.org:10001</registry>
-              <authConfig>
-                <pull>
-                  <username>docker</username>
-                  <password>docker</password>
-                </pull>
-              </authConfig>
-              <images>
-                <image>
-                  <name>onap/sdc-catalog-be-plugin/etsi-nfv-nsd-csar</name>
-                  <alias>catalog-be-plugin-etsi-nfv-nsd-csar</alias>
-                  <build>
-                    <cleanup>try</cleanup>
-                    <from>alpine:3.8</from>
-                    <assembly>
-                      <descriptorRef>artifact</descriptorRef>
-                      <targetDir>/plugins</targetDir>
-                    </assembly>
-                    <tags>
-                      <tag>${parsedVersion.majorVersion}.${parsedVersion.minorVersion}-STAGING-latest</tag>
-                      <tag>${project.version}-${maven.build.timestamp}</tag>
-                    </tags>
-                  </build>
-                </image>
-              </images>
-            </configuration>
-            <executions>
-              <execution>
-                <id>clean-images</id>
-                <phase>pre-clean</phase>
-                <goals>
-                  <goal>remove</goal>
-                </goals>
-              </execution>
-              <execution>
-                <id>generate-images</id>
-                <phase>package</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>
-
+    <build>
+        <finalName>etsi-nfv-nsd-csar-plugin</finalName>
+    </build>
 </project>
\ No newline at end of file
diff --git a/catalog-be-plugins/pom.xml b/catalog-be-plugins/pom.xml
index 0d17de1..8f51865 100644
--- a/catalog-be-plugins/pom.xml
+++ b/catalog-be-plugins/pom.xml
@@ -19,19 +19,19 @@
   -->
 
 <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/xsd/maven-4.0.0.xsd">
-  <parent>
-    <artifactId>sdc-main</artifactId>
-    <groupId>org.openecomp.sdc</groupId>
-    <version>1.7.1-SNAPSHOT</version>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-  <artifactId>catalog-be-plugins</artifactId>
-  <packaging>pom</packaging>
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>sdc-main</artifactId>
+        <groupId>org.openecomp.sdc</groupId>
+        <version>1.7.1-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>catalog-be-plugins</artifactId>
+    <packaging>pom</packaging>
 
-  <modules>
-    <module>etsi-nfv-nsd-csar-plugin</module>
-  </modules>
-
+    <modules>
+        <module>etsi-nfv-nsd-csar-plugin</module>
+        <module>backend-all-plugins</module>
+    </modules>
 </project>
\ No newline at end of file