Skip to content

Commit 575fd99

Browse files
committed
All: Replace Release.project with more appropriate values
Use package name for CDN. Use bugs and repository fields for changelog. Adds a _packageUrl method that the Trac module can also use. Fixes gh-49 Closes gh-52
1 parent a2e31dc commit 575fd99

File tree

5 files changed

+46
-32
lines changed

5 files changed

+46
-32
lines changed

lib/bootstrap.js

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@ Release.define({
4848
}
4949

5050
console.log();
51-
console.log( "\tProject: " + Release.project );
5251
console.log( "\tRelease type: " + (Release.preRelease ? "pre-release" : "stable") );
5352
console.log( "\tRemote: " + Release.remote );
5453
console.log( "\tBranch: " + Release.branch );
@@ -71,15 +70,8 @@ Release.define({
7170
process.exit( 1 );
7271
}
7372

74-
// URL
75-
if ( /:\/\//.test( remote ) ) {
76-
Release.project = remote.replace( /.+\/([^\/]+)\.git/, "$1" );
77-
78-
// filesystem or GitHub
79-
} else {
80-
Release.project = remote.split( "/" ).pop();
81-
82-
// If it's not a local path, it must be a GitHub repo
73+
// If it's not a local path, it must be a GitHub repo
74+
if ( !/:\/\//.test( remote ) ) {
8375
if ( !fs.existsSync( remote ) ) {
8476
Release.isTest = !/^jquery\//.test( remote );
8577
remote = "git@github.com:" + remote + ".git";

lib/cdn.js

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,19 @@ module.exports = function( Release ) {
66
testRemote = "git@github.com:jquery/fake-cdn.git";
77

88
function projectCdn() {
9-
var jqueryCdn = Release._cloneCdnRepo() + "/cdn";
10-
if ( Release.project === "jquery" ) {
9+
var npmPackage = Release.readPackage().name,
10+
jqueryCdn = Release._cloneCdnRepo() + "/cdn";
11+
if ( npmPackage === "jquery" ) {
1112
return jqueryCdn;
1213
}
13-
if ( Release.project === "qunit" ) {
14+
if ( npmPackage === "qunitjs" ) {
1415
return jqueryCdn + "/qunit";
1516
}
16-
if ( /^jquery-/.test( Release.project ) ) {
17-
return jqueryCdn + "/" + Release.project.substring( 7 ) +
17+
if ( /^jquery-/.test( npmPackage ) ) {
18+
return jqueryCdn + "/" + npmPackage.substring( 7 ) +
1819
"/" + Release.newVersion;
1920
}
20-
return jqueryCdn + "/" + Release.project + "/" + Release.newVersion;
21+
return jqueryCdn + "/" + npmPackage + "/" + Release.newVersion;
2122
}
2223

2324
Release.define({

lib/changelog.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,9 @@ Release.define({
2323

2424
_generateCommitChangelog: function() {
2525
var commits,
26-
commitRef = "[%h](http://github.com/jquery/" + Release.project + "/commit/%H)",
26+
commitRef = "[%h](" + Release._repositoryUrl() + "/commit/%H)",
2727
fullFormat = "* %s (TICKETREF, " + commitRef + ")",
28-
ticketUrl = Release.issueTracker === "trac" ?
29-
"http://bugs." + Release.project + ".com/ticket/" :
30-
"https://github.com/jquery/" + Release.project + "/issue/";
28+
ticketUrl = Release._ticketUrl();
3129

3230
console.log( "Adding commits..." );
3331
Release.chdir( Release.dir.repo );

lib/repo.js

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,40 @@ Release.define({
8282

8383
checkRepoState: function() {},
8484

85+
// Unwrapped URL field from package.json, no trailing slash
86+
_packageUrl: function( field ) {
87+
var result = Release.readPackage()[ field ];
88+
89+
// Make sure it exists
90+
if ( !result ) {
91+
Release.abort( "Failed to read '" + field + "' URL field from package.json" );
92+
}
93+
94+
// Unwrap
95+
if ( result.url ) {
96+
result = result.url;
97+
}
98+
99+
// Strip trailing slash
100+
return result.replace( /\/$/, "" );
101+
},
102+
103+
_ticketUrl: function() {
104+
return Release._packageUrl( "bugs" ) + ( Release.issueTracker === "trac" ?
105+
106+
// Trac bugs URL is just the host
107+
"/ticket/" :
108+
109+
// GitHub bugs URL is host/user/repo/issues
110+
"/" );
111+
},
112+
113+
_repositoryUrl: function() {
114+
return Release._packageUrl( "repository" )
115+
.replace( /^git/, "https" )
116+
.replace( /\.git$/, "" );
117+
},
118+
85119
_readJSON: function( fileName ) {
86120
var json = fs.readFileSync( Release.dir.repo + "/" + fileName, "utf8" );
87121
Release.packageIndentation = json.match( /\n([\t\s]+)/ )[ 1 ];

lib/trac.js

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,8 @@
11
module.exports = function( Release ) {
22

33
Release.define({
4-
_tracUrl: function() {
5-
var bugs = Release.readPackage().bugs;
6-
7-
// Unwrap
8-
if ( bugs.url ) {
9-
bugs = bugs.url;
10-
}
11-
12-
// Strip trailing slash
13-
return bugs.replace( /\/$/, "" );
14-
},
154
trac: function( path ) {
16-
var tracUrl = Release._tracUrl();
5+
var tracUrl = Release._packageUrl( "bugs" );
176
return Release.exec({
187
command: "curl -s '" + tracUrl + path + "&format=tab'",
198
silent: true

0 commit comments

Comments
 (0)