public BenchmarkBuildResult Build(BenchmarkGenerateResult generateResult)
        {
            var projectFileName  = Path.Combine(generateResult.DirectoryPath, BenchmarkClassicGenerator.MainClassName + ".csproj");
            var consoleLogger    = new MSBuildConsoleLogger(logger);
            var globalProperties = new Dictionary <string, string>();
            var buildRequest     = new BuildRequestData(projectFileName, globalProperties, null, new[] { "Build" }, null);
            var buildParameters  = new BuildParameters(new ProjectCollection())
            {
                DetailedSummary = false, Loggers = new ILogger[] { consoleLogger }
            };
            var buildResult = BuildManager.DefaultBuildManager.Build(buildParameters, buildRequest);

            return(new BenchmarkBuildResult(generateResult, buildResult.OverallResult == BuildResultCode.Success, buildResult.Exception));
        }
示例#2
0
        private BenchmarkBuildResult Build(IBenchmarkLogger logger, IBenchmarkToolchainFacade toolchain, BenchmarkGenerateResult generateResult)
        {
            logger.WriteLineInfo("// *** Build ***");
            var buildResult = toolchain.Build(generateResult);

            if (buildResult.IsBuildSuccess)
            {
                logger.WriteLineInfo("// Result = Success");
            }
            else
            {
                logger.WriteLineError("// Result = Failure");
                if (buildResult.BuildException != null)
                {
                    logger.WriteLineError($"// Exception: {buildResult.BuildException.Message}");
                }
            }
            logger.NewLine();
            return(buildResult);
        }
 public BenchmarkBuildResult Build(BenchmarkGenerateResult generateResult)
 {
     Done = true;
     return(new BenchmarkBuildResult(generateResult, true, null));
 }
示例#4
0
 public BenchmarkBuildResult Build(BenchmarkGenerateResult generateResult)
 {
     return(builder.Build(generateResult));
 }