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) {
// ----------
grunt.loadNpmTasks("grunt-contrib-compress");
grunt.loadNpmTasks("grunt-contrib-concat");
grunt.loadNpmTasks("grunt-contrib-jshint");
@ -9,6 +10,7 @@ module.exports = function(grunt) {
grunt.loadNpmTasks("grunt-contrib-watch");
grunt.loadNpmTasks("grunt-contrib-clean");
// ----------
var distribution = "build/openseadragon/openseadragon.js",
minified = "build/openseadragon/openseadragon.min.js",
sources = [
@ -42,6 +44,7 @@ module.exports = function(grunt) {
"src/viewport.js"
];
// ----------
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON("package.json"),
@ -60,7 +63,10 @@ module.exports = function(grunt) {
},
concat: {
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: {
src: [ "<banner>" ].concat(sources),
@ -68,6 +74,9 @@ module.exports = function(grunt) {
}
},
uglify: {
options: {
preserveComments: "some"
},
openseadragon: {
src: [ distribution ],
dest: minified
@ -107,7 +116,7 @@ module.exports = function(grunt) {
}
},
watch: {
files: [ "grunt.js", "src/*.js" ],
files: [ "Gruntfile.js", "src/*.js", "images/*" ],
tasks: "build"
},
jshint: {
@ -124,6 +133,7 @@ module.exports = function(grunt) {
}
});
// ----------
// Copy:build task.
// Copies the image files into the appropriate location in the build folder.
grunt.registerTask("copy:build", function() {
@ -132,6 +142,7 @@ module.exports = function(grunt) {
});
});
// ----------
// Copy:release task.
// Copies the contents of the build folder into ../site-build.
grunt.registerTask("copy:release", function() {
@ -144,24 +155,29 @@ module.exports = function(grunt) {
});
});
// ----------
// Build task.
// Cleans out the build folder and builds the code and images into it, checking lint.
grunt.registerTask("build", [
"clean:build", "jshint:beforeconcat", "concat", "jshint:afterconcat", "uglify", "copy:build"
]);
// ----------
// Test task.
// Builds and runs unit tests.
grunt.registerTask("test", ["build", "connect", "qunit"]);
// ----------
// Package task.
// Builds and creates the .zip and .tar files.
grunt.registerTask("package", ["build", "compress"]);
// ----------
// Publish task.
// Cleans the built files out of ../site-build and copies newly built ones over.
grunt.registerTask("publish", ["package", "clean:release", "copy:release"]);
// ----------
// Default task.
// Does a normal 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:
1. Install Node (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 Node, if you haven't already (available at the link above)
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. On the command line, go in to the openseadragon folder
1. Run `npm install`

View File

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