private static bool StartManagedProgram(string exe, string arguments, CompilerOutputParserBase parser, ref IEnumerable <CompilerMessage> compilerMessages) { bool result; using (ManagedProgram managedProgram = GendarmeValidationRule.ManagedProgramFor(exe, arguments)) { managedProgram.LogProcessStartInfo(); try { managedProgram.Start(); } catch { throw new Exception("Could not start " + exe); } managedProgram.WaitForExit(); if (managedProgram.ExitCode == 0) { result = true; return(result); } compilerMessages = parser.Parse(managedProgram.GetErrorOutput(), managedProgram.GetStandardOutput(), true); } result = false; return(result); }
internal static void RunManagedProgram(string exe, string args, string workingDirectory, CompilerOutputParserBase parser) { using (ManagedProgram managedProgram = new ManagedProgram(MonoInstallationFinder.GetMonoInstallation("MonoBleedingEdge"), "4.0", exe, args)) { managedProgram.GetProcessStartInfo().WorkingDirectory = workingDirectory; managedProgram.Start(); managedProgram.WaitForExit(); if (managedProgram.ExitCode != 0) { if (parser != null) { string[] errorOutput = managedProgram.GetErrorOutput(); string[] standardOutput = managedProgram.GetStandardOutput(); IEnumerable <CompilerMessage> enumerable = parser.Parse(errorOutput, standardOutput, true); foreach (CompilerMessage current in enumerable) { Debug.LogPlayerBuildError(current.message, current.file, current.line, current.column); } } Debug.LogError(string.Concat(new string[] { "Failed running ", exe, " ", args, "\n\n", managedProgram.GetAllOutput() })); throw new Exception(string.Format("{0} did not run properly!", exe)); } } }
private static void RunUpdatingProgram(string executable, string arguments) { ManagedProgram program = new ManagedProgram(MonoInstallationFinder.GetMonoInstallation("MonoBleedingEdge"), "4.5", EditorApplication.applicationContentsPath + "/Tools/ScriptUpdater/" + executable, arguments); program.LogProcessStartInfo(); program.Start(); program.WaitForExit(); Console.WriteLine(string.Join(Environment.NewLine, program.GetStandardOutput())); APIUpdaterHelper.HandleUpdaterReturnValue(program); }
static void RunUpdatingProgram(string executable, string arguments, string tempOutputPath) { var scriptUpdater = EditorApplication.applicationContentsPath + "/Tools/ScriptUpdater/" + executable; var program = new ManagedProgram(MonoInstallationFinder.GetMonoInstallation("MonoBleedingEdge"), null, scriptUpdater, arguments, false, null); program.LogProcessStartInfo(); program.Start(); program.WaitForExit(); Console.WriteLine(string.Join(Environment.NewLine, program.GetStandardOutput())); HandleUpdaterReturnValue(program, tempOutputPath); }
static void RunUpdatingProgram(string executable, string arguments, string tempOutputPath, bool anyFileInAssetsFolder) { var scriptUpdaterPath = EditorApplication.applicationContentsPath + "/Tools/ScriptUpdater/" + executable; // ManagedProgram will quote this path for us. using (var program = new ManagedProgram(MonoInstallationFinder.GetMonoInstallation("MonoBleedingEdge"), null, scriptUpdaterPath, arguments, false, null)) { program.LogProcessStartInfo(); program.Start(); program.WaitForExit(); Console.WriteLine(string.Join(Environment.NewLine, program.GetStandardOutput())); HandleUpdaterReturnValue(program, tempOutputPath, anyFileInAssetsFolder); } }
private static void RunUpdatingProgram(string executable, string arguments) { string executable2 = EditorApplication.applicationContentsPath + "/Tools/ScriptUpdater/" + executable; ManagedProgram managedProgram = new ManagedProgram(MonoInstallationFinder.GetMonoInstallation("MonoBleedingEdge"), "4.5", executable2, arguments); managedProgram.LogProcessStartInfo(); managedProgram.Start(); managedProgram.WaitForExit(); Console.WriteLine(string.Join(Environment.NewLine, managedProgram.GetStandardOutput())); if (managedProgram.ExitCode == 0) { APIUpdaterHelper.UpdateFilesInVCIfNeeded(); } else { APIUpdaterHelper.ReportAPIUpdaterFailure(managedProgram.GetErrorOutput()); } }