public void BuildSolution(Solution solution) { var stopwatch = new Stopwatch(); stopwatch.Start(); if (solution.GetAllNugetDependencies().Any()) { _logger.Trace("Pausing to try to let the file system quiet down..."); Thread.Sleep(1000); } var process = solution.CreateBuildProcess(_requirements.Fast); _logger.Trace("Trying to run {0} {1} in directory {2}", process.FileName, process.Arguments, process.WorkingDirectory); ProcessReturn processReturn; _logger.Indent(() => { processReturn = _runner.Run(process, new TimeSpan(0, 5, 0), _logCallback); _fileSystem.WriteLogFile(solution.Name + ".log", processReturn.OutputText); stopwatch.Stop(); _logger.Trace("Completed in {0} milliseconds", stopwatch.ElapsedMilliseconds); if (processReturn.ExitCode != 0) { _logger.Trace("Opening the log file for " + solution.Name); new OpenLogCommand().Execute(new OpenLogInput() { Solution = solution.Name }); throw new ApplicationException("Command line execution failed!!!!"); } }); }
public void create_process_info_for_full_build() { var solution = new Solution { SourceFolder = "src", BuildCommand = "rake", FastBuildCommand = "rake compile", Directory = "directory1".ToFullPath() }; var processInfo = solution.CreateBuildProcess(false); processInfo.WorkingDirectory.ShouldEqual("directory1".ToFullPath()); processInfo.FileName.ShouldEqual(Runner.Rake.Path); processInfo.Arguments.ShouldBeEmpty(); }
public void create_process_for_fast_build_not_rake() { var solution = new Solution { SourceFolder = "src", BuildCommand = "msbuild", FastBuildCommand = "msbuild compile", Directory = "directory1".ToFullPath() }; var processInfo = solution.CreateBuildProcess(true); processInfo.WorkingDirectory.ShouldEqual("directory1".ToFullPath()); processInfo.FileName.ShouldEqual("msbuild"); processInfo.Arguments.ShouldEqual("compile"); }
public void create_process_for_fast_build_on_unix() { var solution = new Solution { SourceFolder = "src", BuildCommand = "rake", FastBuildCommand = "rake compile", Directory = "directory1".ToFullPath() }; var processInfo = solution.CreateBuildProcess(true); processInfo.WorkingDirectory.ShouldEqual("directory1".ToFullPath()); processInfo.FileName.ShouldEqual("/bin/bash"); processInfo.Arguments.ShouldEqual("\""+ Runner.Rake.Path + "\" compile"); }
public void create_process_info_for_full_build() { var solution = new Solution(new SolutionConfig() { SourceFolder = "src", BuildCommand = RippleFileSystem.RakeRunnerFile(), FastBuildCommand = "rake compile" }, "directory1"); var processInfo = solution.CreateBuildProcess(false); processInfo.WorkingDirectory.ShouldEqual("directory1".ToFullPath()); processInfo.FileName.ShouldEqual(RippleFileSystem.RakeRunnerFile()); processInfo.Arguments.ShouldBeEmpty(); }