Files
polymer/gruntfile.js
T
2013-05-13 18:07:25 -07:00

123 lines
2.8 KiB
JavaScript

/*
* Copyright 2013 The Polymer-Project Authors. All rights reserved.
* Use of this source code is governed by a BSD-style
* license that can be found in the LICENSE file.
*/
module.exports = function(grunt) {
Platform = [
'platform/platform.min.js'
];
PlatformNative = [
'platform/platform.native.min.js'
];
Polymer = [
'src/lang.js',
'src/oop.js',
'src/register.js',
'src/base.js',
'src/bindProperties.js',
'src/bindMDV.js',
'src/attrs.js',
'src/marshal.js',
'src/events.js',
'src/observeProperties.js',
'src/styling.js',
'src/shimStyling.js',
'src/path.js',
'src/job.js',
'src/boot.js'
];
// karma setup
var browsers;
(function() {
try {
var config = grunt.file.readJSON('local.json');
if (config.browsers) {
browsers = config.browsers;
}
} catch (e) {
var os = require('os');
browsers = ['Chrome', 'Firefox'];
//browsers = ['Chrome'];
if (os.type() === 'Darwin') {
browsers.push('ChromeCanary');
}
if (os.type() === 'Windows_NT') {
browsers.push('IE');
}
}
})();
grunt.initConfig({
karma: {
options: {
configFile: 'conf/karma.conf.js',
keepalive: true
},
browserstack: {
browsers: ["BrowserStack:IE:Win"]
},
buildbot: {
browsers: browsers,
reporters: ['crbot'],
logLevel: 'OFF'
},
polymer: {
browsers: browsers
}
},
uglify: {
Polymer: {
options: {
sourceMap: 'polymer.min.js.map'
},
files: {
'polymer.min.js': [].concat(Platform, Polymer)
}
},
ToolkitNative: {
options: {
sourceMap: 'polymer.native.min.js.map'
},
files: {
'polymer.native.min.js': [].concat(PlatformNative, Polymer)
}
}
},
yuidoc: {
compile: {
name: '<%= pkg.name %>',
description: '<%= pkg.description %>',
version: '<%= pkg.version %>',
url: '<%= pkg.homepage %>',
options: {
exclude: 'third_party',
extension: '.js,.html',
paths: '.',
outdir: 'docs',
linkNatives: 'true',
tabtospace: 2,
themedir: '../docs/doc_themes/bootstrap'
}
}
},
pkg: grunt.file.readJSON('package.json')
});
// plugins
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-yuidoc');
grunt.loadNpmTasks('grunt-karma-0.9.1');
// tasks
grunt.registerTask('default', ['uglify']);
grunt.registerTask('minify', ['uglify']);
grunt.registerTask('docs', ['yuidoc']);
grunt.registerTask('test', ['karma:polymer']);
grunt.registerTask('test-buildbot', ['karma:buildbot']);
};