Sync latest changes for vagrant-onap

Given some internal procedures was not possible to submit all the
changes.  In the meantime, those changes were placed into an
non-official project. This change syncronizes the latest changes
into the official repository.

Issue-id: INT-17

Change-Id: Ia4125f4b70273401e4ed3cc1908d2e2ad7d1c2e9
Signed-off-by: Victor Morales <victor.morales@intel.com>
diff --git a/bootstrap/vagrant-onap/lib/_composed_functions b/bootstrap/vagrant-onap/lib/_composed_functions
new file mode 100755
index 0000000..f464997
--- /dev/null
+++ b/bootstrap/vagrant-onap/lib/_composed_functions
@@ -0,0 +1,46 @@
+#!/bin/bash
+
+# compile_src() - Function that compiles the java source code thru maven
+function compile_src {
+    local src_folder=$1
+    pushd $src_folder
+    if [ -f pom.xml ]; then
+        install_maven
+        mvn clean install -U -DskipTests=true -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -Dadditionalparam=-Xdoclint:none
+    fi
+    popd
+}
+
+# build_docker_image() - Build Docker container image from source code
+function build_docker_image {
+    local src_folder=$1
+    local profile=$2
+    install_maven
+    install_docker
+    pushd $src_folder
+
+    # Cleanup external repo
+    sed -i 's|${docker.push.registry}/||g' pom.xml
+    local mvn_docker="mvn clean package docker:build"
+    if [ $profile ]; then
+        mvn_docker+=" -P $profile"
+    fi
+    if [ $http_proxy ]; then
+        if ! grep -ql "docker.buildArg.http_proxy" pom.xml ; then
+            mvn_docker+=" -Ddocker.buildArg.http_proxy=$http_proxy"
+        fi
+        if ! grep -ql "docker.buildArg.HTTP_PROXY" pom.xml ; then
+            mvn_docker+=" -Ddocker.buildArg.HTTP_PROXY=$http_proxy"
+        fi
+    fi
+    if [ $https_proxy ]; then
+        if ! grep -ql "docker.buildArg.https_proxy" pom.xml ; then
+            mvn_docker+=" -Ddocker.buildArg.https_proxy=$https_proxy"
+        fi
+        if ! grep -ql "docker.buildArg.HTTPS_PROXY" pom.xml ; then
+            mvn_docker+=" -Ddocker.buildArg.HTTPS_PROXY=$https_proxy"
+        fi
+    fi
+    eval $mvn_docker
+    popd
+}