1 | (function (parser, reporter, getGitData, logger, Promise, util) {
|
2 | 'use strict';
|
3 | module.exports = function (input, opts) {
|
4 | opts = opts || {};
|
5 |
|
6 | var token = opts.token || process.env.CODACY_PROJECT_TOKEN || process.env.CODACY_REPO_TOKEN;
|
7 | var commit = opts.commit;
|
8 | var format = opts.format || 'lcov';
|
9 | var pathPrefix = opts.prefix || '';
|
10 | var language = opts.language;
|
11 | var loggerImpl;
|
12 |
|
13 | loggerImpl = logger({
|
14 | verbose: opts.verbose,
|
15 | debug: opts.debug
|
16 | });
|
17 |
|
18 | if (!token) {
|
19 | return Promise.reject(new Error('Token is required'));
|
20 | }
|
21 |
|
22 | loggerImpl.info(util.format('Handling input for: token [%j], commitId [%j], language [%j], endpoint [%j], format [%j], path prefix [%j], verbose [%j], debug [%j]',
|
23 | token, commit, language, opts.endpoint, format, pathPrefix, opts.verbose, opts.debug));
|
24 |
|
25 |
|
26 | return Promise.all([parser.getParser(format).parse(pathPrefix, input), getGitData.getCommitId(commit)]).spread(function (parsedCoverage, commitId) {
|
27 |
|
28 | loggerImpl.trace(parsedCoverage);
|
29 | loggerImpl.debug('Sending coverage');
|
30 | return reporter({
|
31 | endpoint: opts.endpoint
|
32 | }).sendCoverage(token, commitId, language, parsedCoverage);
|
33 | });
|
34 | };
|
35 | }(require('./coverageParser'), require('./reporter'), require('./getGitData'), require('./logger'), require('bluebird'), require('util')));
|