Example #1
0
        /// <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));
        }
Example #2
0
        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.");
            }
        }
Example #3
0
        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());
 }