+/*
+ * Copyright (c) 2012, Intel Corporation.
+ *
+ * This program is licensed under the terms and conditions of the
+ * Apache License, version 2.0. The full text of the Apache License is at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ */
+
module.exports = function(grunt) {
// Project configuration.
files: [
'grunt.js',
- 'src/bootstrap/**/*.{js,less}',
'src/javascripts/*.js',
- 'src/less/*.less',
- 'src/themes/*.less',
- 'src/cowhide-less/*.less',
-
- 'examples/calf/javascripts/*.js',
- 'examples/calf/javascripts/app/*.js',
- 'examples/calf/javascripts/app/**/*.js',
+ 'src/bootstrap/**/*.{js,less}',
+ 'src/stylesheets/**/*.less',
+ 'src/themes/**/*.less',
'tests/**/*.js'
],
tasks: 'default'
},
+ clean: {
+ folder: 'dist'
+ },
lint: {
all: [
'grunt.js',
'src/bootstrap/js/*.js',
'src/javascripts/*.js',
- 'examples/calf/javascripts/*.js',
- 'examples/calf/javascripts/app/*.js',
- 'examples/calf/javascripts/app/**/*.js',
-
'test/**/*.js'
]
},
"devel" : true,
"boss" : true,
"expr" : true,
- "asi" : true
+ "asi" : true,
+ "es5" : true
}
},
less: {
- default_theme: {
+ default_: {
+ files: {
+ 'dist/cowhide-default.css': 'src/themes/default/default.less',
+ 'dist/cowhide-responsive.css': 'src/bootstrap/less/responsive.less'
+ }
+ },
+ default_night: {
+ files: {
+ 'dist/cowhide-default-night.css': 'src/themes/default/default-night.less'
+ }
+ },
+ amelia: {
+ files: {
+ 'dist/cowhide-amelia.css': 'src/themes/amelia/amelia.less'
+ }
+ },
+ amelia_night: {
files: {
- 'dist/cowhide-default.css': 'src/less/cowhide-default.less'
+ // TODO: add theme implementation for amelia-night.
+ 'dist/cowhide-amelia-night.css': 'src/themes/amelia/amelia.less'
}
},
- cyborg: {
+ spruce: {
files: {
- 'dist/cowhide-cyborg.css': 'src/less/cowhide-cyborg.less'
+ 'dist/cowhide-spruce.css': 'src/themes/spruce/spruce.less'
+ }
+ },
+ spruce_night: {
+ files: {
+ // TODO: add theme implementation for spruce-night.
+ 'dist/cowhide-spruce-night.css': 'src/themes/spruce/spruce.less'
}
}
},
concat: {
- js: {
+ cowhide_js: {
src: [
- 'lib/jquery-1.8.2.js',
- 'lib/jquery.ui.core.js',
- 'lib/jquery.ui.widget.js',
- 'lib/jquery.ui.mouse.js',
- 'lib/jquery.ui.slider.js',
- 'lib/underscore-min.js',
+ 'lib/jquery/dist/jquery.js',
+ 'lib/jquery-ui/dist/jquery-ui.js',
+ 'lib/underscore/underscore.js',
// Bootstrap files must preserve order.
'src/bootstrap/js/bootstrap-transition.js',
'src/bootstrap/js/bootstrap-typeahead.js',
'src/bootstrap/js/bootstrap-affix.js',
+ 'src/javascripts/api.js',
+
'src/javascripts/cowhide-core.js',
'src/javascripts/cowhide-widget.js',
'src/javascripts/cowhide-button.js',
'src/javascripts/cowhide-seat-selector.js',
- 'src/javascripts/cowhide-slider.js'
+ 'src/javascripts/cowhide-slider.js',
+ 'src/javascripts/cowhide-text-input.js',
+ 'src/javascripts/cowhide-radio-input.js',
+ 'src/javascripts/cowhide-checkbox-input.js',
+ 'src/javascripts/cowhide-select.js',
+ 'src/javascripts/cowhide-page.js',
+ 'src/javascripts/cowhide-header.js',
+ 'src/javascripts/cowhide-scrollable.js',
+ 'src/javascripts/cowhide-simple-scrollable.js'
], dest: 'dist/cowhide.js'
},
css_default: {
src: [
'dist/cowhide-default.css',
- 'lib/jquery.ui.slider.css'
], dest: 'dist/cowhide-default.css'
},
- css_cyborg: {
+ css_default_night: {
src: [
- 'dist/cowhide-cyborg.css',
- 'lib/jquery.ui.slider.css'
- ], dest: 'dist/cowhide-cyborg .css'
+ 'dist/cowhide-default-night.css',
+ ], dest: 'dist/cowhide-default-night.css'
+ },
+ css_amelia: {
+ src: [
+ 'dist/cowhide-amelia.css',
+ ], dest: 'dist/cowhide-amelia.css'
+ },
+ css_amelia_night: {
+ src: [
+ 'dist/cowhide-amelia-night.css',
+ ], dest: 'dist/cowhide-amelia-night.css'
+ },
+ css_spruce: {
+ src: [
+ 'dist/cowhide-spruce.css',
+ ], dest: 'dist/cowhide-spruce.css'
+ },
+ css_spruce_night: {
+ src: [
+ 'dist/cowhide-spruce-night.css',
+ ], dest: 'dist/cowhide-spruce-night.css'
}
},
min: {
- all: {
+ cowhide: {
src: ['dist/cowhide.js'],
dest: 'dist/cowhide.min.js'
}
},
cssmin: {
- default_theme: {
+ default_: {
src: ['dist/cowhide-default.css'],
dest: 'dist/cowhide-default.min.css'
},
- cyborg: {
- src: ['dist/cowhide-cyborg.css'],
- dest: 'dist/cowhide-cyborg.min.css'
+ responsive: {
+ src: ['dist/cowhide-responsive.css'],
+ dest: 'dist/cowhide-responsive.min.css'
+ },
+ default_night: {
+ src: ['dist/cowhide-default-night.css'],
+ dest: 'dist/cowhide-default-night.min.css'
+ },
+ amelia: {
+ src: ['dist/cowhide-amelia.css'],
+ dest: 'dist/cowhide-amelia.min.css'
+ },
+ amelia_night: {
+ src: ['dist/cowhide-amelia-night.css'],
+ dest: 'dist/cowhide-amelia-night.min.css'
+ },
+ spruce: {
+ src: ['dist/cowhide-spruce.css'],
+ dest: 'dist/cowhide-spruce.min.css'
+ },
+ spruce_night: {
+ src: ['dist/cowhide-spruce-night.css'],
+ dest: 'dist/cowhide-spruce-night.min.css'
}
},
copy: {
dist: {
files: {
- 'dist/images/': 'images/*'
+ 'dist/images/': 'images/**',
+ 'dist/README.md': 'README.md',
+ 'dist/docs/': 'docs/**'
+ }
+ },
+ },
+ exec: {
+ build_docs: {
+ command: 'node dist/docs/build'
+ }
+ },
+ compress: {
+ dist: {
+ files: {
+ 'dist/cowhide.zip': 'dist/**'
}
}
},
grunt.loadNpmTasks('grunt-css');
grunt.loadNpmTasks('grunt-growl');
grunt.loadNpmTasks('grunt-contrib-copy');
+ grunt.loadNpmTasks('grunt-contrib-compress');
+ grunt.loadNpmTasks('grunt-clean');
+ grunt.loadNpmTasks('grunt-exec');
- grunt.registerTask('default', 'growl:started lint less concat min cssmin copy growl:finished');
-};
\ No newline at end of file
+ grunt.registerTask('default', 'growl:started clean lint less concat min cssmin copy exec:build_docs compress growl:finished');
+};