diff --git a/SingularityService/pom.xml b/SingularityService/pom.xml
index 7a6a0fb50e..9a5634e535 100644
--- a/SingularityService/pom.xml
+++ b/SingularityService/pom.xml
@@ -539,9 +539,18 @@
npm
-
- install
-
+
+
+ bower install
+
+ bower
+
+
+
+ gulp build
+
+ gulp
+
diff --git a/SingularityUI/gulpfile.js b/SingularityUI/gulpfile.js
new file mode 100644
index 0000000000..29fe0713d6
--- /dev/null
+++ b/SingularityUI/gulpfile.js
@@ -0,0 +1,39 @@
+var gulp = require('gulp');
+var path = require('path');
+var del = require('del');
+var child_process = require('child_process');
+
+var dest = path.resolve(__dirname, '../SingularityService/target/generated-resources/assets');
+
+gulp.task("clean", function() {
+ return del([
+ path.resolve(dest, 'static/**'),
+ path.resolve(dest, 'index.html')], {force: true});
+});
+
+gulp.task("build", function(cb) {
+ var brunch = child_process.execFile('node_modules/brunch/bin/brunch', ['build', '--production']);
+
+ var hasStderrOutput = false;
+
+ brunch.stdout.pipe(process.stdout);
+ brunch.stderr.pipe(process.stderr);
+
+ brunch.stderr.on('data', function () {
+ hasStderrOutput = true;
+ });
+
+ brunch.on('error', cb);
+
+ brunch.on('exit', function (code) {
+ if (hasStderrOutput) {
+ cb(new Error("Brunch build failed"));
+ } else if (code != 0) {
+ cb(new Error("Brunch exited with code " + code));
+ } else {
+ cb();
+ }
+ });
+});
+
+gulp.task("default", ["clean", "build"]);
diff --git a/SingularityUI/package.json b/SingularityUI/package.json
index 0b5060b32e..b17a820351 100644
--- a/SingularityUI/package.json
+++ b/SingularityUI/package.json
@@ -16,8 +16,7 @@
"brunch": "./node_modules/brunch/bin/brunch"
},
"scripts": {
- "start": "brunch watch --server",
- "postinstall": "bower install --allow-root && brunch build --production"
+ "start": "brunch watch --server"
},
"dependencies": {
"bower": "^1.7.6",
@@ -32,5 +31,10 @@
"react-coffee-brunch": "^1.7.2",
"stylus-brunch": "^2.0.0",
"uglify-js-brunch": "^2.0.0"
+ },
+ "license": "Apache 2.0",
+ "devDependencies": {
+ "del": "^2.2.0",
+ "gulp": "^3.9.1"
}
}