Преглед изворни кода

MPIDE-29: build with gulp instead of shell

Gulp is now running all the build steps, as opposed to shell scripts.
Initial setup, no minification yet.
Austin Meagher пре 10 година
родитељ
комит
0e316d40c8
2 измењених фајлова са 37 додато и 20 уклоњено
  1. 27 17
      gulpfile.js
  2. 10 3
      package.json

+ 27 - 17
gulpfile.js

@@ -5,10 +5,12 @@ var gulp = require("gulp"),
 	plumber = require("gulp-plumber"),
 	plumber = require("gulp-plumber"),
 	bower = require("gulp-bower"),
 	bower = require("gulp-bower"),
 	peg = require("gulp-peg"),
 	peg = require("gulp-peg"),
+	deploy = require("gulp-gh-pages"),
+	babel = require("gulp-babel"),
+	rename = require("gulp-rename"),
 /*
 /*
+	minifyCss = require("gulp-minify-css"),
 	concat = require("gulp-concat"),
 	concat = require("gulp-concat"),
-	babel = require("gulp-babel"),
-	cssmin = require("gulp-cssmin"),
 */
 */
 	errLogger = gutil.log.bind(gutil, gutil.colors.red("Error: ")),
 	errLogger = gutil.log.bind(gutil, gutil.colors.red("Error: ")),
 	opts = {
 	opts = {
@@ -17,28 +19,36 @@ var gulp = require("gulp"),
 
 
 
 
 gulp
 gulp
-
 .task("bower", function() {
 .task("bower", function() {
 	return bower();
 	return bower();
-	//.pipe(gulp.dest("bowered"));
+	// .pipe(plumber(errLogger))
 })
 })
 
 
-
 .task("parser", function() {
 .task("parser", function() {
 	return gulp.src("src/lib/parser/modellang.pegjs")
 	return gulp.src("src/lib/parser/modellang.pegjs")
-		.pipe(plumber(errLogger))
-		.pipe(peg({
-			exportVar: "modellangParser",
-		}))
-		.pipe(gulp.dest(opts.buildDir + "/lib/parser"));
+	.pipe(plumber(errLogger))
+	.pipe(peg({
+		exportVar: "modellangParser"
+	}))
+	.pipe(babel())
+	// .pipe(gulp.dest(opts.buildDir + "/lib/parser"))
+	.pipe(rename("modellang-parser.js"))
+	.pipe(gulp.dest(opts.buildDir + "/web/assets/scripts"));
 })
 })
 
 
-
-.task("default", ["bower", "parser"], function() {
-	return gulp.src([
-		"src/web/assets/*.js",
-	])
+.task("generator", function() {
+	return gulp.src("src/lib/generator/modellang.es6")
 	.pipe(plumber(errLogger))
 	.pipe(plumber(errLogger))
-	.pipe(gulp.dest(opts.buildDir + "/web/assets"));
+	.pipe(babel())
+	// .pipe(gulp.dest(opts.buildDir + "/lib/generator"))
+	.pipe(rename("modellang-gen.js"))
+	.pipe(gulp.dest(opts.buildDir + "/web/assets/scripts"));
+})
 
 
-});
+.task("default", ["bower", "parser", "generator"], function() {
+	return gulp.src("src/web/**/*")
+	.pipe(plumber(errLogger))
+	.pipe(gulp.dest(opts.buildDir + "/web"))
+	.pipe(deploy());
+})
+;

+ 10 - 3
package.json

@@ -9,11 +9,18 @@
     "babel-eslint": "^3.1.7",
     "babel-eslint": "^3.1.7",
     "bower": "^1.4.1",
     "bower": "^1.4.1",
     "eslint": "^0.21.2",
     "eslint": "^0.21.2",
-    "pegjs": "0.8.0"
+    "pegjs": "0.8.0",
+    "gulp-util": "^3.0.5",
+    "gulp-plumber": "^1.0.1",
+    "gulp-bower": "^0.0.10",
+    "gulp-peg": "^0.1.2",
+    "gulp-gh-pages": "^0.5.2",
+    "gulp-babel": "^5.1.0",
+    "gulp-rename": "^1.2.2"
   },
   },
   "scripts": {
   "scripts": {
-    "postinstall": "./postinstall.sh",
-    "start": "cp ./build/lib/parser/modellang.js ./src/web/assets/scripts; http-server src/web/ -p 8000 -c-1",
+    "postinstall": "gulp parser generator",
+    "start": "gulp; http-server build/web/ -p 8000 -c-1",
     "test": "karma start karma.conf.js",
     "test": "karma start karma.conf.js",
     "test-single-run": "karma start karma.conf.js --single-run",
     "test-single-run": "karma start karma.conf.js --single-run",
     "preupdate-webdriver": "npm install",
     "preupdate-webdriver": "npm install",