[CORD-2188] Updated build to accomodate multi-stage build
Change-Id: Iff6b926acd125b6a960d6c6b5996cbe4c55e3f90
diff --git a/Dockerfile b/Dockerfile
index bef96b7..7e9f8a0 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,31 +1,35 @@
-# xosproject/gui-extension-sample
-FROM xosproject/xos-gui-extension-builder:candidate
+# xosproject/gui-extension-sample-base
+FROM xosproject/xos-gui-builder:candidate as xos-sample-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-sample
+FROM alpine:latest
+
+ENV VHOST /var/www/dist
+WORKDIR ${VHOST}
+
+COPY --from=xos-sample-base ${VHOST} /tmp
+
ARG org_label_schema_schema_version=1.0
-ARG org_label_schema_name=xos-tosca
+ARG org_label_schema_name=xos-gui-extension-sample
ARG org_label_schema_version=unknown
ARG org_label_schema_vcs_url=unknown
ARG org_label_schema_vcs_ref=unknown
@@ -45,5 +49,3 @@
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.version=$org_opencord_component_xos_gui_version
-
-RUN npm run build
diff --git a/conf/gulp.conf.js b/conf/gulp.conf.js
index 1721c87..ee29c80 100755
--- a/conf/gulp.conf.js
+++ b/conf/gulp.conf.js
@@ -36,7 +36,7 @@
*/
exports.paths = {
src: 'src',
- dist: 'dist/extensions/sample', // NOTE that 'sample' have to match the extension name provided in platform install
+ dist: 'dist',
appConfig: 'conf/app',
tmp: '.tmp',
e2e: 'e2e',
diff --git a/conf/webpack-dist.conf.js b/conf/webpack-dist.conf.js
index c870043..5f924fb 100755
--- a/conf/webpack-dist.conf.js
+++ b/conf/webpack-dist.conf.js
@@ -105,7 +105,10 @@
'.web.js',
'.js',
'.ts'
- ]
+ ],
+ alias: {
+ "ngprogress": path.resolve(__dirname, '../node_modules/ngprogress/build/ngProgress.js')
+ }
},
entry: {
app: `./${conf.path.src('index')}`,
diff --git a/conf/webpack.conf.js b/conf/webpack.conf.js
index d70e771..f0dbc51 100755
--- a/conf/webpack.conf.js
+++ b/conf/webpack.conf.js
@@ -99,7 +99,10 @@
'.web.js',
'.js',
'.ts'
- ]
+ ],
+ alias: {
+ "ngprogress": path.resolve(__dirname, '../node_modules/ngprogress/build/ngProgress.js')
+ }
},
entry: `./${conf.path.src('index')}`,
ts: {