Add bootstrap

Issue-Id: DCAEGEN2-75
Change-Id: I0158762c1c3e29612381734a608fa821e903e92e
Signed-off-by: Lusheng Ji <lji@research.att.com>
diff --git a/pom.xml b/pom.xml
index b4176f5..b489580 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,15 +29,23 @@
   <!--- CHANGE THE FOLLOWING 3 OBJECTS for your own repo -->
   <groupId>org.onap.dcaegen2</groupId>
   <artifactId>deployments</artifactId>
-  <name>dcaegen2-deployments</name>
+  <name>deployments</name>
 
   <version>1.0.0-SNAPSHOT</version>
   <url>http://maven.apache.org</url>
+  <packaging>pom</packaging>
+
+  <modules>
+     <module>bootstrap</module>
+     <module>scripts</module>
+  </modules>
+
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <sonar.skip>true</sonar.skip>
     <sonar.sources>.</sonar.sources>
     <!-- customize the SONARQUBE URL -->
-    <sonar.host.url>http://localhost:9000</sonar.host.url>
+    <!-- sonar.host.url>http://localhost:9000</sonar.host.url -->
     <!-- below are language dependent -->
     <!-- for Python -->
     <sonar.language>py</sonar.language>
@@ -50,237 +58,102 @@
     <sonar.inclusions>**/*.js</sonar.inclusions>
     -->
   </properties>
-
   <build>
     <finalName>${project.artifactId}-${project.version}</finalName>
     <pluginManagement>
       <plugins>
-        <plugin>
-          <groupId>org.codehaus.mojo</groupId>
-          <artifactId>sonar-maven-plugin</artifactId>
-          <version>2.7.1</version>
-        </plugin>
-
-        <!-- nexus-staging-maven-plugin is called during deploy phase by default behavior.
-         we do not need it -->
+        <!-- the following plugins are invoked from oparent, we do not need them -->
         <plugin>
           <groupId>org.sonatype.plugins</groupId>
           <artifactId>nexus-staging-maven-plugin</artifactId>
           <version>1.6.7</version>
           <configuration>
             <skipNexusStagingDeployMojo>true</skipNexusStagingDeployMojo>
+            <skip>true</skip>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-deploy-plugin</artifactId>
+          <!-- This version supports the "deployAtEnd" parameter -->
+          <version>2.8</version>
+          <configuration>
+            <skip>true</skip>
+          </configuration>
+        </plugin>
+        <!-- first disable the default Java plugins at various stages -->
+        <!-- maven-resources-plugin is called during "*resource" phases by default behavior.  it prepares 
+         the resources dir.  we do not need it -->
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-resources-plugin</artifactId>
+          <version>2.6</version>
+          <configuration>
+            <skip>true</skip>
+          </configuration>
+        </plugin>
+        <!-- maven-compiler-plugin is called during "compile" phases by default behavior.  we do not need it -->
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-compiler-plugin</artifactId>
+          <version>3.1</version>
+          <configuration>
+            <skip>true</skip>
+          </configuration>
+        </plugin>
+        <!-- maven-jar-plugin is called during "compile" phase by default behavior.  we do not need it -->
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-jar-plugin</artifactId>
+          <version>2.4</version>
+          <executions>
+            <execution>
+              <id>default-jar</id>
+              <phase/>
+            </execution>
+          </executions>
+        </plugin>
+        <!-- maven-install-plugin is called during "install" phase by default behavior.  it tries to copy stuff under 
+         target dir to ~/.m2.  we do not need it -->
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-install-plugin</artifactId>
+          <version>2.4</version>
+          <configuration>
+            <skip>true</skip>
+          </configuration>
+        </plugin>
+        <!-- maven-surefire-plugin is called during "test" phase by default behavior.  it triggers junit test.
+         we do not need it -->
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <version>2.12.4</version>
+          <configuration>
+            <skipTests>true</skipTests>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.codehaus.mojo</groupId>
+          <artifactId>exec-maven-plugin</artifactId>
+          <version>1.2.1</version>
+          <configuration>
+            <executable>${session.executionRootDirectory}/mvn-phase-script.sh</executable>
+            <environmentVariables>
+              <!-- make mvn properties as env for our script -->
+              <MVN_PROJECT_GROUPID>${project.parent.groupId}</MVN_PROJECT_GROUPID>
+              <MVN_PROJECT_ARTIFACTID>${project.parent.artifactId}</MVN_PROJECT_ARTIFACTID>
+              <MVN_PROJECT_VERSION>${project.parent.version}</MVN_PROJECT_VERSION>
+              <MVN_NEXUSPROXY>${onap.nexus.url}</MVN_NEXUSPROXY>
+              <MVN_RAWREPO_BASEURL_UPLOAD>${onap.nexus.rawrepo.baseurl.upload}</MVN_RAWREPO_BASEURL_UPLOAD>
+              <MVN_RAWREPO_BASEURL_DOWNLOAD>${onap.nexus.rawrepo.baseurl.download}</MVN_RAWREPO_BASEURL_DOWNLOAD>
+              <MVN_RAWREPO_SERVERID>${onap.nexus.rawrepo.serverid}</MVN_RAWREPO_SERVERID>
+              <MVN_DOCKERREGISTRY_DAILY>${onap.nexus.dockerregistry.daily}</MVN_DOCKERREGISTRY_DAILY>
+              <MVN_DOCKERREGISTRY_RELEASE>${onap.nexus.dockerregistry.release}</MVN_DOCKERREGISTRY_RELEASE>
+            </environmentVariables>
           </configuration>
         </plugin>
       </plugins>
     </pluginManagement>
-
-    <plugins>
-
-      <!-- first disable the default Java plugins at various stages -->
-      <!-- maven-resources-plugin is called during "*resource" phases by default behavior.  it prepares the resources
-       dir.  we do not need it -->
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-resources-plugin</artifactId>
-        <version>2.6</version>
-        <configuration>
-          <skip>true</skip>
-        </configuration>
-      </plugin>
-
-      <!-- maven-compiler-plugin is called during "compile" phases by default behavior.  we do not need it -->
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <version>3.1</version>
-        <configuration>
-          <skip>true</skip>
-        </configuration>
-      </plugin>
-
-      <!-- maven-jar-plugin is called during "compile" phase by default behavior.  we do not need it -->
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jar-plugin</artifactId>
-        <version>2.4</version>
-        <executions>
-          <execution>
-            <id>default-jar</id>
-            <phase/>
-          </execution>
-        </executions>
-      </plugin>
-
-      <!-- maven-install-plugin is called during "install" phase by default behavior.  it tries to copy stuff under
-       target dir to ~/.m2.  we do not need it -->
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-install-plugin</artifactId>
-        <version>2.4</version>
-        <configuration>
-          <skip>true</skip>
-        </configuration>
-      </plugin>
-
-      <!-- maven-surefire-plugin is called during "test" phase by default behavior.  it triggers junit test.
-       we do not need it -->
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <version>2.12.4</version>
-        <configuration>
-          <skipTests>true</skipTests>
-        </configuration>
-      </plugin>
-
-      <!-- now we configure custom action (calling a script) at various lifecycle phases -->
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>exec-maven-plugin</artifactId>
-        <version>1.2.1</version>
-        <executions>
-          <execution>
-            <id>clean phase script</id>
-            <phase>clean</phase>
-            <goals><goal>exec</goal></goals>
-            <configuration>
-              <executable>${session.executionRootDirectory}/mvn-phase-script.sh</executable>
-              <arguments>
-                <argument>${project.artifactId}</argument>
-                <argument>clean</argument>
-              </arguments>
-              <environmentVariables>
-                <!-- make mvn properties as env for our script -->
-                <MVN_PROJECT_GROUPID>${project.groupId}</MVN_PROJECT_GROUPID>
-                <MVN_PROJECT_ARTIFACTID>${project.artifactId}</MVN_PROJECT_ARTIFACTID>
-                <MVN_PROJECT_VERSION>${project.version}</MVN_PROJECT_VERSION>
-                <MVN_NEXUSPROXY>${onap.nexus.url}</MVN_NEXUSPROXY>
-              </environmentVariables>
-            </configuration>
-          </execution>
-
-          <execution>
-            <id>generate-sources script</id>
-            <phase>generate-sources</phase>
-            <goals><goal>exec</goal></goals>
-            <configuration>
-              <executable>mvn-phase-script.sh</executable>
-              <arguments>
-                <argument>${project.artifactId}</argument>
-                <argument>generate-sources</argument>
-              </arguments>
-              <environmentVariables>
-                <!-- make mvn properties as env for our script -->
-                <MVN_PROJECT_GROUPID>${project.groupId}</MVN_PROJECT_GROUPID>
-                <MVN_PROJECT_ARTIFACTID>${project.artifactId}</MVN_PROJECT_ARTIFACTID>
-                <MVN_PROJECT_VERSION>${project.version}</MVN_PROJECT_VERSION>
-                <MVN_NEXUSPROXY>${onap.nexus.url}</MVN_NEXUSPROXY>
-              </environmentVariables>
-            </configuration>
-          </execution>
-
-          <execution>
-            <id>compile script</id>
-            <phase>compile</phase>
-            <goals><goal>exec</goal></goals>
-            <configuration>
-              <executable>mvn-phase-script.sh</executable>
-              <arguments>
-                <argument>${project.artifactId}</argument>
-                <argument>compile</argument>
-              </arguments>
-              <environmentVariables>
-                <!-- make mvn properties as env for our script -->
-                <MVN_PROJECT_GROUPID>${project.groupId}</MVN_PROJECT_GROUPID>
-                <MVN_PROJECT_ARTIFACTID>${project.artifactId}</MVN_PROJECT_ARTIFACTID>
-                <MVN_PROJECT_VERSION>${project.version}</MVN_PROJECT_VERSION>
-                <MVN_NEXUSPROXY>${onap.nexus.url}</MVN_NEXUSPROXY>
-              </environmentVariables>
-            </configuration>
-          </execution>
-
-          <execution>
-            <id>package script</id>
-            <phase>package</phase>
-            <goals><goal>exec</goal></goals>
-            <configuration>
-              <executable>mvn-phase-script.sh</executable>
-              <arguments>
-                <argument>${project.artifactId}</argument>
-                <argument>package</argument>
-              </arguments>
-              <environmentVariables>
-                <!-- make mvn properties as env for our script -->
-                <MVN_PROJECT_GROUPID>${project.groupId}</MVN_PROJECT_GROUPID>
-                <MVN_PROJECT_ARTIFACTID>${project.artifactId}</MVN_PROJECT_ARTIFACTID>
-                <MVN_PROJECT_VERSION>${project.version}</MVN_PROJECT_VERSION>
-                <MVN_NEXUSPROXY>${onap.nexus.url}</MVN_NEXUSPROXY>
-              </environmentVariables>
-            </configuration>
-          </execution>
-
-          <execution>
-            <id>test script</id>
-            <phase>test</phase>
-            <goals><goal>exec</goal></goals>
-            <configuration>
-              <executable>mvn-phase-script.sh</executable>
-              <arguments>
-                <argument>${project.artifactId}</argument>
-                <argument>test</argument>
-              </arguments>
-              <environmentVariables>
-                <!-- make mvn properties as env for our script -->
-                <MVN_PROJECT_GROUPID>${project.groupId}</MVN_PROJECT_GROUPID>
-                <MVN_PROJECT_ARTIFACTID>${project.artifactId}</MVN_PROJECT_ARTIFACTID>
-                <MVN_PROJECT_VERSION>${project.version}</MVN_PROJECT_VERSION>
-                <MVN_NEXUSPROXY>${onap.nexus.url}</MVN_NEXUSPROXY>
-              </environmentVariables>
-            </configuration>
-          </execution>
-
-          <execution>
-            <id>install script</id>
-            <phase>install</phase>
-            <goals><goal>exec</goal></goals>
-            <configuration>
-              <executable>mvn-phase-script.sh</executable>
-              <arguments>
-                <argument>${project.artifactId}</argument>
-                <argument>install</argument>
-              </arguments>
-              <environmentVariables>
-                <!-- make mvn properties as env for our script -->
-                <MVN_PROJECT_GROUPID>${project.groupId}</MVN_PROJECT_GROUPID>
-                <MVN_PROJECT_ARTIFACTID>${project.artifactId}</MVN_PROJECT_ARTIFACTID>
-                <MVN_PROJECT_VERSION>${project.version}</MVN_PROJECT_VERSION>
-                <MVN_NEXUSPROXY>${onap.nexus.url}</MVN_NEXUSPROXY>
-              </environmentVariables>
-            </configuration>
-          </execution>
-
-          <execution>
-            <id>deploy script</id>
-            <phase>deploy</phase>
-            <goals><goal>exec</goal></goals>
-            <configuration>
-              <executable>mvn-phase-script.sh</executable>
-              <arguments>
-                <argument>${project.artifactId}</argument>
-                <argument>deploy</argument>
-              </arguments>
-              <environmentVariables>
-                <!-- make mvn properties as env for our script -->
-                <MVN_PROJECT_GROUPID>${project.groupId}</MVN_PROJECT_GROUPID>
-                <MVN_PROJECT_ARTIFACTID>${project.artifactId}</MVN_PROJECT_ARTIFACTID>
-                <MVN_PROJECT_VERSION>${project.version}</MVN_PROJECT_VERSION>
-                <MVN_NEXUSPROXY>${onap.nexus.url}</MVN_NEXUSPROXY>
-                <MVN_SERVER_ID>${project.distributionManagement.snapshotRepository.id}</MVN_SERVER_ID>
-              </environmentVariables>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
   </build>
 </project>