]> source.dussan.org Git - jquery-ui.git/commitdiff
Build: Generate quick download in release script.
authorScott González <scott.gonzalez@gmail.com>
Thu, 4 Oct 2012 20:48:42 +0000 (16:48 -0400)
committerScott González <scott.gonzalez@gmail.com>
Thu, 4 Oct 2012 20:48:42 +0000 (16:48 -0400)
build/release/release.js

index 0acd3325678e33ace0cdbdb416247a726ef37271..77430d8d16f2d2215f26b9aa8452c0be08005920 100644 (file)
@@ -1,5 +1,5 @@
 #!/usr/bin/env node
-/*global cat:true echo:true exec:true exit:true cd:true*/
+/*global cat:true cd:true cp:true echo:true exec:true exit:true ls:true*/
 
 var baseDir, repoDir, prevVersion, newVersion, nextVersion, tagTime,
        fs = require( "fs" ),
@@ -41,6 +41,9 @@ walk([
        section( "gathering contributors" ),
        gatherContributors,
 
+       section( "generating quick download" ),
+       generateQuickDownload,
+
        section( "updating trac" ),
        updateTrac,
        confirm
@@ -258,6 +261,34 @@ function gatherContributors() {
        echo( "Stored contributors in " + contributorsPath.cyan + "." );
 }
 
+function generateQuickDownload() {
+       var config,
+               downloadDir = repoDir + "/node_modules/download.jqueryui.com",
+               filename = "jquery-ui-" + newVersion + ".custom.zip",
+               destination = baseDir + "/" + filename;
+
+       cd( downloadDir );
+
+       // Update jQuery UI version for download builder
+       config = JSON.parse( cat( "config.json" ) );
+       config.jqueryUi = newVersion;
+       JSON.stringify( config ).to( "config.json" );
+
+       // Generate quick download
+       // TODO: Find a way to avoid having to clone jquery-ui inside download builder
+       if ( exec( "grunt prepare build" ).code !== 0 ) {
+               abort( "Error generating quick download." );
+       }
+       cp( downloadDir + "/release/" + filename, destination );
+       // cp() doesn't have error handling, so check for the file
+       if ( ls( destination ).length !== 1 ) {
+               abort( "Error copying quick download." );
+       }
+
+       // Go back to repo directory for consistency
+       cd( repoDir );
+}
+
 function updateTrac() {
        echo( newVersion.cyan + " was tagged at " + tagTime.cyan + "." );
        echo( "Close the " + newVersion.cyan + " Milestone with the above date and time." );
@@ -348,8 +379,8 @@ function bootstrap( fn ) {
                        return process.exit( 1 );
                }
 
-               require( baseDir + "/node_modules/shelljs/global" );
-               require( baseDir + "/node_modules/colors" );
+               require( "shelljs/global" );
+               require( "colors" );
 
                fn();
        });