mirror of
https://github.com/Polymer/polymer.git
synced 2026-08-19 01:14:44 -05:00
123 lines
2.8 KiB
JavaScript
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']);
|
|
};
|
|
|