aboutsummaryrefslogtreecommitdiffstats
path: root/build/tasks
diff options
context:
space:
mode:
Diffstat (limited to 'build/tasks')
-rw-r--r--build/tasks/build.js79
-rw-r--r--build/tasks/testswarm.js69
2 files changed, 116 insertions, 32 deletions
diff --git a/build/tasks/build.js b/build/tasks/build.js
index 06a4b98a2..bbe63da2c 100644
--- a/build/tasks/build.js
+++ b/build/tasks/build.js
@@ -2,6 +2,85 @@ module.exports = function( grunt ) {
var path = require( "path" );
+grunt.registerTask( "manifest", "Generate jquery.json manifest files", function() {
+ var pkg = grunt.config( "pkg" ),
+ base = {
+ core: {
+ name: "ui.{plugin}",
+ title: "jQuery UI {Plugin}"
+ },
+ widget: {
+ name: "ui.{plugin}",
+ title: "jQuery UI {Plugin}",
+ dependencies: [ "core", "widget" ]
+ },
+ interaction: {
+ name: "ui.{plugin}",
+ title: "jQuery UI {Plugin}",
+ dependencies: [ "core", "widget", "mouse" ]
+ },
+ effect: {
+ name: "ui.effect-{plugin}",
+ title: "jQuery UI {Plugin} Effect",
+ keywords: [ "effect", "show", "hide" ],
+ homepage: "http://jqueryui.com/{plugin}-effect/",
+ demo: "http://jqueryui.com/{plugin}-effect/",
+ docs: "http://api.jqueryui.com/{plugin}-effect/",
+ dependencies: [ "effect" ]
+ }
+ };
+
+ Object.keys( base ).forEach(function( type ) {
+ var baseManifest = base[ type ],
+ plugins = grunt.file.readJSON( "build/" + type + ".json" );
+
+ Object.keys( plugins ).forEach(function( plugin ) {
+ var manifest,
+ data = plugins[ plugin ],
+ name = plugin.charAt( 0 ).toUpperCase() + plugin.substr( 1 );
+
+ function replace( str ) {
+ return str.replace( "{plugin}", plugin ).replace( "{Plugin}", name );
+ }
+
+ manifest = {
+ name: data.name || replace( baseManifest.name ),
+ title: data.title || replace( baseManifest.title ),
+ description: data.description,
+ keywords: [ "ui", plugin ]
+ .concat( baseManifest.keywords || [] )
+ .concat( data.keywords || [] ),
+ version: pkg.version,
+ author: pkg.author,
+ maintainers: pkg.maintainers,
+ licenses: pkg.licenses,
+ bugs: pkg.bugs,
+ homepage: data.homepage || replace( baseManifest.homepage ||
+ "http://jqueryui.com/{plugin}/" ),
+ demo: data.demo || replace( baseManifest.demo ||
+ "http://jqueryui.com/{plugin}/" ),
+ docs: data.docs || replace( baseManifest.docs ||
+ "http://api.jqueryui.com/{plugin}/" ),
+ download: "http://jqueryui.com/download/",
+ dependencies: {
+ jquery: ">=1.6"
+ },
+ // custom
+ category: data.category || type
+ };
+
+ (baseManifest.dependencies || [])
+ .concat(data.dependencies || [])
+ .forEach(function( dependency ) {
+ manifest.dependencies[ "ui." + dependency ] = pkg.version;
+ });
+
+ grunt.file.write( manifest.name + ".jquery.json",
+ JSON.stringify( manifest, null, "\t" ) + "\n" );
+ });
+ });
+});
+
grunt.registerMultiTask( "copy", "Copy files to destination folder and replace @VERSION with pkg.version", function() {
function replaceVersion( source ) {
return source.replace( /@VERSION/g, grunt.config( "pkg.version" ) );
diff --git a/build/tasks/testswarm.js b/build/tasks/testswarm.js
index c0244ebad..29dd74b87 100644
--- a/build/tasks/testswarm.js
+++ b/build/tasks/testswarm.js
@@ -1,33 +1,38 @@
/*jshint node: true */
module.exports = function( grunt ) {
-var tests = {
- "Accordion": "accordion/accordion.html",
- "Accordion_deprecated": "accordion/accordion_deprecated.html",
- "Autocomplete": "autocomplete/autocomplete.html",
- "Button": "button/button.html",
- "Core": "core/core.html",
- //"datepicker/datepicker.html",
- //"dialog/dialog.html",
- //"draggable/draggable.html",
- //"droppable/droppable.html",
- "Effects": "effects/effects.html",
- "Menu": "menu/menu.html",
- "Position": "position/position.html",
- "Position_deprecated": "position/position_deprecated.html",
- "Progressbar": "progressbar/progressbar.html",
- //"resizable/resizable.html",
- //"selectable/selectable.html",
- //"slider/slider.html",
- //"sortable/sortable.html",
- "Spinner": "spinner/spinner.html",
- "Tabs": "tabs/tabs.html",
- "Tabs_deprecated": "tabs/tabs_deprecated.html",
- "Tooltip": "tooltip/tooltip.html",
- "Widget": "widget/widget.html"
-};
+var versions = {
+ "git": "git",
+ "1.7": "1.7 1.7.1 1.7.2",
+ "1.6": "1.6 1.6.1 1.6.2 1.6.3 1.6.4"
+ },
+ tests = {
+ "Accordion": "accordion/accordion.html",
+ "Accordion_deprecated": "accordion/accordion_deprecated.html",
+ "Autocomplete": "autocomplete/autocomplete.html",
+ "Button": "button/button.html",
+ "Core": "core/core.html",
+ //"datepicker/datepicker.html",
+ //"dialog/dialog.html",
+ //"draggable/draggable.html",
+ //"droppable/droppable.html",
+ "Effects": "effects/effects.html",
+ "Menu": "menu/menu.html",
+ "Position": "position/position.html",
+ "Position_deprecated": "position/position_deprecated.html",
+ "Progressbar": "progressbar/progressbar.html",
+ //"resizable/resizable.html",
+ //"selectable/selectable.html",
+ //"slider/slider.html",
+ //"sortable/sortable.html",
+ "Spinner": "spinner/spinner.html",
+ "Tabs": "tabs/tabs.html",
+ "Tabs_deprecated": "tabs/tabs_deprecated.html",
+ "Tooltip": "tooltip/tooltip.html",
+ "Widget": "widget/widget.html"
+ };
-function submit( commit, tests, configFile, done ) {
+function submit( commit, tests, configFile, version, done ) {
var test,
testswarm = require( "testswarm" ),
config = grunt.file.readJSON( configFile ).jqueryui,
@@ -39,12 +44,12 @@ function submit( commit, tests, configFile, done ) {
testswarm({
url: config.swarmUrl,
pollInterval: 10000,
- timeout: 1000 * 60 * 30,
+ timeout: 1000 * 60 * 45,
done: done
}, {
authUsername: config.authUsername,
authToken: config.authToken,
- jobName: 'jQuery UI commit #<a href="https://github.com/jquery/jquery-ui/commit/' + commit + '">' + commit.substr( 0, 10 ) + '</a>',
+ jobName: 'jQuery UI ' + version + '<a href="https://github.com/jquery/jquery-ui/commit/' + commit + '">' + commit.substr( 0, 7 ) + '</a>',
runMax: config.runMax,
"runNames[]": Object.keys(tests),
"runUrls[]": testUrls,
@@ -58,17 +63,17 @@ grunt.registerTask( "testswarm", function( commit, configFile ) {
for ( test in tests ) {
latestTests[ test ] = tests[ test ] + "?nojshint=true";
}
- submit( commit, latestTests, configFile, this.async() );
+ submit( commit, latestTests, configFile, "", this.async() );
});
-grunt.registerTask( "testswarm-multi-jquery", function( commit, configFile ) {
+grunt.registerTask( "testswarm-multi-jquery", function( commit, configFile, minor ) {
var allTests = {};
- "1.6 1.6.1 1.6.2 1.6.3 1.6.4 1.7 1.7.1 1.7.2 git".split(" ").forEach(function( version ) {
+ versions[ minor ].split(" ").forEach(function( version ) {
for ( var test in tests ) {
allTests[ test + "-" + version ] = tests[ test ] + "?nojshint=true&jquery=" + version;
}
});
- submit( commit, allTests, configFile, this.async() );
+ submit( commit, allTests, configFile, minor + " core ", this.async() );
});
};