diff options
-rw-r--r-- | AUTHORS.txt | 1 | ||||
-rw-r--r-- | build/release.js | 28 | ||||
-rw-r--r-- | package.json | 3 |
3 files changed, 29 insertions, 3 deletions
diff --git a/AUTHORS.txt b/AUTHORS.txt index b1fa8f62f..c91d320af 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -169,3 +169,4 @@ Li Xudong <istonelee@gmail.com> Renato Oliveira dos Santos <ros3@cin.ufpe.br> Jason Bedard <jason+jquery@jbedard.ca> Kyle Robinson Young <kyle@dontkry.com> +Chris Talkington <chris@talkingtontech.com>
\ 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": [] } |