gulpfile.js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. var gulp = require('gulp'),
  2. uglify = require('gulp-uglify'),
  3. rename = require('gulp-rename'),
  4. concat = require('gulp-concat'),
  5. clean = require('gulp-clean'),
  6. shaders = require('./gulp-shaders');
  7. gulp.task('shaders', function() {
  8. return gulp.src(['../../Babylon/Shaders/*.fx'])
  9. .pipe(shaders('shaders.js'))
  10. .pipe(gulp.dest('build/'))
  11. });
  12. gulp.task('scripts', ['shaders'] ,function() {
  13. return gulp.src([
  14. '../../Babylon/Math/babylon.math.js',
  15. '../../Babylon/Math/babylon.axis.js',
  16. '../../Babylon/Tools/babylon.database.js',
  17. '../../Babylon/Tools/babylon.tools.js',
  18. '../../Babylon/Collisions/babylon.pickingInfo.js',
  19. '../../Babylon/babylon.engine.js',
  20. '../../Babylon/babylon.node.js',
  21. '../../Babylon/Culling/babylon.boundingSphere.js',
  22. '../../Babylon/Culling/babylon.boundingBox.js',
  23. '../../Babylon/Culling/babylon.boundingInfo.js',
  24. '../../Babylon/Lights/babylon.light.js',
  25. '../../Babylon/Lights/babylon.pointLight.js',
  26. '../../Babylon/Lights/babylon.spotLight.js',
  27. '../../Babylon/Lights/babylon.hemisphericLight.js',
  28. '../../Babylon/Lights/babylon.directionalLight.js',
  29. '../../Babylon/Lights/Shadows/babylon.shadowGenerator.js',
  30. '../../Babylon/Collisions/babylon.collider.js',
  31. '../../Babylon/Cameras/babylon.camera.js',
  32. '../../Babylon/Cameras/babylon.freeCamera.js',
  33. '../../Babylon/Cameras/babylon.touchCamera.js',
  34. '../../Babylon/Cameras/babylon.arcRotateCamera.js',
  35. '../../Babylon/Cameras/babylon.deviceOrientationCamera.js',
  36. '../../Babylon/Rendering/babylon.renderingManager.js',
  37. '../../Babylon/Rendering/babylon.renderingGroup.js',
  38. '../../Babylon/babylon.scene.js',
  39. '../../Babylon/Mesh/babylon.vertexBuffer.js',
  40. '../../Babylon/Mesh/babylon.mesh.js',
  41. '../../Babylon/Mesh/babylon.subMesh.js',
  42. '../../Babylon/Materials/textures/babylon.baseTexture.js',
  43. '../../Babylon/Materials/textures/babylon.texture.js',
  44. '../../Babylon/Materials/textures/babylon.cubeTexture.js',
  45. '../../Babylon/Materials/textures/babylon.renderTargetTexture.js',
  46. '../../Babylon/Materials/textures/babylon.mirrorTexture.js',
  47. '../../Babylon/Materials/textures/babylon.dynamicTexture.js',
  48. '../../Babylon/Materials/textures/babylon.videoTexture.js',
  49. '../../Babylon/Materials/babylon.effect.js',
  50. 'build/shaders.js',
  51. '../../Babylon/Materials/babylon.material.js',
  52. '../../Babylon/Materials/babylon.standardMaterial.js',
  53. '../../Babylon/Materials/babylon.multiMaterial.js',
  54. '../../Babylon/Tools/babylon.sceneLoader.js',
  55. '../../Babylon/Tools/babylon.database.js',
  56. '../../Babylon/Sprites/babylon.spriteManager.js',
  57. '../../Babylon/Sprites/babylon.sprite.js',
  58. '../../Babylon/Layer/babylon.layer.js',
  59. '../../Babylon/Particles/babylon.particle.js',
  60. '../../Babylon/Particles/babylon.particleSystem.js',
  61. '../../Babylon/Animations/babylon.animation.js',
  62. '../../Babylon/Animations/babylon.animatable.js',
  63. '../../Babylon/Culling/Octrees/babylon.octree.js',
  64. '../../Babylon/Culling/Octrees/babylon.octreeBlock.js',
  65. '../../Babylon/Bones/babylon.bone.js',
  66. '../../Babylon/Bones/babylon.skeleton.js',
  67. '../../Babylon/Bones/babylon.skeleton.js',
  68. '../../Babylon/PostProcess/babylon.postProcess.js',
  69. '../../Babylon/PostProcess/babylon.postProcessManager.js',
  70. '../../Babylon/PostProcess/babylon.passPostProcess.js',
  71. '../../Babylon/PostProcess/babylon.blurPostProcess.js',
  72. '../../Babylon/PostProcess/babylon.refractionPostProcess.js',
  73. '../../Babylon/PostProcess/babylon.blackAndWhitePostProcess.js',
  74. '../../Babylon/PostProcess/babylon.convolutionPostProcess.js',
  75. '../../Babylon/PostProcess/babylon.fxaaPostProcess.js',
  76. '../../Babylon/LensFlare/babylon.lensFlare.js',
  77. '../../Babylon/LensFlare/babylon.lensFlareSystem.js',
  78. '../../Babylon/Tools/babylon.filesInput.js',
  79. '../../Babylon/Physics/babylon.physicsEngine.js',
  80. '../../Babylon/Physics/babylon.sceneSerializer.js',
  81. ])
  82. .pipe(concat('babylon.js'))
  83. .pipe(gulp.dest('build/'))
  84. .pipe(rename({suffix: '.min'}))
  85. //.pipe(uglify({ outSourceMap: true })) //waiting for https://github.com/gulpjs/gulp/issues/356
  86. .pipe(uglify())
  87. .pipe(gulp.dest('build/'))
  88. });
  89. gulp.task('clean', ['scripts'], function() {
  90. return gulp.src(['build/shaders.js'], {read: false})
  91. .pipe(clean());
  92. });
  93. gulp.task('default', function() {
  94. gulp.start('shaders','scripts', 'clean');
  95. });
  96. gulp.task('watch', function() {
  97. gulp.watch('src/**/*.js', ['default']);
  98. });