diff --git a/Gruntfile.js b/Gruntfile.js index 5ec05f70..d059a2a7 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -10,7 +10,7 @@ module.exports = function(grunt) { grunt.loadTasks('lib/grunt'); var NG_VERSION = versionInfo.currentVersion; - NG_VERSION.cdn = versionInfo.currentPackage.cdnVersion; + NG_VERSION.cdn = versionInfo.cdnVersion; var dist = 'angular-'+ NG_VERSION.full; //global beforeEach diff --git a/docs/docs.config.js b/docs/docs.config.js index fcd3f9d9..124720e0 100644 --- a/docs/docs.config.js +++ b/docs/docs.config.js @@ -6,7 +6,7 @@ var basePackage = require('./config'); module.exports = function(config) { - var cdnUrl = "//ajax.googleapis.com/ajax/libs/angularjs/" + versionInfo.currentPackage.cdnVersion; + var cdnUrl = "//ajax.googleapis.com/ajax/libs/angularjs/" + versionInfo.cdnVersion; var getVersion = function(component, sourceFolder, packageFile) { sourceFolder = sourceFolder || '../bower_components'; diff --git a/lib/versions/version-info.js b/lib/versions/version-info.js index 3ee5e261..3c1c6194 100644 --- a/lib/versions/version-info.js +++ b/lib/versions/version-info.js @@ -4,7 +4,7 @@ var shell = require('shelljs'); var semver = require('semver'); var _ = require('lodash'); -var currentPackage, previousVersions; +var currentPackage, previousVersions, cdnVersion; /** @@ -131,6 +131,29 @@ var getPreviousVersions = function() { } }; +var getCdnVersion = function() { + return _(previousVersions) + .filter(function(tag) { + return semver.satisfies(tag, currentPackage.branchVersion); + }) + .reverse() + .reduce(function(cdnVersion, version) { + if (!cdnVersion) { + // Note: need to use shell.exec and curl here + // as version-infos returns its result synchronously... + var cdnResult = shell.exec('curl http://ajax.googleapis.com/ajax/libs/angularjs/'+version+'/angular.min.js '+ + '--head --write-out "%{http_code}" -o /dev/null -silent', + {silent: true}); + if ( cdnResult.code === 0 ) { + var statusCode = cdnResult.output.trim(); + if (statusCode === '200') { + cdnVersion = version; + } + } + } + return cdnVersion; + }, null); +} /** * Get the unstable snapshot version @@ -179,4 +202,5 @@ var getSnapshotVersion = function() { exports.currentPackage = currentPackage = getPackage(); exports.gitRepoInfo = gitRepoInfo = getGitRepoInfo(); exports.previousVersions = previousVersions = getPreviousVersions(); +exports.cdnVersion = cdnVersion = getCdnVersion(); exports.currentVersion = getTaggedVersion() || getSnapshotVersion(); diff --git a/package.json b/package.json index 04371355..4514fdd6 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,6 @@ { "name": "angularjs", "branchVersion": "1.3.*", - "cdnVersion": "1.3.0-beta.3", "repository": { "type": "git", "url": "https://github.com/angular/angular.js.git" diff --git a/scripts/angular.js/publish-cdn-version.sh b/scripts/angular.js/publish-cdn-version.sh deleted file mode 100755 index ed5ce43e..00000000 --- a/scripts/angular.js/publish-cdn-version.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh - -# Script for updating cdnVersion of angular.js - -echo "###################################" -echo "## Update angular.js cdnVersion ###" -echo "###################################" - -ARG_DEFS=( - "--cdn-version=(.*)" - "--action=(prepare|publish)" -) - -function init { - cd ../.. -} - -function prepare { - replaceJsonProp "package.json" "cdnVersion" "(.*)" "$CDN_VERSION" - git add package.json - git commit -m "chore(release): update cdn version" -} - -function publish { - BRANCH=$(git rev-parse --abbrev-ref HEAD) - # push the commits to github - git push origin $BRANCH -} - -source $(dirname $0)/../utils.inc