diff options
Diffstat (limited to 'lib/getOptions.js')
| -rw-r--r-- | lib/getOptions.js | 35 |
1 files changed, 24 insertions, 11 deletions
diff --git a/lib/getOptions.js b/lib/getOptions.js index deb1072..97c79d5 100644 --- a/lib/getOptions.js +++ b/lib/getOptions.js @@ -2,9 +2,12 @@ var fs = require('fs'); var path = require('path'); var yaml = require('yaml'); var logger = require('./logger')(); -var git = require('./fetchGitData'); +var fetchGitData = require('./fetchGitData'); -var getOptions = function(){ +var getOptions = function(cb){ + if (!cb){ + throw new Error('getOptions requires a callback'); + } var options = {}; // try to get filepath from the command-line @@ -41,14 +44,6 @@ var getOptions = function(){ git_branch = process.env.CIRCLE_BRANCH; } - if (git_commit){ - options.git = git({ - head: { - id: git_commit - }, - branch: git_branch - }); - } options.run_at = process.env.COVERALLS_RUN_AT || JSON.stringify(new Date()).slice(1, -1); if (process.env.COVERALLS_SERVICE_NAME){ @@ -73,7 +68,25 @@ var getOptions = function(){ logger.warn("Repo token could not be determined. Continuing without it."); } } - return options; + + if (git_commit){ + fetchGitData({ + head: { + id: git_commit + }, + branch: git_branch + }, function(err, git){ + if (err){ + logger.warn('there was an error getting git data: ', err); + } else { + options.git = git; + } + return cb(err, options); + }); + } else { + return cb(null, options); + } + }; module.exports = getOptions; |
