-
Notifications
You must be signed in to change notification settings - Fork 6
Add version option #10
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -15,6 +15,7 @@ module.exports = function(options) { | |
repository: '', | ||
remoteBranch: 'master', | ||
branches: ['master'], | ||
version: false, | ||
verbose: false, | ||
debug: false | ||
}, options); | ||
|
@@ -201,6 +202,56 @@ module.exports = function(options) { | |
return callback(null); | ||
}); | ||
}, | ||
function gitTag(callback) { | ||
if (!options.version) { | ||
return callback(null); | ||
} | ||
const packageJson = files.reduce(function(path, file) { | ||
if (file.path.indexOf('package.json') !== -1) { | ||
path = file.path | ||
} | ||
return path | ||
}, ''); | ||
if (packageJson === '') { | ||
return callback('package.json is required if option version is true'); | ||
} | ||
var packageContent = fs.readFileSync(packageJson, 'utf8'); | ||
var json = JSON.parse(packageContent.toString()); | ||
var version = json.version; | ||
gutil.log(gutil.colors.yellow('Tag version ' + version)); | ||
var cmdTag = spawn('git', ['tag', '-a', 'v' + version, '-m', 'Version ' + version], {cwd: repoPath}); | ||
cmdTag.stderr.on('data', function(data) { | ||
if (options.verbose || options.debug) gutil.log(gutil.colors.magenta('git tag: ') + data.toString().trim()); | ||
}); | ||
cmdTag.stdout.on('data', function(data) { | ||
if (options.verbose || options.debug) gutil.log(gutil.colors.magenta('git tag: ') + data.toString().trim()); | ||
}); | ||
cmdTag.on('close', function(code) { | ||
if (code !== 0) { | ||
return callback('git tag exited with code ' + code); | ||
} | ||
return callback(null); | ||
}); | ||
}, | ||
function gitPushTag(callback) { | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Attaching this comment to the new changeset since it turned outdated on the rename: Can't the versioned tag be pushed out with the rest of the repository? Shouldn't be a need for multiple git push calls. Do correct me if I'm missing something though. Since this is also located before the gitPush function, I'm pretty sure this will break usage of the remoteBranch option and push to the default branch regardless. |
||
if (!options.version) { | ||
return callback(null); | ||
} | ||
gutil.log(gutil.colors.yellow('Pushing version to remote deployment repository')); | ||
var cmdPush = spawn('git', ['push', 'origin', '--tags'], {cwd: repoPath}); | ||
cmdPush.stderr.on('data', function(data) { | ||
if (options.verbose || options.debug) gutil.log(gutil.colors.magenta('git push verion: ') + data.toString().trim()); | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Typo here: |
||
}); | ||
cmdPush.stdout.on('data', function(data) { | ||
if (options.verbose || options.debug) gutil.log(gutil.colors.magenta('git push verion: ') + data.toString().trim()); | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Typo here: |
||
}); | ||
cmdPush.on('close', function(code) { | ||
if (code !== 0) { | ||
return callback('git push verion exited with code ' + code); | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Typo here: |
||
} | ||
return callback(null); | ||
}); | ||
}, | ||
function gitPush(callback) { | ||
gutil.log(gutil.colors.yellow('Pushing to remote deployment repository')); | ||
var cmdPush = spawn('git', ['push', 'origin', options.remoteBranch], {cwd: repoPath}); | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You should be able tomake this |
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd prefer the
'v' + version
and'Version ' + version
strings to be configurable (maybe via a lambda call?), but that can be fixed in a later PR.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Configurable is good, but I'm just make quick to reach my needs.... 😁