From: Chris Talkington Date: Sun, 12 May 2013 21:21:31 +0000 (-0500) Subject: build: update release script to use nodejs archiver. X-Git-Tag: 2.0.1~13 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=eaee6eae0fee57337fabe41eb4558cf1acdf765b;p=jquery.git build: update release script to use nodejs archiver. --- diff --git a/AUTHORS.txt b/AUTHORS.txt index b1fa8f62f..c91d320af 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -169,3 +169,4 @@ Li Xudong Renato Oliveira dos Santos Jason Bedard Kyle Robinson Young +Chris Talkington \ No newline at end of file diff --git a/build/release.js b/build/release.js index 774bd0447..e9b0ead08 100644 --- a/build/release.js +++ b/build/release.js @@ -9,7 +9,13 @@ var debug = false, var fs = require("fs"), child = require("child_process"), - path = require("path"); + path = require("path"), + zlib = require("zlib"); + +var archiver = require("archiver"); +var gzipOptions = { + level: 9 +}; var releaseVersion, nextVersion, @@ -237,6 +243,19 @@ function makeArchive( cdn, files, fn ) { console.log( "Creating production archive for " + cdn ); + var gzipper = zlib.createGzip( gzipOptions ); + var output = fs.createWriteStream( "dist/" + cdn + "-jquery-" + releaseVersion + ".tar.gz" ); + + var archive = archiver( "tar" ); + + archive.on( "error", function( err ) { + throw err; + }); + + output.on( "close", fn ); + + archive.pipe( gzipper ).pipe( output ); + files = files.map(function( item ) { return "dist/" + item.replace( /VER/g, releaseVersion ); }); @@ -245,7 +264,12 @@ function makeArchive( cdn, files, fn ) { exec( "md5sum", files, function( err, stdout, stderr ) { fs.writeFileSync( md5file, stdout ); files.push( md5file ); - exec( "tar", [ "-czvf", "dist/" + cdn + "-jquery-" + releaseVersion + ".tar.gz" ].concat( files ), fn, false ); + + files.forEach(function( file ) { + archive.append( fs.createReadStream( file ), { name: file } ); + }); + + archive.finalize(); }, false ); } diff --git a/package.json b/package.json index 52a44b455..ef762e806 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,8 @@ "grunt-contrib-uglify": "0.2.0", "grunt": "0.4.1", "gzip-js": "0.3.1", - "testswarm": "0.2.2" + "testswarm": "0.2.2", + "archiver": "~0.4.2" }, "keywords": [] }