浏览代码

circular dependency task

sebavan 6 年之前
父节点
当前提交
72c9952287

文件差异内容过多而无法显示
+ 0 - 1
Tools/Config/core.json


+ 0 - 1
Tools/Config/loaders.json

@@ -1 +0,0 @@
-{"../../loaders/src/glTF/1.0/glTFLoader.ts":["../../loaders/src/glTF/1.0/glTFLoaderExtension.ts"],"../../loaders/src/glTF/1.0/glTFLoaderExtension.ts":["../../loaders/src/glTF/1.0/glTFLoader.ts"]}

+ 254 - 0
Tools/Config/tempCircularValidation/core.json

@@ -0,0 +1,254 @@
+{
+    "../../src/Actions/actionManager.ts": [
+        "../../src/Engines/engine.ts",
+        "../../src/Misc/tools.ts"
+    ],
+    "../../src/Animations/animatable.ts": [
+        "../../src/Animations/runtimeAnimation.ts"
+    ],
+    "../../src/Animations/animation.ts": [
+        "../../src/Materials/Textures/texture.ts",
+        "../../src/Misc/decorators.ts",
+        "../../src/node.ts"
+    ],
+    "../../src/Animations/runtimeAnimation.ts": [
+        "../../src/Animations/animation.ts"
+    ],
+    "../../src/Audio/audioSceneComponent.ts": [
+        "../../src/Audio/sound.ts"
+    ],
+    "../../src/Audio/sound.ts": [
+        "../../src/Audio/audioSceneComponent.ts"
+    ],
+    "../../src/Behaviors/Meshes/pointerDragBehavior.ts": [
+        "../../src/Gizmos/boundingBoxGizmo.ts"
+    ],
+    "../../src/Cameras/camera.ts": [
+        "../../src/Animations/animation.ts",
+        "../../src/Misc/decorators.ts",
+        "../../src/Misc/tools.ts",
+        "../../src/PostProcesses/anaglyphPostProcess.ts",
+        "../../src/PostProcesses/passPostProcess.ts",
+        "../../src/PostProcesses/stereoscopicInterlacePostProcess.ts",
+        "../../src/PostProcesses/vrDistortionCorrectionPostProcess.ts",
+        "../../src/node.ts"
+    ],
+    "../../src/Collisions/collisionCoordinator.ts": [
+        "../../src/Engines/engine.ts"
+    ],
+    "../../src/Culling/Octrees/octree.ts": [
+        "../../src/Culling/Octrees/octreeBlock.ts"
+    ],
+    "../../src/Culling/Octrees/octreeBlock.ts": [
+        "../../src/Culling/Octrees/octree.ts"
+    ],
+    "../../src/Culling/boundingInfo.ts": [
+        "../../src/Meshes/abstractMesh.ts"
+    ],
+    "../../src/Engines/engine.ts": [
+        "../../src/Materials/Textures/baseTexture.ts",
+        "../../src/Materials/Textures/internalTexture.ts",
+        "../../src/Materials/material.ts",
+        "../../src/Misc/performanceMonitor.ts",
+        "../../src/Misc/promise.ts",
+        "../../src/Misc/tools.ts",
+        "../../src/PostProcesses/passPostProcess.ts"
+    ],
+    "../../src/Gizmos/boundingBoxGizmo.ts": [
+        "../../src/Behaviors/Meshes/pointerDragBehavior.ts"
+    ],
+    "../../src/Layers/effectLayer.ts": [
+        "../../src/Layers/effectLayerSceneComponent.ts"
+    ],
+    "../../src/Layers/effectLayerSceneComponent.ts": [
+        "../../src/Layers/effectLayer.ts"
+    ],
+    "../../src/LensFlares/lensFlareSystem.ts": [
+        "../../src/LensFlares/lensFlareSystemSceneComponent.ts"
+    ],
+    "../../src/LensFlares/lensFlareSystemSceneComponent.ts": [
+        "../../src/LensFlares/lensFlareSystem.ts"
+    ],
+    "../../src/Lights/Shadows/shadowGenerator.ts": [
+        "../../src/Lights/Shadows/shadowGeneratorSceneComponent.ts"
+    ],
+    "../../src/Lights/Shadows/shadowGeneratorSceneComponent.ts": [
+        "../../src/Lights/Shadows/shadowGenerator.ts"
+    ],
+    "../../src/Lights/light.ts": [
+        "../../src/Animations/animation.ts",
+        "../../src/Misc/decorators.ts",
+        "../../src/node.ts"
+    ],
+    "../../src/Loading/sceneLoader.ts": [
+        "../../src/Engines/engine.ts",
+        "../../src/Misc/filesInput.ts",
+        "../../src/Misc/tools.ts",
+        "../../src/scene.ts"
+    ],
+    "../../src/Materials/Textures/baseTexture.ts": [
+        "../../src/Engines/engine.ts",
+        "../../src/Misc/decorators.ts",
+        "../../src/Misc/tools.ts"
+    ],
+    "../../src/Materials/Textures/internalTexture.ts": [
+        "../../src/Engines/engine.ts"
+    ],
+    "../../src/Materials/Textures/renderTargetTexture.ts": [
+        "../../src/Materials/Textures/texture.ts",
+        "../../src/Misc/tools.ts",
+        "../../src/PostProcesses/postProcessManager.ts"
+    ],
+    "../../src/Materials/Textures/texture.ts": [
+        "../../src/Materials/Textures/baseTexture.ts",
+        "../../src/Misc/decorators.ts",
+        "../../src/Misc/tools.ts"
+    ],
+    "../../src/Materials/colorCurves.ts": [
+        "../../src/Misc/decorators.ts"
+    ],
+    "../../src/Materials/imageProcessingConfiguration.ts": [
+        "../../src/Materials/colorCurves.ts",
+        "../../src/Misc/decorators.ts",
+        "../../src/Misc/tools.ts"
+    ],
+    "../../src/Materials/material.ts": [
+        "../../src/Engines/engine.ts",
+        "../../src/Meshes/subMesh.ts",
+        "../../src/Misc/decorators.ts",
+        "../../src/Misc/tools.ts"
+    ],
+    "../../src/Materials/materialHelper.ts": [
+        "../../src/Engines/engine.ts",
+        "../../src/Lights/light.ts",
+        "../../src/scene.ts"
+    ],
+    "../../src/Materials/pushMaterial.ts": [
+        "../../src/Materials/material.ts"
+    ],
+    "../../src/Materials/standardMaterial.ts": [
+        "../../src/Engines/engine.ts",
+        "../../src/Materials/Textures/texture.ts",
+        "../../src/Materials/imageProcessingConfiguration.ts",
+        "../../src/Materials/materialHelper.ts",
+        "../../src/Materials/pushMaterial.ts",
+        "../../src/Misc/decorators.ts",
+        "../../src/scene.ts"
+    ],
+    "../../src/Meshes/abstractMesh.ts": [
+        "../../src/Culling/boundingInfo.ts",
+        "../../src/Engines/engine.ts",
+        "../../src/Meshes/transformNode.ts",
+        "../../src/Misc/tools.ts"
+    ],
+    "../../src/Meshes/geometry.ts": [
+        "../../src/Meshes/mesh.ts"
+    ],
+    "../../src/Meshes/mesh.ts": [
+        "../../src/Meshes/geometry.ts"
+    ],
+    "../../src/Meshes/subMesh.ts": [
+        "../../src/Culling/boundingInfo.ts",
+        "../../src/Materials/material.ts",
+        "../../src/Misc/tools.ts"
+    ],
+    "../../src/Meshes/transformNode.ts": [
+        "../../src/Misc/decorators.ts",
+        "../../src/Misc/tags.ts",
+        "../../src/node.ts"
+    ],
+    "../../src/Misc/decorators.ts": [
+        "../../src/Misc/tags.ts"
+    ],
+    "../../src/Misc/filesInput.ts": [
+        "../../src/Loading/sceneLoader.ts",
+        "../../src/Misc/tools.ts"
+    ],
+    "../../src/Misc/performanceMonitor.ts": [
+        "../../src/Misc/tools.ts"
+    ],
+    "../../src/Misc/promise.ts": [
+        "../../src/Misc/tools.ts"
+    ],
+    "../../src/Misc/tags.ts": [
+        "../../src/Misc/tools.ts"
+    ],
+    "../../src/Misc/tools.ts": [
+        "../../src/Materials/Textures/renderTargetTexture.ts",
+        "../../src/Materials/Textures/texture.ts",
+        "../../src/Misc/filesInput.ts",
+        "../../src/PostProcesses/fxaaPostProcess.ts"
+    ],
+    "../../src/Particles/particleHelper.ts": [
+        "../../src/Particles/particleSystemSet.ts"
+    ],
+    "../../src/Particles/particleSystem.ts": [
+        "../../src/Particles/subEmitter.ts"
+    ],
+    "../../src/Particles/particleSystemSet.ts": [
+        "../../src/Particles/particleHelper.ts"
+    ],
+    "../../src/Particles/subEmitter.ts": [
+        "../../src/Particles/particleSystem.ts"
+    ],
+    "../../src/Physics/Plugins/cannonJSPlugin.ts": [
+        "../../src/Physics/physicsEngine.ts"
+    ],
+    "../../src/Physics/physicsEngine.ts": [
+        "../../src/Physics/Plugins/cannonJSPlugin.ts"
+    ],
+    "../../src/PostProcesses/anaglyphPostProcess.ts": [
+        "../../src/PostProcesses/postProcess.ts"
+    ],
+    "../../src/PostProcesses/fxaaPostProcess.ts": [
+        "../../src/Materials/Textures/texture.ts",
+        "../../src/PostProcesses/postProcess.ts"
+    ],
+    "../../src/PostProcesses/passPostProcess.ts": [
+        "../../src/PostProcesses/postProcess.ts"
+    ],
+    "../../src/PostProcesses/postProcess.ts": [
+        "../../src/Misc/tools.ts"
+    ],
+    "../../src/PostProcesses/postProcessManager.ts": [
+        "../../src/Materials/material.ts"
+    ],
+    "../../src/PostProcesses/stereoscopicInterlacePostProcess.ts": [
+        "../../src/PostProcesses/postProcess.ts"
+    ],
+    "../../src/PostProcesses/vrDistortionCorrectionPostProcess.ts": [
+        "../../src/Materials/Textures/texture.ts",
+        "../../src/PostProcesses/postProcess.ts"
+    ],
+    "../../src/Rendering/depthRenderer.ts": [
+        "../../src/Rendering/depthRendererSceneComponent.ts"
+    ],
+    "../../src/Rendering/depthRendererSceneComponent.ts": [
+        "../../src/Rendering/depthRenderer.ts"
+    ],
+    "../../src/Rendering/geometryBufferRenderer.ts": [
+        "../../src/Rendering/geometryBufferRendererSceneComponent.ts"
+    ],
+    "../../src/Rendering/geometryBufferRendererSceneComponent.ts": [
+        "../../src/Rendering/geometryBufferRenderer.ts"
+    ],
+    "../../src/node.ts": [
+        "../../src/Engines/engine.ts",
+        "../../src/Misc/decorators.ts"
+    ],
+    "../../src/scene.ts": [
+        "../../src/Actions/actionManager.ts",
+        "../../src/Animations/animatable.ts",
+        "../../src/Animations/animation.ts",
+        "../../src/Cameras/camera.ts",
+        "../../src/Collisions/collisionCoordinator.ts",
+        "../../src/Engines/engine.ts",
+        "../../src/Lights/light.ts",
+        "../../src/Materials/imageProcessingConfiguration.ts",
+        "../../src/Materials/standardMaterial.ts",
+        "../../src/Meshes/abstractMesh.ts",
+        "../../src/Misc/tags.ts",
+        "../../src/Misc/tools.ts",
+        "../../src/PostProcesses/postProcessManager.ts"
+    ]
+}

+ 8 - 0
Tools/Config/tempCircularValidation/loaders.json

@@ -0,0 +1,8 @@
+{
+    "../../loaders/src/glTF/1.0/glTFLoader.ts": [
+        "../../loaders/src/glTF/1.0/glTFLoaderExtension.ts"
+    ],
+    "../../loaders/src/glTF/1.0/glTFLoaderExtension.ts": [
+        "../../loaders/src/glTF/1.0/glTFLoader.ts"
+    ]
+}

+ 33 - 18
Tools/Gulp/tasks/gulpTasks-dependencies.js

@@ -39,6 +39,7 @@ const dependencies = function(settings, moduleName, cb) {
 
     if (cruiseResult.summary.error > 0) {
         var errors = cruiseResult.summary.violations;
+        var errorCount = cruiseResult.summary.error;
 
         // Comparaison to remove once all done.
         // Comparaison to remove once all done.
@@ -50,21 +51,33 @@ const dependencies = function(settings, moduleName, cb) {
         }
 
         var fs = require("fs-extra");
-        var baseValidationFile = "../../Config/" + moduleName + ".json";
+        var baseValidationFile = "../../Config/tempCircularValidation/" + moduleName + ".json";
         if (fs.existsSync(path.resolve(__dirname, baseValidationFile))) {
             var baseValidation = require(baseValidationFile);
             errors = [];
             for (let error in comparaisonData) {
-                if (!baseValidation[error] || JSON.stringify(comparaisonData[error])!=JSON.stringify(baseValidation[error])) {
-                    errors.push({
-                        from: error.from,
-                        to: error.to
-                    });
+                if (!baseValidation[error]) {
+                    for (let errorTo of comparaisonData[error]) {
+                        errors.push({
+                            from: error,
+                            to: errorTo
+                        });
+                    }
+                }
+                else {
+                    if (JSON.stringify(comparaisonData[error])!=JSON.stringify(baseValidation[error])) {
+                        for (let errorTo of comparaisonData[error]) {
+                            if (baseValidation[error].indexOf(errorTo) === -1) {
+                                errors.push({
+                                    from: error,
+                                    to: errorTo
+                                });
+                            }
+                        }
+                    }
                 }
             }
-        }
-        else {
-            errors = cruiseResult.summary.violations;
+            errorCount = errors.length;
         }
 
         var minimist = require("minimist");
@@ -72,22 +85,24 @@ const dependencies = function(settings, moduleName, cb) {
             boolean: ["saveCircular"]
         });
         if (commandLineOptions.saveCircular) {
-            fs.writeJSONSync(path.resolve(__dirname, baseValidationFile), comparaisonData);
+            fs.writeJSONSync(path.resolve(__dirname, baseValidationFile), comparaisonData, {
+                spaces: 4,
+                EOL: '\n'
+            });
         }
-        colorConsole.warn(`Still circular dependencies in ${moduleName.cyan}: ${("" + cruiseResult.summary.error).red}`);
-        cb();
-        return;
         // End Comparaison to remove once all done.
         // End Comparaison to remove once all done.
         // End Comparaison to remove once all done.
 
-        colorConsole.error(`New circular dependencies in ${moduleName.cyan}: ${("" + cruiseResult.summary.error).red}`);
-        for (let error of errors) {
-            colorConsole.error(`    From: '${error.from.replace(/\.\.\//g, "").yellow}' To: '${error.to.replace(/\.\.\//g, "").yellow}'`);
+        if (errorCount > 0) {
+            colorConsole.error(`New circular dependencies in ${moduleName.cyan}: ${("" + errorCount).red}`);
+            for (let error of errors) {
+                colorConsole.error(`    From: '${error.from.replace(/\.\.\//g, "").yellow}' To: '${error.to.replace(/\.\.\//g, "").yellow}'`);
+            }
+            process.exit(1);
         }
-        process.exit(1);
     }
-    
+
     colorConsole.success("No New circular dependencies.");
     cb();
 }