public static Process StartProcess( TextReader reader, string filePath, IEnumerable<string> arguments, string workingDirectory = "", Encoding encoding = null) { var info = CreateProcessStartInfo(filePath, arguments, workingDirectory, encoding); var process = Process.Start(info); using (var writer = new StreamWriter( process.StandardInput.BaseStream, info.StandardOutputEncoding)) { writer.WriteFromStream(reader); } return process; }
public override XElement GenerateXmlFromCode( TextReader codeReader, bool throwingParseError = DefaultThrowingParseError) { // TODO: Support throwingParseError and enablePosition var info = CreateProcessStartInfoForGeneratingXml(); using (var process = Process.Start(info)) { using (var write = new StreamWriter( process.StandardInput.BaseStream, info.StandardOutputEncoding)) { write.WriteFromStream(codeReader); } return ReadXml(process); } }
private static void RunTest(string outDirPath, string testTargetNames) { var args = new List<string> { "-cp", ".;CoverageWriter.jar;junit-4.8.2.jar", "org.junit.runner.JUnitCore", testTargetNames, }; var info = new ProcessStartInfo { FileName = JavaCommand, Arguments = args.JoinString(" "), CreateNoWindow = true, RedirectStandardOutput = true, UseShellExecute = false, WorkingDirectory = outDirPath, }; try { using (var p = Process.Start(info)) using (var fs = new StreamWriter(Path.Combine(outDirPath, "testresult.txt"))) fs.WriteFromStream(p.StandardOutput); } catch (Win32Exception e) { throw new InvalidOperationException("Failed to launch 'java'.", e); } }
public override string GenerateCodeFromXml(TextReader xmlReader) { // TODO: Support throwingParseError and enablePosition var info = CreateProcessStartInfoForGeneratingCode(); using (var process = Process.Start(info)) { using (var write = new StreamWriter( process.StandardInput.BaseStream, info.StandardOutputEncoding)) { write.WriteFromStream(xmlReader); } var code = process.StandardOutput.ReadToEnd(); Debug.WriteLine(process.StandardError.ReadToEnd()); return code; } }