aboutsummaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authorTimmy Willison <timmywillisn@gmail.com>2015-11-12 13:18:59 -0500
committerTimmy Willison <timmywillisn@gmail.com>2015-11-16 11:22:20 -0500
commitcf7102c3f1bcbd135f24947a3a3216cff272bdc2 (patch)
tree6a51615585760bb0831db372c5df93c5d5632277 /build
parent78b9eac1198627eb4dad0cc35334c7704449f310 (diff)
downloadjquery-cf7102c3f1bcbd135f24947a3a3216cff272bdc2.tar.gz
jquery-cf7102c3f1bcbd135f24947a3a3216cff272bdc2.zip
Release: push a custom slim build to the CDN
Fixes gh-2653 Close gh-2711
Diffstat (limited to 'build')
-rw-r--r--build/release.js16
-rw-r--r--build/release/cdn.js19
-rw-r--r--build/release/dist.js21
-rw-r--r--build/tasks/build.js8
-rw-r--r--build/tasks/dist.js9
-rw-r--r--build/tasks/sourcemap.js3
6 files changed, 47 insertions, 29 deletions
diff --git a/build/release.js b/build/release.js
index 5feddfa24..a333d05b4 100644
--- a/build/release.js
+++ b/build/release.js
@@ -2,7 +2,14 @@
module.exports = function( Release ) {
var
- files = [ "dist/jquery.js", "dist/jquery.min.js", "dist/jquery.min.map" ],
+ files = [
+ "dist/jquery.js",
+ "dist/jquery.min.js",
+ "dist/jquery.min.map",
+ "dist/jquery.slim.js",
+ "dist/jquery.slim.min.js",
+ "dist/jquery.slim.min.map"
+ ],
cdn = require( "./release/cdn" ),
dist = require( "./release/dist" ),
ensureSizzle = require( "./release/ensure-sizzle" ),
@@ -27,6 +34,11 @@ module.exports = function( Release ) {
*/
generateArtifacts: function( callback ) {
Release.exec( "grunt", "Grunt command failed" );
+ Release.exec(
+ "grunt custom:-ajax,-effects,-deprecated --filename=jquery.slim.js && " +
+ "grunt remove_map_comment --filename=jquery.slim.js",
+ "Grunt custom failed"
+ );
cdn.makeReleaseCopies( Release );
callback( files );
},
@@ -47,7 +59,7 @@ module.exports = function( Release ) {
*/
dist: function( callback ) {
cdn.makeArchives( Release, function() {
- dist( Release, callback );
+ dist( Release, files, callback );
} );
}
} );
diff --git a/build/release/cdn.js b/build/release/cdn.js
index 07285a56d..3b485112e 100644
--- a/build/release/cdn.js
+++ b/build/release/cdn.js
@@ -5,22 +5,23 @@ var
cdnFolder = "dist/cdn",
- devFile = "dist/jquery.js",
- minFile = "dist/jquery.min.js",
- mapFile = "dist/jquery.min.map",
-
releaseFiles = {
- "jquery-VER.js": devFile,
- "jquery-VER.min.js": minFile,
- "jquery-VER.min.map": mapFile
+ "jquery-VER.js": "dist/jquery.js",
+ "jquery-VER.min.js": "dist/jquery.min.js",
+ "jquery-VER.min.map": "dist/jquery.min.map",
+ "jquery-VER.slim.js": "dist/jquery.slim.js",
+ "jquery-VER.slim.min.js": "dist/jquery.slim.min.js",
+ "jquery-VER.slim.min.map": "dist/jquery.slim.min.map"
},
googleFilesCDN = [
- "jquery.js", "jquery.min.js", "jquery.min.map"
+ "jquery.js", "jquery.min.js", "jquery.min.map",
+ "jquery.slim.js", "jquery.slim.min.js", "jquery.slim.min.map"
],
msFilesCDN = [
- "jquery-VER.js", "jquery-VER.min.js", "jquery-VER.min.map"
+ "jquery-VER.js", "jquery-VER.min.js", "jquery-VER.min.map",
+ "jquery-VER.slim.js", "jquery-VER.slim.min.js", "jquery-VER.slim.min.map"
];
/**
diff --git a/build/release/dist.js b/build/release/dist.js
index 32053eafb..514d40739 100644
--- a/build/release/dist.js
+++ b/build/release/dist.js
@@ -1,13 +1,16 @@
-module.exports = function( Release, complete ) {
+module.exports = function( Release, files, complete ) {
var
fs = require( "fs" ),
shell = require( "shelljs" ),
pkg = require( Release.dir.repo + "/package.json" ),
- distRemote = Release.remote.replace( "jquery.git", "jquery-dist.git" ),
+ distRemote = Release.remote
+
+ // For local and github dists
+ .replace( /jquery(\.git|$)/, "jquery-dist$1" ),
// These files are included with the distribution
- files = [
+ extras = [
"src",
"LICENSE.txt",
"AUTHORS.txt",
@@ -54,17 +57,13 @@ module.exports = function( Release, complete ) {
// Copy dist files
var distFolder = Release.dir.dist + "/dist";
shell.mkdir( "-p", distFolder );
- [
- "dist/jquery.js",
- "dist/jquery.min.js",
- "dist/jquery.min.map"
- ].forEach( function( file ) {
- shell.cp( Release.dir.repo + "/" + file, distFolder );
+ files.forEach( function( file ) {
+ shell.cp( "-f", Release.dir.repo + "/" + file, distFolder );
} );
// Copy other files
- files.forEach( function( file ) {
- shell.cp( "-r", Release.dir.repo + "/" + file, Release.dir.dist );
+ extras.forEach( function( file ) {
+ shell.cp( "-rf", Release.dir.repo + "/" + file, Release.dir.dist );
} );
// Write generated bower file
diff --git a/build/tasks/build.js b/build/tasks/build.js
index 74fa47fde..c9f1daeb8 100644
--- a/build/tasks/build.js
+++ b/build/tasks/build.js
@@ -15,7 +15,6 @@ module.exports = function( grunt ) {
config = {
baseUrl: "src",
name: "jquery",
- out: "dist/jquery.js",
// We have multiple minify steps
optimize: "none",
@@ -115,7 +114,7 @@ module.exports = function( grunt ) {
done = this.async(),
flags = this.flags,
optIn = flags[ "*" ],
- name = this.data.dest,
+ name = grunt.option( "filename" ),
minimum = this.data.minimum,
removeWith = this.data.removeWith,
excluded = [],
@@ -205,6 +204,11 @@ module.exports = function( grunt ) {
}
};
+ // Filename can be passed to the command line using
+ // command line options
+ // e.g. grunt build --filename=jquery-custom.js
+ name = name ? ( "dist/" + name ) : this.data.dest;
+
// append commit id to version
if ( process.env.COMMIT ) {
version += " " + process.env.COMMIT;
diff --git a/build/tasks/dist.js b/build/tasks/dist.js
index 78ce2f254..fa6920c88 100644
--- a/build/tasks/dist.js
+++ b/build/tasks/dist.js
@@ -2,11 +2,12 @@ module.exports = function( grunt ) {
"use strict";
- var fs = require( "fs" ),
+ var fs = require( "fs" ),
+ filename = grunt.option( "filename" ),
distpaths = [
- "dist/jquery.js",
- "dist/jquery.min.map",
- "dist/jquery.min.js"
+ "dist/" + filename,
+ "dist/" + filename.replace( ".js", ".min.map" ),
+ "dist/" + filename.replace( ".js", ".min.js" )
];
// Process files for distribution
diff --git a/build/tasks/sourcemap.js b/build/tasks/sourcemap.js
index 3e4144de0..3f21b2afd 100644
--- a/build/tasks/sourcemap.js
+++ b/build/tasks/sourcemap.js
@@ -1,8 +1,9 @@
var fs = require( "fs" );
module.exports = function( grunt ) {
- var minLoc = Object.keys( grunt.config( "uglify.all.files" ) )[ 0 ];
+ var config = grunt.config( "uglify.all.files" );
grunt.registerTask( "remove_map_comment", function() {
+ var minLoc = grunt.config.process( Object.keys( config )[ 0 ] );
// Remove the source map comment; it causes way too many problems.
// The map file is still generated for manual associations