This commit is contained in:
thatcher 2013-03-12 20:15:36 -04:00
commit 417a93d5ae
3 changed files with 22 additions and 4 deletions

View File

@ -1,5 +1,6 @@
module.exports = function(grunt) { module.exports = function(grunt) {
// ----------
grunt.loadNpmTasks("grunt-contrib-compress"); grunt.loadNpmTasks("grunt-contrib-compress");
grunt.loadNpmTasks("grunt-contrib-concat"); grunt.loadNpmTasks("grunt-contrib-concat");
grunt.loadNpmTasks("grunt-contrib-jshint"); grunt.loadNpmTasks("grunt-contrib-jshint");
@ -9,6 +10,7 @@ module.exports = function(grunt) {
grunt.loadNpmTasks("grunt-contrib-watch"); grunt.loadNpmTasks("grunt-contrib-watch");
grunt.loadNpmTasks("grunt-contrib-clean"); grunt.loadNpmTasks("grunt-contrib-clean");
// ----------
var distribution = "build/openseadragon/openseadragon.js", var distribution = "build/openseadragon/openseadragon.js",
minified = "build/openseadragon/openseadragon.min.js", minified = "build/openseadragon/openseadragon.min.js",
sources = [ sources = [
@ -42,6 +44,7 @@ module.exports = function(grunt) {
"src/viewport.js" "src/viewport.js"
]; ];
// ----------
// Project configuration. // Project configuration.
grunt.initConfig({ grunt.initConfig({
pkg: grunt.file.readJSON("package.json"), pkg: grunt.file.readJSON("package.json"),
@ -60,7 +63,10 @@ module.exports = function(grunt) {
}, },
concat: { concat: {
options: { options: {
banner: "/**\n * @version <%= pkg.name %> <%= pkg.version %>\n */\n\n" banner: "//! <%= pkg.name %> <%= pkg.version %>\n"
+ "//! Built on <%= grunt.template.today('yyyy-mm-dd') %>\n"
+ "//! http://openseadragon.github.com\n\n",
process: true
}, },
dist: { dist: {
src: [ "<banner>" ].concat(sources), src: [ "<banner>" ].concat(sources),
@ -68,6 +74,9 @@ module.exports = function(grunt) {
} }
}, },
uglify: { uglify: {
options: {
preserveComments: "some"
},
openseadragon: { openseadragon: {
src: [ distribution ], src: [ distribution ],
dest: minified dest: minified
@ -107,7 +116,7 @@ module.exports = function(grunt) {
} }
}, },
watch: { watch: {
files: [ "grunt.js", "src/*.js" ], files: [ "Gruntfile.js", "src/*.js", "images/*" ],
tasks: "build" tasks: "build"
}, },
jshint: { jshint: {
@ -124,6 +133,7 @@ module.exports = function(grunt) {
} }
}); });
// ----------
// Copy:build task. // Copy:build task.
// Copies the image files into the appropriate location in the build folder. // Copies the image files into the appropriate location in the build folder.
grunt.registerTask("copy:build", function() { grunt.registerTask("copy:build", function() {
@ -132,6 +142,7 @@ module.exports = function(grunt) {
}); });
}); });
// ----------
// Copy:release task. // Copy:release task.
// Copies the contents of the build folder into ../site-build. // Copies the contents of the build folder into ../site-build.
grunt.registerTask("copy:release", function() { grunt.registerTask("copy:release", function() {
@ -144,24 +155,29 @@ module.exports = function(grunt) {
}); });
}); });
// ----------
// Build task. // Build task.
// Cleans out the build folder and builds the code and images into it, checking lint. // Cleans out the build folder and builds the code and images into it, checking lint.
grunt.registerTask("build", [ grunt.registerTask("build", [
"clean:build", "jshint:beforeconcat", "concat", "jshint:afterconcat", "uglify", "copy:build" "clean:build", "jshint:beforeconcat", "concat", "jshint:afterconcat", "uglify", "copy:build"
]); ]);
// ----------
// Test task. // Test task.
// Builds and runs unit tests. // Builds and runs unit tests.
grunt.registerTask("test", ["build", "connect", "qunit"]); grunt.registerTask("test", ["build", "connect", "qunit"]);
// ----------
// Package task. // Package task.
// Builds and creates the .zip and .tar files. // Builds and creates the .zip and .tar files.
grunt.registerTask("package", ["build", "compress"]); grunt.registerTask("package", ["build", "compress"]);
// ----------
// Publish task. // Publish task.
// Cleans the built files out of ../site-build and copies newly built ones over. // Cleans the built files out of ../site-build and copies newly built ones over.
grunt.registerTask("publish", ["package", "clean:release", "copy:release"]); grunt.registerTask("publish", ["package", "clean:release", "copy:release"]);
// ----------
// Default task. // Default task.
// Does a normal build. // Does a normal build.
grunt.registerTask("default", ["build"]); grunt.registerTask("default", ["build"]);

View File

@ -22,8 +22,8 @@ For more information on the upgrade, see http://gruntjs.com/upgrading-from-0.3-t
All command-line operations are scripted using [Grunt](http://gruntjs.com/) which is based on [Node.js](http://nodejs.org/). To get set up: All command-line operations are scripted using [Grunt](http://gruntjs.com/) which is based on [Node.js](http://nodejs.org/). To get set up:
1. Install Node (available at the link above) 1. Install Node, if you haven't already (available at the link above)
1. On the command line, run `npm install -g grunt-cli` (this will install the Grunt command line runner) 1. Install the Grunt command line runner (if you haven't already); on the command line, run `npm install -g grunt-cli`
1. Clone the openseadragon repository 1. Clone the openseadragon repository
1. On the command line, go in to the openseadragon folder 1. On the command line, go in to the openseadragon folder
1. Run `npm install` 1. Run `npm install`

View File

@ -1,4 +1,6 @@
/** /**
* @version <%= pkg.name %> <%= pkg.version %>
*
* @fileOverview * @fileOverview
* <h2> * <h2>
* <strong> * <strong>