Przeglądaj źródła

Cleanup Directory

sebastien 6 lat temu
rodzic
commit
e6380c96a8

+ 15 - 10
Tools/Gulp/gulpfile.js

@@ -26,6 +26,7 @@ var addModuleExports = require("./helpers/gulp-addModuleExports");
 var addES6Exports = require("./helpers/gulp-addES6Exports");
 var uncommentShader = require("./helpers/gulp-removeShaderComments");
 var processDeclaration = require('./helpers/gulp-processTypescriptDeclaration');
+var rmDir = require("./helpers/gulp-rmDir");
 
 // Import Gulp Tasks
 require("./tasks/gulpTasks-tsLint");
@@ -380,23 +381,21 @@ var buildExternalLibrary = function(library, settings) {
             wpConfig = require(library.webpack);
         }
 
-        let wpBuild = webpackStream(wpConfig, webpack);
-
-        let buildEvent = wpBuild.pipe(gulp.dest(outputDirectory));
-        sequence.push(buildEvent);
+        let wpBuildMin = webpackStream(wpConfig, webpack);
+        let buildEventMin = wpBuildMin.pipe(gulp.dest(outputDirectory));
+        sequence.push(buildEventMin);
 
         // Generate unminified
         wpConfig.mode = "development";
         wpConfig.output.filename = wpConfig.output.filename.replace(".min", "");
 
-        wpBuild = webpackStream(wpConfig, webpack);
-
-        let buildEvent2 = wpBuild.pipe(gulp.dest(outputDirectory));
-        sequence.push(buildEvent2);
+        let wpBuildMax = webpackStream(wpConfig, webpack);
+        let buildEventMax = wpBuildMax.pipe(gulp.dest(outputDirectory));
+        sequence.push(buildEventMax);
 
         if (library.isMain) {
             if (settings.build.dtsBundle || settings.build.processDeclaration) {
-                buildEvent.on("end", function() {
+                buildEventMin.on("end", function() {
                     if (settings.build.dtsBundle) {
                         dtsBundle.bundle(settings.build.dtsBundle);
                     }
@@ -442,7 +441,13 @@ function buildExternalLibraries(settings) {
  * Dynamic module creation.
  */
 config.modules.map(function(module) {
-    gulp.task(module, buildExternalLibraries(config[module]));
+    var settings = config[module];
+
+    // Clean up old build files.
+    rmDir(settings.build.dtsBundle.baseDir);
+
+    // Build the libraries.
+    gulp.task(module, buildExternalLibraries(settings));
 });
 
 /**

+ 26 - 0
Tools/Gulp/helpers/gulp-rmDir.js

@@ -0,0 +1,26 @@
+var path = require("path");
+var fs = require("fs");
+
+var rmDir = function(dirPath) {
+    let files = null;
+    try { 
+        files = fs.readdirSync(dirPath); 
+    }
+    catch (e) {
+        return; 
+    }
+    
+    if (files && files.length > 0) {
+        for (var i = 0; i < files.length; i++) {
+            var filePath = path.join(dirPath, files[i]);
+            if (fs.statSync(filePath).isFile())
+                fs.unlinkSync(filePath);
+            else
+                rmDir(filePath);
+        }
+    }
+
+    fs.rmdirSync(dirPath);
+}
+
+module.exports = rmDir;

+ 3 - 15
Tools/Gulp/tasks/gulpTasks-tests.js

@@ -7,26 +7,14 @@ var webpack = require('webpack');
 var webpackStream = require("webpack-stream");
 var rename = require("gulp-rename");
 
+// Import Helpers.
+var rmDir = require("../helpers/gulp-rmDir");
+
 // Read the full config.
 var config = require("../config.json");
 var relativeRootDir = "../../../";
 var rootDir = __dirname + "/" + relativeRootDir;
 
-// Helper functions
-var rmDir = function(dirPath) {
-    try { var files = fs.readdirSync(dirPath); }
-    catch (e) { return; }
-    if (files.length > 0)
-        for (var i = 0; i < files.length; i++) {
-            var filePath = dirPath + '/' + files[i];
-            if (fs.statSync(filePath).isFile())
-                fs.unlinkSync(filePath);
-            else
-                rmDir(filePath);
-        }
-    fs.rmdirSync(dirPath);
-};
-
 /**
  * Launches the KARMA validation tests in chrome in order to debug them.
  */