/// <summary> /// Publish the code coverage report to Coveralls.io using the specified settings. /// </summary> /// <param name="codeCoverageReportFilePath">The code coverage report file path.</param> /// <param name="reportType">The Code Coverage Report Type</param> /// <param name="settings">The settings.</param> public void Run(FilePath codeCoverageReportFilePath, CoverallsNetReportType reportType, CoverallsNetSettings settings) { if (codeCoverageReportFilePath == null) { throw new ArgumentNullException(nameof(codeCoverageReportFilePath)); } if (settings == null) { throw new ArgumentNullException(nameof(settings)); } Run(settings, GetArguments(codeCoverageReportFilePath, reportType, settings)); }
private static string GetReportType(CoverallsNetReportType reportType) { switch (reportType) { case CoverallsNetReportType.OpenCover: return("--opencover"); case CoverallsNetReportType.DynamicCodeCoverage: return("--dynamiccodecoverage"); case CoverallsNetReportType.Monocov: return("--monocov"); default: throw new NotSupportedException("The provided output is not valid."); } }
private ProcessArgumentBuilder GetArguments(FilePath codeCoverageReportFilePath, CoverallsNetReportType reportType, CoverallsNetSettings settings) { var builder = new ProcessArgumentBuilder(); builder.Append(GetReportType(reportType)); builder.Append("--input"); builder.AppendQuoted(codeCoverageReportFilePath.MakeAbsolute(_environment).FullPath); if (settings.OutputFilePath != null) { builder.Append("--output"); builder.AppendQuoted(settings.OutputFilePath.MakeAbsolute(_environment).FullPath); } if (settings.UseRelativePaths) { builder.Append("--useRelativePaths"); } if (settings.BaseFilePath != null) { builder.Append("--basePath"); builder.AppendQuoted(settings.BaseFilePath.MakeAbsolute(_environment).FullPath); } if (!string.IsNullOrWhiteSpace(settings.RepoToken)) { builder.Append("--repoToken"); builder.AppendQuotedSecret(settings.RepoToken); } if (!string.IsNullOrWhiteSpace(settings.RepoTokenVariable)) { builder.Append("--repoTokenVariable"); builder.AppendQuoted(settings.RepoTokenVariable); } if (!string.IsNullOrWhiteSpace(settings.CommitId)) { builder.Append("--commitId"); builder.AppendQuoted(settings.CommitId); } if (!string.IsNullOrWhiteSpace(settings.CommitBranch)) { builder.Append("--commitBranch"); builder.AppendQuoted(settings.CommitBranch); } if (!string.IsNullOrWhiteSpace(settings.CommitAuthor)) { builder.Append("--commitAuthor"); builder.AppendQuoted(settings.CommitAuthor); } if (!string.IsNullOrWhiteSpace(settings.CommitEmail)) { builder.Append("--commitEmail"); builder.AppendQuoted(settings.CommitEmail); } if (!string.IsNullOrWhiteSpace(settings.CommitMessage)) { builder.Append("--commitMessage"); builder.AppendQuoted(settings.CommitMessage); } if (!string.IsNullOrEmpty(settings.JobId)) { builder.Append("--jobId"); builder.Append(settings.JobId); } if (!string.IsNullOrWhiteSpace(settings.ServiceName)) { builder.Append("--serviceName"); builder.AppendQuoted(settings.ServiceName); } if (settings.TreatUploadErrorsAsWarnings) { builder.Append("--treatUploadErrorsAsWarnings"); } return(builder); }
public static void CoverallsNet(this ICakeContext context, FilePath codeCoverageReportFilePath, CoverallsNetReportType reportType, CoverallsNetSettings settings) { var runner = new CoverallsNetRunner(context.FileSystem, context.Environment, context.ProcessRunner, context.Tools); runner.Run(codeCoverageReportFilePath, reportType, settings); }
public static void CoverallsNet(this ICakeContext context, FilePath codeCoverageReportFilePath, CoverallsNetReportType reportType) { CoverallsNet(context, codeCoverageReportFilePath, reportType, new CoverallsNetSettings()); }