diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..b512c09
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+node_modules
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..b512c09
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+node_modules
\ No newline at end of file
diff --git a/Gruntfile.js b/Gruntfile.js
new file mode 100644
index 0000000..8e8e45e
--- /dev/null
+++ b/Gruntfile.js
@@ -0,0 +1,115 @@
+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:*:*"])
+
+}
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..b512c09
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+node_modules
\ No newline at end of file
diff --git a/Gruntfile.js b/Gruntfile.js
new file mode 100644
index 0000000..8e8e45e
--- /dev/null
+++ b/Gruntfile.js
@@ -0,0 +1,115 @@
+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:*:*"])
+
+}
\ No newline at end of file
diff --git a/README.md b/README.md
index 0a6c24b..4a0426c 100644
--- a/README.md
+++ b/README.md
@@ -39,12 +39,27 @@
### How to build ###
+PixiJS is build with Grunt. If you don't already have this, go install Node and NPM then install the Grunt Command Line.
+
```
-cd build
-ant -f PixiBuild.xml
+$> npm install -g grunt-cli
```
-This will create a minified version at bin/pixi.js and a non-minified version at bin/pixi.dev.js
+Then, in the folder where you have downloaded the source, install the build dependencies using npm:
+
+```
+$> npm install
+```
+
+Then build:
+
+```
+$> grunt
+```
+
+This will create a minified version at bin/pixi.js and a non-minified version at bin/pixi.dev.js.
+
+It also copies the non-minified version to the examples.
### Current features ###
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..b512c09
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+node_modules
\ No newline at end of file
diff --git a/Gruntfile.js b/Gruntfile.js
new file mode 100644
index 0000000..8e8e45e
--- /dev/null
+++ b/Gruntfile.js
@@ -0,0 +1,115 @@
+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:*:*"])
+
+}
\ No newline at end of file
diff --git a/README.md b/README.md
index 0a6c24b..4a0426c 100644
--- a/README.md
+++ b/README.md
@@ -39,12 +39,27 @@
### How to build ###
+PixiJS is build with Grunt. If you don't already have this, go install Node and NPM then install the Grunt Command Line.
+
```
-cd build
-ant -f PixiBuild.xml
+$> npm install -g grunt-cli
```
-This will create a minified version at bin/pixi.js and a non-minified version at bin/pixi.dev.js
+Then, in the folder where you have downloaded the source, install the build dependencies using npm:
+
+```
+$> npm install
+```
+
+Then build:
+
+```
+$> grunt
+```
+
+This will create a minified version at bin/pixi.js and a non-minified version at bin/pixi.dev.js.
+
+It also copies the non-minified version to the examples.
### Current features ###
diff --git a/build/PixiBuild.xml b/build/PixiBuild.xml
deleted file mode 100644
index e824bf6..0000000
--- a/build/PixiBuild.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..b512c09
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+node_modules
\ No newline at end of file
diff --git a/Gruntfile.js b/Gruntfile.js
new file mode 100644
index 0000000..8e8e45e
--- /dev/null
+++ b/Gruntfile.js
@@ -0,0 +1,115 @@
+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:*:*"])
+
+}
\ No newline at end of file
diff --git a/README.md b/README.md
index 0a6c24b..4a0426c 100644
--- a/README.md
+++ b/README.md
@@ -39,12 +39,27 @@
### How to build ###
+PixiJS is build with Grunt. If you don't already have this, go install Node and NPM then install the Grunt Command Line.
+
```
-cd build
-ant -f PixiBuild.xml
+$> npm install -g grunt-cli
```
-This will create a minified version at bin/pixi.js and a non-minified version at bin/pixi.dev.js
+Then, in the folder where you have downloaded the source, install the build dependencies using npm:
+
+```
+$> npm install
+```
+
+Then build:
+
+```
+$> grunt
+```
+
+This will create a minified version at bin/pixi.js and a non-minified version at bin/pixi.dev.js.
+
+It also copies the non-minified version to the examples.
### Current features ###
diff --git a/build/PixiBuild.xml b/build/PixiBuild.xml
deleted file mode 100644
index e824bf6..0000000
--- a/build/PixiBuild.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/build/ant-contrib-1.0b3.jar b/build/ant-contrib-1.0b3.jar
deleted file mode 100644
index 0625376..0000000
--- a/build/ant-contrib-1.0b3.jar
+++ /dev/null
Binary files differ
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..b512c09
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+node_modules
\ No newline at end of file
diff --git a/Gruntfile.js b/Gruntfile.js
new file mode 100644
index 0000000..8e8e45e
--- /dev/null
+++ b/Gruntfile.js
@@ -0,0 +1,115 @@
+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:*:*"])
+
+}
\ No newline at end of file
diff --git a/README.md b/README.md
index 0a6c24b..4a0426c 100644
--- a/README.md
+++ b/README.md
@@ -39,12 +39,27 @@
### How to build ###
+PixiJS is build with Grunt. If you don't already have this, go install Node and NPM then install the Grunt Command Line.
+
```
-cd build
-ant -f PixiBuild.xml
+$> npm install -g grunt-cli
```
-This will create a minified version at bin/pixi.js and a non-minified version at bin/pixi.dev.js
+Then, in the folder where you have downloaded the source, install the build dependencies using npm:
+
+```
+$> npm install
+```
+
+Then build:
+
+```
+$> grunt
+```
+
+This will create a minified version at bin/pixi.js and a non-minified version at bin/pixi.dev.js.
+
+It also copies the non-minified version to the examples.
### Current features ###
diff --git a/build/PixiBuild.xml b/build/PixiBuild.xml
deleted file mode 100644
index e824bf6..0000000
--- a/build/PixiBuild.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/build/ant-contrib-1.0b3.jar b/build/ant-contrib-1.0b3.jar
deleted file mode 100644
index 0625376..0000000
--- a/build/ant-contrib-1.0b3.jar
+++ /dev/null
Binary files differ
diff --git a/build/compiler.jar b/build/compiler.jar
deleted file mode 100644
index 53037b0..0000000
--- a/build/compiler.jar
+++ /dev/null
Binary files differ
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..b512c09
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+node_modules
\ No newline at end of file
diff --git a/Gruntfile.js b/Gruntfile.js
new file mode 100644
index 0000000..8e8e45e
--- /dev/null
+++ b/Gruntfile.js
@@ -0,0 +1,115 @@
+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:*:*"])
+
+}
\ No newline at end of file
diff --git a/README.md b/README.md
index 0a6c24b..4a0426c 100644
--- a/README.md
+++ b/README.md
@@ -39,12 +39,27 @@
### How to build ###
+PixiJS is build with Grunt. If you don't already have this, go install Node and NPM then install the Grunt Command Line.
+
```
-cd build
-ant -f PixiBuild.xml
+$> npm install -g grunt-cli
```
-This will create a minified version at bin/pixi.js and a non-minified version at bin/pixi.dev.js
+Then, in the folder where you have downloaded the source, install the build dependencies using npm:
+
+```
+$> npm install
+```
+
+Then build:
+
+```
+$> grunt
+```
+
+This will create a minified version at bin/pixi.js and a non-minified version at bin/pixi.dev.js.
+
+It also copies the non-minified version to the examples.
### Current features ###
diff --git a/build/PixiBuild.xml b/build/PixiBuild.xml
deleted file mode 100644
index e824bf6..0000000
--- a/build/PixiBuild.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/build/ant-contrib-1.0b3.jar b/build/ant-contrib-1.0b3.jar
deleted file mode 100644
index 0625376..0000000
--- a/build/ant-contrib-1.0b3.jar
+++ /dev/null
Binary files differ
diff --git a/build/compiler.jar b/build/compiler.jar
deleted file mode 100644
index 53037b0..0000000
--- a/build/compiler.jar
+++ /dev/null
Binary files differ
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..5f823dc
--- /dev/null
+++ b/package.json
@@ -0,0 +1,9 @@
+{
+ "name" : "Pixi.JS",
+ "version" : "0.0.1",
+ "devDependencies" : {
+ "grunt" : "~0.4.x",
+ "grunt-contrib-jshint" : "~0.1.1",
+ "grunt-contrib-uglify" : "~0.2.0"
+ }
+}