aboutsummaryrefslogtreecommitdiff
path: root/lib/getOptions.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/getOptions.js')
-rw-r--r--lib/getOptions.js35
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;