2
0
Эх сурвалжийг харах

Merge remote-tracking branch 'gero3/dev' into dev

Mr.doob 13 жил өмнө
parent
commit
e57a9bab02
2 өөрчлөгдсөн 293 нэмэгдсэн , 282 устгасан
  1. 14 282
      utils/build.py
  2. 279 0
      utils/files.json

+ 14 - 282
utils/build.py

@@ -10,284 +10,7 @@ except ImportError:
 import os
 import os
 import tempfile
 import tempfile
 import sys
 import sys
-
-COMMON_FILES = [
-'Three.js',
-'core/Clock.js',
-'core/Color.js',
-'core/Vector2.js',
-'core/Vector3.js',
-'core/Vector4.js',
-'core/EventTarget.js',
-'core/Frustum.js',
-'core/Ray.js',
-'core/Rectangle.js',
-'core/Math.js',
-'core/Matrix3.js',
-'core/Matrix4.js',
-'core/Object3D.js',
-'core/Projector.js',
-'core/Quaternion.js',
-'core/Vertex.js',
-'core/Face3.js',
-'core/Face4.js',
-'core/UV.js',
-'core/Geometry.js',
-'core/Spline.js',
-'cameras/Camera.js',
-'cameras/OrthographicCamera.js',
-'cameras/PerspectiveCamera.js',
-'lights/Light.js',
-'lights/AmbientLight.js',
-'lights/DirectionalLight.js',
-'lights/PointLight.js',
-'lights/SpotLight.js',
-'loaders/Loader.js',
-'loaders/BinaryLoader.js',
-'loaders/ImageLoader.js',
-'loaders/JSONLoader.js',
-'loaders/GeometryLoader.js',
-'loaders/SceneLoader.js',
-'loaders/TextureLoader.js',
-'materials/Material.js',
-'materials/LineBasicMaterial.js',
-'materials/MeshBasicMaterial.js',
-'materials/MeshLambertMaterial.js',
-'materials/MeshPhongMaterial.js',
-'materials/MeshDepthMaterial.js',
-'materials/MeshNormalMaterial.js',
-'materials/MeshFaceMaterial.js',
-'materials/ParticleBasicMaterial.js',
-'materials/ParticleCanvasMaterial.js',
-'materials/ParticleDOMMaterial.js',
-'materials/ShaderMaterial.js',
-'textures/Texture.js',
-'textures/DataTexture.js',
-'objects/Particle.js',
-'objects/ParticleSystem.js',
-'objects/Line.js',
-'objects/Mesh.js',
-'objects/Bone.js',
-'objects/SkinnedMesh.js',
-'objects/MorphAnimMesh.js',
-'objects/Ribbon.js',
-'objects/LOD.js',
-'objects/Sprite.js',
-'scenes/Scene.js',
-'scenes/Fog.js',
-'scenes/FogExp2.js',
-'renderers/CanvasRenderer.js',
-'renderers/WebGLShaders.js',
-'renderers/WebGLRenderer.js',
-'renderers/WebGLRenderTarget.js',
-'renderers/WebGLRenderTargetCube.js',
-'renderers/renderables/RenderableVertex.js',
-'renderers/renderables/RenderableFace3.js',
-'renderers/renderables/RenderableFace4.js',
-'renderers/renderables/RenderableObject.js',
-'renderers/renderables/RenderableParticle.js',
-'renderers/renderables/RenderableLine.js'
-]
-
-EXTRAS_FILES = [
-'extras/ColorUtils.js',
-'extras/GeometryUtils.js',
-'extras/ImageUtils.js',
-'extras/SceneUtils.js',
-'extras/ShaderUtils.js',
-'extras/FontUtils.js',
-'extras/core/BufferGeometry.js',
-'extras/core/Curve.js',
-'extras/core/CurvePath.js',
-'extras/core/Gyroscope.js',
-'extras/core/Path.js',
-'extras/core/Shape.js',
-'extras/animation/AnimationHandler.js',
-'extras/animation/Animation.js',
-'extras/animation/KeyFrameAnimation.js',
-'extras/cameras/CubeCamera.js',
-'extras/cameras/CombinedCamera.js',
-'extras/controls/FirstPersonControls.js',
-'extras/controls/PathControls.js',
-'extras/controls/FlyControls.js',
-'extras/controls/RollControls.js',
-'extras/controls/TrackballControls.js',
-'extras/controls/OrbitControls.js',
-'extras/geometries/CubeGeometry.js',
-'extras/geometries/CylinderGeometry.js',
-'extras/geometries/ExtrudeGeometry.js',
-'extras/geometries/LatheGeometry.js',
-'extras/geometries/PlaneGeometry.js',
-'extras/geometries/SphereGeometry.js',
-'extras/geometries/TextGeometry.js',
-'extras/geometries/TorusGeometry.js',
-'extras/geometries/TorusKnotGeometry.js',
-'extras/geometries/TubeGeometry.js',
-'extras/geometries/PolyhedronGeometry.js',
-'extras/geometries/IcosahedronGeometry.js',
-'extras/geometries/OctahedronGeometry.js',
-'extras/geometries/TetrahedronGeometry.js',
-'extras/geometries/ParametricGeometry.js',
-'extras/geometries/ConvexGeometry.js',
-'extras/helpers/AxisHelper.js',
-'extras/helpers/ArrowHelper.js',
-'extras/helpers/CameraHelper.js',
-'extras/modifiers/SubdivisionModifier.js',
-'extras/objects/ImmediateRenderObject.js',
-'extras/objects/LensFlare.js',
-'extras/objects/MorphBlendMesh.js',
-'extras/renderers/plugins/LensFlarePlugin.js',
-'extras/renderers/plugins/ShadowMapPlugin.js',
-'extras/renderers/plugins/SpritePlugin.js',
-'extras/renderers/plugins/DepthPassPlugin.js',
-'extras/shaders/ShaderFlares.js',
-'extras/shaders/ShaderSprite.js'
-]
-
-CANVAS_FILES = [
-'Three.js',
-'core/Color.js',
-'core/Vector2.js',
-'core/Vector3.js',
-'core/Vector4.js',
-'core/EventTarget.js',
-'core/Frustum.js',
-'core/Ray.js',
-'core/Rectangle.js',
-'core/Math.js',
-'core/Matrix3.js',
-'core/Matrix4.js',
-'core/Object3D.js',
-'core/Projector.js',
-'core/Quaternion.js',
-'core/Vertex.js',
-'core/Face3.js',
-'core/Face4.js',
-'core/UV.js',
-'core/Geometry.js',
-'cameras/Camera.js',
-'cameras/OrthographicCamera.js',
-'cameras/PerspectiveCamera.js',
-'lights/Light.js',
-'lights/AmbientLight.js',
-'lights/DirectionalLight.js',
-'lights/PointLight.js',
-'loaders/Loader.js',
-'loaders/BinaryLoader.js',
-'loaders/ImageLoader.js',
-'loaders/JSONLoader.js',
-'loaders/GeometryLoader.js',
-'loaders/SceneLoader.js',
-'loaders/TextureLoader.js',
-'materials/Material.js',
-'materials/LineBasicMaterial.js',
-'materials/MeshBasicMaterial.js',
-'materials/MeshLambertMaterial.js',
-'materials/MeshPhongMaterial.js',
-'materials/MeshDepthMaterial.js',
-'materials/MeshNormalMaterial.js',
-'materials/MeshFaceMaterial.js',
-'materials/ParticleBasicMaterial.js',
-'materials/ParticleCanvasMaterial.js',
-'textures/Texture.js',
-'textures/DataTexture.js',
-'objects/Particle.js',
-'objects/Line.js',
-'objects/Mesh.js',
-'objects/Bone.js',
-'objects/Sprite.js',
-'scenes/Scene.js',
-'renderers/CanvasRenderer.js',
-'renderers/renderables/RenderableVertex.js',
-'renderers/renderables/RenderableFace3.js',
-'renderers/renderables/RenderableFace4.js',
-'renderers/renderables/RenderableObject.js',
-'renderers/renderables/RenderableParticle.js',
-'renderers/renderables/RenderableLine.js'
-]
-
-WEBGL_FILES = [
-'Three.js',
-'core/Color.js',
-'core/Vector2.js',
-'core/Vector3.js',
-'core/Vector4.js',
-'core/EventTarget.js',
-'core/Frustum.js',
-'core/Ray.js',
-'core/Rectangle.js',
-'core/Math.js',
-'core/Matrix3.js',
-'core/Matrix4.js',
-'core/Object3D.js',
-'core/Projector.js',
-'core/Quaternion.js',
-'core/Vertex.js',
-'core/Face3.js',
-'core/Face4.js',
-'core/UV.js',
-'core/Geometry.js',
-'core/Spline.js',
-'cameras/Camera.js',
-'cameras/OrthographicCamera.js',
-'cameras/PerspectiveCamera.js',
-'lights/Light.js',
-'lights/AmbientLight.js',
-'lights/DirectionalLight.js',
-'lights/PointLight.js',
-'lights/SpotLight.js',
-'loaders/Loader.js',
-'loaders/BinaryLoader.js',
-'loaders/ImageLoader.js',
-'loaders/JSONLoader.js',
-'loaders/GeometryLoader.js',
-'loaders/SceneLoader.js',
-'loaders/TextureLoader.js',
-'materials/Material.js',
-'materials/LineBasicMaterial.js',
-'materials/MeshBasicMaterial.js',
-'materials/MeshLambertMaterial.js',
-'materials/MeshPhongMaterial.js',
-'materials/MeshDepthMaterial.js',
-'materials/MeshNormalMaterial.js',
-'materials/MeshFaceMaterial.js',
-'materials/ParticleBasicMaterial.js',
-'materials/ShaderMaterial.js',
-'textures/Texture.js',
-'textures/DataTexture.js',
-'objects/Particle.js',
-'objects/ParticleSystem.js',
-'objects/Line.js',
-'objects/Mesh.js',
-'objects/Bone.js',
-'objects/SkinnedMesh.js',
-'objects/Ribbon.js',
-'objects/LOD.js',
-'objects/Sprite.js',
-'scenes/Scene.js',
-'scenes/Fog.js',
-'scenes/FogExp2.js',
-'renderers/WebGLShaders.js',
-'renderers/WebGLRenderer.js',
-'renderers/WebGLRenderTarget.js',
-'renderers/WebGLRenderTargetCube.js',
-'renderers/renderables/RenderableVertex.js',
-'renderers/renderables/RenderableFace3.js',
-'renderers/renderables/RenderableFace4.js',
-'renderers/renderables/RenderableObject.js',
-'renderers/renderables/RenderableParticle.js',
-'renderers/renderables/RenderableLine.js',
-'extras/core/BufferGeometry.js',
-'extras/core/Gyroscope.js',
-'extras/helpers/CameraHelper.js',
-'extras/objects/LensFlare.js',
-'extras/objects/ImmediateRenderObject.js',
-'extras/renderers/plugins/LensFlarePlugin.js',
-'extras/renderers/plugins/ShadowMapPlugin.js',
-'extras/renderers/plugins/SpritePlugin.js',
-'extras/shaders/ShaderFlares.js',
-'extras/shaders/ShaderSprite.js'
-]
+import json
 
 
 def merge(files):
 def merge(files):
 
 
@@ -377,6 +100,14 @@ def buildIncludes(files, filename):
 	text = "\n".join(template % f for f in files)
 	text = "\n".join(template % f for f in files)
 
 
 	output(text, filename + '.js')
 	output(text, filename + '.js')
+	
+def getFileNames():
+	
+	file =  open(os.path.join('.', 'files.json'), 'r')
+	data = json.load(file)
+	file.close()
+	
+	return data
 
 
 
 
 def parse_args():
 def parse_args():
@@ -420,12 +151,13 @@ def main(argv=None):
 	args = parse_args()
 	args = parse_args()
 	debug = args.debug
 	debug = args.debug
 	minified = args.minified
 	minified = args.minified
+	files = getFileNames()
 
 
 	config = [
 	config = [
-	['Three', 'includes', '', COMMON_FILES + EXTRAS_FILES, args.common],
-	['ThreeCanvas', 'includes_canvas', '', CANVAS_FILES, args.canvas],
-	['ThreeWebGL', 'includes_webgl', '', WEBGL_FILES, args.webgl],
-	['ThreeExtras', 'includes_extras', 'externs_extras', EXTRAS_FILES, args.extras]
+	['Three', 'includes', '', files["COMMON"] + files["EXTRAS"], args.common],
+	['ThreeCanvas', 'includes_canvas', '', files["CANVAS"], args.canvas],
+	['ThreeWebGL', 'includes_webgl', '', files["WEBGL"], args.webgl],
+	['ThreeExtras', 'includes_extras', 'externs_extras', files["EXTRAS"], args.extras]
 	]
 	]
 
 
 	for fname_lib, fname_inc, fname_externs, files, enabled in config:
 	for fname_lib, fname_inc, fname_externs, files, enabled in config:

+ 279 - 0
utils/files.json

@@ -0,0 +1,279 @@
+{
+	"COMMON" : [
+		"Three.js",
+		"core/Clock.js",
+		"core/Color.js",
+		"core/Vector2.js",
+		"core/Vector3.js",
+		"core/Vector4.js",
+		"core/EventTarget.js",
+		"core/Frustum.js",
+		"core/Ray.js",
+		"core/Rectangle.js",
+		"core/Math.js",
+		"core/Matrix3.js",
+		"core/Matrix4.js",
+		"core/Object3D.js",
+		"core/Projector.js",
+		"core/Quaternion.js",
+		"core/Vertex.js",
+		"core/Face3.js",
+		"core/Face4.js",
+		"core/UV.js",
+		"core/Geometry.js",
+		"core/Spline.js",
+		"cameras/Camera.js",
+		"cameras/OrthographicCamera.js",
+		"cameras/PerspectiveCamera.js",
+		"lights/Light.js",
+		"lights/AmbientLight.js",
+		"lights/DirectionalLight.js",
+		"lights/PointLight.js",
+		"lights/SpotLight.js",
+		"loaders/Loader.js",
+		"loaders/BinaryLoader.js",
+		"loaders/ImageLoader.js",
+		"loaders/JSONLoader.js",
+		"loaders/GeometryLoader.js",
+		"loaders/SceneLoader.js",
+		"loaders/TextureLoader.js",
+		"materials/Material.js",
+		"materials/LineBasicMaterial.js",
+		"materials/MeshBasicMaterial.js",
+		"materials/MeshLambertMaterial.js",
+		"materials/MeshPhongMaterial.js",
+		"materials/MeshDepthMaterial.js",
+		"materials/MeshNormalMaterial.js",
+		"materials/MeshFaceMaterial.js",
+		"materials/ParticleBasicMaterial.js",
+		"materials/ParticleCanvasMaterial.js",
+		"materials/ParticleDOMMaterial.js",
+		"materials/ShaderMaterial.js",
+		"textures/Texture.js",
+		"textures/DataTexture.js",
+		"objects/Particle.js",
+		"objects/ParticleSystem.js",
+		"objects/Line.js",
+		"objects/Mesh.js",
+		"objects/Bone.js",
+		"objects/SkinnedMesh.js",
+		"objects/MorphAnimMesh.js",
+		"objects/Ribbon.js",
+		"objects/LOD.js",
+		"objects/Sprite.js",
+		"scenes/Scene.js",
+		"scenes/Fog.js",
+		"scenes/FogExp2.js",
+		"renderers/CanvasRenderer.js",
+		"renderers/WebGLShaders.js",
+		"renderers/WebGLRenderer.js",
+		"renderers/WebGLRenderTarget.js",
+		"renderers/WebGLRenderTargetCube.js",
+		"renderers/renderables/RenderableVertex.js",
+		"renderers/renderables/RenderableFace3.js",
+		"renderers/renderables/RenderableFace4.js",
+		"renderers/renderables/RenderableObject.js",
+		"renderers/renderables/RenderableParticle.js",
+		"renderers/renderables/RenderableLine.js"
+	],
+
+	"EXTRAS" : [
+		"extras/ColorUtils.js",
+		"extras/GeometryUtils.js",
+		"extras/ImageUtils.js",
+		"extras/SceneUtils.js",
+		"extras/ShaderUtils.js",
+		"extras/FontUtils.js",
+		"extras/core/BufferGeometry.js",
+		"extras/core/Curve.js",
+		"extras/core/CurvePath.js",
+		"extras/core/Gyroscope.js",
+		"extras/core/Path.js",
+		"extras/core/Shape.js",
+		"extras/animation/AnimationHandler.js",
+		"extras/animation/Animation.js",
+		"extras/animation/KeyFrameAnimation.js",
+		"extras/cameras/CubeCamera.js",
+		"extras/cameras/CombinedCamera.js",
+		"extras/controls/FirstPersonControls.js",
+		"extras/controls/PathControls.js",
+		"extras/controls/FlyControls.js",
+		"extras/controls/RollControls.js",
+		"extras/controls/TrackballControls.js",
+		"extras/controls/OrbitControls.js",
+		"extras/geometries/CubeGeometry.js",
+		"extras/geometries/CylinderGeometry.js",
+		"extras/geometries/ExtrudeGeometry.js",
+		"extras/geometries/LatheGeometry.js",
+		"extras/geometries/PlaneGeometry.js",
+		"extras/geometries/SphereGeometry.js",
+		"extras/geometries/TextGeometry.js",
+		"extras/geometries/TorusGeometry.js",
+		"extras/geometries/TorusKnotGeometry.js",
+		"extras/geometries/TubeGeometry.js",
+		"extras/geometries/PolyhedronGeometry.js",
+		"extras/geometries/IcosahedronGeometry.js",
+		"extras/geometries/OctahedronGeometry.js",
+		"extras/geometries/TetrahedronGeometry.js",
+		"extras/geometries/ParametricGeometry.js",
+		"extras/geometries/ConvexGeometry.js",
+		"extras/helpers/AxisHelper.js",
+		"extras/helpers/ArrowHelper.js",
+		"extras/helpers/CameraHelper.js",
+		"extras/modifiers/SubdivisionModifier.js",
+		"extras/objects/ImmediateRenderObject.js",
+		"extras/objects/LensFlare.js",
+		"extras/objects/MorphBlendMesh.js",
+		"extras/renderers/plugins/LensFlarePlugin.js",
+		"extras/renderers/plugins/ShadowMapPlugin.js",
+		"extras/renderers/plugins/SpritePlugin.js",
+		"extras/renderers/plugins/DepthPassPlugin.js",
+		"extras/shaders/ShaderFlares.js",
+		"extras/shaders/ShaderSprite.js"
+	],
+
+	"CANVAS" : [
+		"Three.js",
+		"core/Color.js",
+		"core/Vector2.js",
+		"core/Vector3.js",
+		"core/Vector4.js",
+		"core/EventTarget.js",
+		"core/Frustum.js",
+		"core/Ray.js",
+		"core/Rectangle.js",
+		"core/Math.js",
+		"core/Matrix3.js",
+		"core/Matrix4.js",
+		"core/Object3D.js",
+		"core/Projector.js",
+		"core/Quaternion.js",
+		"core/Vertex.js",
+		"core/Face3.js",
+		"core/Face4.js",
+		"core/UV.js",
+		"core/Geometry.js",
+		"cameras/Camera.js",
+		"cameras/OrthographicCamera.js",
+		"cameras/PerspectiveCamera.js",
+		"lights/Light.js",
+		"lights/AmbientLight.js",
+		"lights/DirectionalLight.js",
+		"lights/PointLight.js",
+		"loaders/Loader.js",
+		"loaders/BinaryLoader.js",
+		"loaders/ImageLoader.js",
+		"loaders/JSONLoader.js",
+		"loaders/GeometryLoader.js",
+		"loaders/SceneLoader.js",
+		"loaders/TextureLoader.js",
+		"materials/Material.js",
+		"materials/LineBasicMaterial.js",
+		"materials/MeshBasicMaterial.js",
+		"materials/MeshLambertMaterial.js",
+		"materials/MeshPhongMaterial.js",
+		"materials/MeshDepthMaterial.js",
+		"materials/MeshNormalMaterial.js",
+		"materials/MeshFaceMaterial.js",
+		"materials/ParticleBasicMaterial.js",
+		"materials/ParticleCanvasMaterial.js",
+		"textures/Texture.js",
+		"textures/DataTexture.js",
+		"objects/Particle.js",
+		"objects/Line.js",
+		"objects/Mesh.js",
+		"objects/Bone.js",
+		"objects/Sprite.js",
+		"scenes/Scene.js",
+		"renderers/CanvasRenderer.js",
+		"renderers/renderables/RenderableVertex.js",
+		"renderers/renderables/RenderableFace3.js",
+		"renderers/renderables/RenderableFace4.js",
+		"renderers/renderables/RenderableObject.js",
+		"renderers/renderables/RenderableParticle.js",
+		"renderers/renderables/RenderableLine.js"
+	],
+
+	"WEBGL" : [
+		"Three.js",
+		"core/Color.js",
+		"core/Vector2.js",
+		"core/Vector3.js",
+		"core/Vector4.js",
+		"core/EventTarget.js",
+		"core/Frustum.js",
+		"core/Ray.js",
+		"core/Rectangle.js",
+		"core/Math.js",
+		"core/Matrix3.js",
+		"core/Matrix4.js",
+		"core/Object3D.js",
+		"core/Projector.js",
+		"core/Quaternion.js",
+		"core/Vertex.js",
+		"core/Face3.js",
+		"core/Face4.js",
+		"core/UV.js",
+		"core/Geometry.js",
+		"core/Spline.js",
+		"cameras/Camera.js",
+		"cameras/OrthographicCamera.js",
+		"cameras/PerspectiveCamera.js",
+		"lights/Light.js",
+		"lights/AmbientLight.js",
+		"lights/DirectionalLight.js",
+		"lights/PointLight.js",
+		"lights/SpotLight.js",
+		"loaders/Loader.js",
+		"loaders/BinaryLoader.js",
+		"loaders/ImageLoader.js",
+		"loaders/JSONLoader.js",
+		"loaders/GeometryLoader.js",
+		"loaders/SceneLoader.js",
+		"loaders/TextureLoader.js",
+		"materials/Material.js",
+		"materials/LineBasicMaterial.js",
+		"materials/MeshBasicMaterial.js",
+		"materials/MeshLambertMaterial.js",
+		"materials/MeshPhongMaterial.js",
+		"materials/MeshDepthMaterial.js",
+		"materials/MeshNormalMaterial.js",
+		"materials/MeshFaceMaterial.js",
+		"materials/ParticleBasicMaterial.js",
+		"materials/ShaderMaterial.js",
+		"textures/Texture.js",
+		"textures/DataTexture.js",
+		"objects/Particle.js",
+		"objects/ParticleSystem.js",
+		"objects/Line.js",
+		"objects/Mesh.js",
+		"objects/Bone.js",
+		"objects/SkinnedMesh.js",
+		"objects/Ribbon.js",
+		"objects/LOD.js",
+		"objects/Sprite.js",
+		"scenes/Scene.js",
+		"scenes/Fog.js",
+		"scenes/FogExp2.js",
+		"renderers/WebGLShaders.js",
+		"renderers/WebGLRenderer.js",
+		"renderers/WebGLRenderTarget.js",
+		"renderers/WebGLRenderTargetCube.js",
+		"renderers/renderables/RenderableVertex.js",
+		"renderers/renderables/RenderableFace3.js",
+		"renderers/renderables/RenderableFace4.js",
+		"renderers/renderables/RenderableObject.js",
+		"renderers/renderables/RenderableParticle.js",
+		"renderers/renderables/RenderableLine.js",
+		"extras/core/BufferGeometry.js",
+		"extras/core/Gyroscope.js",
+		"extras/helpers/CameraHelper.js",
+		"extras/objects/LensFlare.js",
+		"extras/objects/ImmediateRenderObject.js",
+		"extras/renderers/plugins/LensFlarePlugin.js",
+		"extras/renderers/plugins/ShadowMapPlugin.js",
+		"extras/renderers/plugins/SpritePlugin.js",
+		"extras/shaders/ShaderFlares.js",
+		"extras/shaders/ShaderSprite.js"
+	]
+}