createEnvironment().setup();
Job job = createJob();
job.validate().throwOrInform(getLog());
SourceLoader sourceLoader = createSourceLoader(job);
List<CoverageParser> parsers = createCoverageParsers(sourceLoader);
JsonWriter writer = createJsonWriter(job);
CoverallsClient client = createCoverallsClient();
List<Logger> reporters = new ArrayList<Logger>();
reporters.add(new JobLogger(job));
SourceCallback sourceCallback = createSourceCallbackChain(writer, reporters);
reporters.add(new DryRunLogger(job.isDryRun(), writer.getCoverallsFile()));
report(reporters, Position.BEFORE);
writeCoveralls(writer, sourceLoader, sourceCallback, parsers);
report(reporters, Position.AFTER);
if (!job.isDryRun()) {
submitData(client, writer.getCoverallsFile());
}
} catch (ProcessingException ex) {
throw new MojoFailureException("Processing of input or output data failed", ex);
} catch (IOException ex) {
throw new MojoFailureException("I/O operation failed", ex);