Newer
Older
pixi.js / Gruntfile.js
@Charlotte Gore Charlotte Gore on 3 Apr 2013 2 KB Converted to grunt build
module.exports = function(grunt){

	"use strict";

	var root = "src/pixi/",
		debug = "bin/pixi.dev.js",
		build = "bin/pixi.js";

	grunt.initConfig({
		pkg : grunt.file.readJSON("package.json"),
		build : {
			all : {
				dest : debug,
				src : [
					"Pixi.js",
					"Point.js",
					"Rectangle.js",
					"DisplayObject.js",
					"DisplayObjectContainer.js",
					"Sprite.js",
					"MovieClip.js",
					"InteractionManager.js",
					"Stage.js",
					"utils/Utils.js",
					"utils/EventTarget.js",
					"utils/Matrix.js",
					"utils/Detector.js",
					"renderers/WebGLShaders.js",
					"renderers/WebGLRenderer.js",
					"renderers/WebGLBatch.js",
					"renderers/CanvasRenderer.js",
					"extras/Strip.js",
					"extras/Rope.js",
					"textures/BaseTexture.js",
					"textures/Texture.js",
					"loaders/SpriteSheetLoader.js",
					"loaders/AssetLoader.js" 
				]
			}
		},
		jshint : {
			dist : {
				src : [debug],
				options : {
						asi : true,
						smarttabs: true
				}
			}			
		},
		uglify : {
			all : {
				files : {
					"bin/pixi.js" : [ debug ]
				}
			}			
		},
		distribute : {
			examples : [
				"examples/example 1 - Basics",
				"examples/example 2 - SpriteSheet",
				"examples/example 3 - MovieClip",
				"examples/example 4 - Balls",
				"examples/example 5 - Morph",
				"examples/example 6 - Interactivity",
			]
		}

	});

	grunt.registerMultiTask(
		"build",
		"Contatenate source",
		function(){
			var compiled = "",
			name = this.data.dest,
			src = this.data.src;

			src.forEach(function(filepath){

				compiled += grunt.file.read( root + filepath );

			});

			grunt.file.write(name, compiled);

			grunt.log.writeln("File '" + name + "' created.");

		}
	)

	grunt.registerMultiTask(
		"distribute",
		"Copy built file to examples",
		function(){
			var pixi = grunt.file.read( debug );

			var dests = this.data;

			dests.forEach(function(filepath){

				grunt.file.write(filepath + "/pixi.js", pixi);

			});

			grunt.log.writeln("Pixi copied to examples.");
		}
	)

	grunt.loadNpmTasks("grunt-contrib-jshint");
	grunt.loadNpmTasks("grunt-contrib-uglify");

	//grunt.registerTask("default", ["build:*:*", "jshint", "uglify"]);
	grunt.registerTask("default", ["build:*:*", "uglify", "distribute:*:*"])

}