From 795f2555a6d3612f72853c60818bf01d7470ab34 Mon Sep 17 00:00:00 2001 From: Patrick Connolly Date: Tue, 18 Feb 2014 16:23:18 -0500 Subject: [PATCH 1/5] Adopted annotated git tag best-practice. --- tasks/grunt-release.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/grunt-release.js b/tasks/grunt-release.js index 90974b3..cf2f361 100644 --- a/tasks/grunt-release.js +++ b/tasks/grunt-release.js @@ -109,7 +109,7 @@ module.exports = function(grunt){ } function tag(){ - return run('git tag ' + tagName + ' -m "'+ tagMessage +'"', 'created new git tag: ' + tagName); + return run('git tag --annotate ' + tagName + ' -m "'+ tagMessage +'"', 'created new git tag: ' + tagName); } function push(){ From 6d279955ff0e865d8e5f4b0e339ca963acc078d2 Mon Sep 17 00:00:00 2001 From: Patrick Connolly Date: Tue, 18 Feb 2014 17:11:01 -0500 Subject: [PATCH 2/5] Added tagType option for lightweight/annotated/signed tags. --- tasks/grunt-release.js | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/tasks/grunt-release.js b/tasks/grunt-release.js index cf2f361..f213210 100644 --- a/tasks/grunt-release.js +++ b/tasks/grunt-release.js @@ -32,6 +32,7 @@ module.exports = function(grunt){ version: config.newVersion } }; + var tagType = grunt.template.process(grunt.config.getRaw('release.options.tagType') || 'annotated', templateOptions); var tagName = grunt.template.process(grunt.config.getRaw('release.options.tagName') || '<%= version %>', templateOptions); var commitMessage = grunt.template.process(grunt.config.getRaw('release.options.commitMessage') || 'release <%= version %>', templateOptions); var tagMessage = grunt.template.process(grunt.config.getRaw('release.options.tagMessage') || 'version <%= version %>', templateOptions); @@ -73,6 +74,24 @@ module.exports = function(grunt){ return tag; } + function getTagTypeArg(){ + var type = grunt.option('tagType') || options.tagType; + arg = ''; + switch(type) + { + case 'annotated': + arg = '--annotate '; + case 'signed': + arg = '--sign '; + case 'lightweight': + arg = ''; + default: + throw 'Unrecognized tagType: ' + type; + + } + return arg; + } + function ifEnabled(option, fn){ if (options[option]) return fn; } @@ -109,7 +128,7 @@ module.exports = function(grunt){ } function tag(){ - return run('git tag --annotate ' + tagName + ' -m "'+ tagMessage +'"', 'created new git tag: ' + tagName); + return run('git tag ' + getTagTypeArg() + tagName + ' -m "'+ tagMessage +'"', 'created new ' + tagType + ' git tag: ' + tagName); } function push(){ From c552142e247ce7bc52fda6dc43bbfba5af2a330a Mon Sep 17 00:00:00 2001 From: Patrick Connolly Date: Tue, 18 Feb 2014 17:57:52 -0500 Subject: [PATCH 3/5] Fixed thrown error on unrecognized tag type. --- tasks/grunt-release.js | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/tasks/grunt-release.js b/tasks/grunt-release.js index f213210..2a1aa0c 100644 --- a/tasks/grunt-release.js +++ b/tasks/grunt-release.js @@ -76,20 +76,16 @@ module.exports = function(grunt){ function getTagTypeArg(){ var type = grunt.option('tagType') || options.tagType; - arg = ''; - switch(type) - { + switch(type) { case 'annotated': - arg = '--annotate '; + return arg = '--annotate '; case 'signed': - arg = '--sign '; + return '--sign '; case 'lightweight': - arg = ''; + return ''; default: - throw 'Unrecognized tagType: ' + type; - + throw grunt.util.error('Unrecognized tagType: "' + type + '".'); } - return arg; } function ifEnabled(option, fn){ From 01f2d2de6afd2a1539b3f17bbcb2e5a7346e5014 Mon Sep 17 00:00:00 2001 From: Patrick Connolly Date: Tue, 18 Feb 2014 18:23:11 -0500 Subject: [PATCH 4/5] Removed signed tagType for now. --- tasks/grunt-release.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/tasks/grunt-release.js b/tasks/grunt-release.js index 2a1aa0c..45987dc 100644 --- a/tasks/grunt-release.js +++ b/tasks/grunt-release.js @@ -79,8 +79,6 @@ module.exports = function(grunt){ switch(type) { case 'annotated': return arg = '--annotate '; - case 'signed': - return '--sign '; case 'lightweight': return ''; default: From b3dcd7f522fd0fa376c988fabe8a9f0078808430 Mon Sep 17 00:00:00 2001 From: Patrick Connolly Date: Tue, 18 Feb 2014 18:24:14 -0500 Subject: [PATCH 5/5] Added signed tagType. --- tasks/grunt-release.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tasks/grunt-release.js b/tasks/grunt-release.js index 45987dc..206bfb2 100644 --- a/tasks/grunt-release.js +++ b/tasks/grunt-release.js @@ -81,6 +81,8 @@ module.exports = function(grunt){ return arg = '--annotate '; case 'lightweight': return ''; + case 'signed': + return '--sign '; default: throw grunt.util.error('Unrecognized tagType: "' + type + '".'); }