[CORD-2188] Multi-stage build for vtr gui extension

Change-Id: Ie63ae19168f44eeaf84f454e1677160bb9d164b1
(cherry picked from commit 7c80bf174b9cacb57760ef7274ec5723cf56fdee)
diff --git a/xos/gui/Dockerfile b/xos/gui/Dockerfile
index a70a50c..4b5ec97 100644
--- a/xos/gui/Dockerfile
+++ b/xos/gui/Dockerfile
@@ -1,29 +1,33 @@
-# xosproject/xos-gui-extension-vtr
-FROM xosproject/xos-gui-extension-builder:candidate
+# xosproject/gui-extension-vtr-base
+FROM xosproject/xos-gui-builder:candidate as xos-vtr-base
 
-# Set environment vars
 ENV CODE_SOURCE .
 ENV CODE_DEST /var/www
 ENV VHOST /var/www/dist
 
-# Add the app deps
 COPY ${CODE_SOURCE}/package.json ${CODE_DEST}/package.json
 COPY ${CODE_SOURCE}/typings.json ${CODE_DEST}/typings.json
 
-# Install Deps
 WORKDIR ${CODE_DEST}
 RUN npm install
 RUN npm run typings
 
-# Build the app
 COPY ${CODE_SOURCE}/conf ${CODE_DEST}/conf
 COPY ${CODE_SOURCE}/gulp_tasks ${CODE_DEST}/gulp_tasks
 COPY ${CODE_SOURCE}/src ${CODE_DEST}/src
 COPY ${CODE_SOURCE}/gulpfile.js ${CODE_DEST}/gulpfile.js
 COPY ${CODE_SOURCE}/tsconfig.json ${CODE_DEST}/tsconfig.json
 COPY ${CODE_SOURCE}/tslint.json ${CODE_DEST}/tslint.json
+RUN npm run build
 
-# Label image
+# xosproject/gui-extension-vtr
+FROM alpine:latest
+
+ENV VHOST /var/www/dist
+WORKDIR ${VHOST}
+
+COPY --from=xos-vtr-base ${VHOST} /tmp
+
 ARG org_label_schema_schema_version=1.0
 ARG org_label_schema_name=xos-gui-extension-vtr
 ARG org_label_schema_version=unknown
@@ -31,9 +35,9 @@
 ARG org_label_schema_vcs_ref=unknown
 ARG org_label_schema_build_date=unknown
 ARG org_opencord_vcs_commit_date=unknown
-ARG org_opencord_component_xos_gui_version=unknown
-ARG org_opencord_component_xos_gui_vcs_url=unknown
 ARG org_opencord_component_xos_gui_vcs_ref=unknown
+ARG org_opencord_component_xos_gui_vcs_url=unknown
+ARG org_opencord_component_xos_gui_version=unknown
 
 LABEL org.label-schema.schema-version=$org_label_schema_schema_version \
       org.label-schema.name=$org_label_schema_name \
@@ -42,8 +46,6 @@
       org.label-schema.vcs-ref=$org_label_schema_vcs_ref \
       org.label-schema.build-date=$org_label_schema_build_date \
       org.opencord.vcs-commit-date=$org_opencord_vcs_commit_date \
-      org.opencord.component.xos-gui.version=$org_opencord_component_xos_gui_version \
+      org.opencord.component.xos-gui.vcs-ref=$org_opencord_component_xos_gui_vcs_ref \
       org.opencord.component.xos-gui.vcs-url=$org_opencord_component_xos_gui_vcs_url \
-      org.opencord.component.xos-gui.vcs-ref=$org_opencord_component_xos_gui_vcs_ref
-
-RUN npm run build
+      org.opencord.component.xos-gui.version=$org_opencord_component_xos_gui_version
diff --git a/xos/gui/conf/gulp.conf.js b/xos/gui/conf/gulp.conf.js
index b160ced..ee29c80 100755
--- a/xos/gui/conf/gulp.conf.js
+++ b/xos/gui/conf/gulp.conf.js
@@ -36,7 +36,7 @@
  */
 exports.paths = {
   src: 'src',
-  dist: 'dist/extensions/vtr', // NOTE that 'sample' have to match the extension name provided in platform install
+  dist: 'dist',
   appConfig: 'conf/app',
   tmp: '.tmp',
   e2e: 'e2e',