private static int Main(string[] args) { SubProcess.EnableHighDPISupport(); string FindArg(string key) { return(Array.Find(args, arg => arg.StartsWith(key, StringComparison.OrdinalIgnoreCase)).Substring(key.Length)); } const string typePrefix = "--type="; const string parentIdPrefix = "--host-process-id="; if (!int.TryParse(FindArg(parentIdPrefix), out int parentId)) { return(0); } Task.Factory.StartNew(() => KillWhenHung(parentId), TaskCreationOptions.LongRunning); if (FindArg(typePrefix) == "renderer") { using SubProcess subProcess = new SubProcess(null, args); return(subProcess.Run()); } else { return(SubProcess.ExecuteProcess(args)); } }
/// <summary> /// To show the PDF Preview /// </summary> public void PdfPreview() { string outName = CreatePreview(); if (outName != string.Empty) { SubProcess.Run(Param.Value[Param.OutputPath], outName); } }
/// <summary> /// Uses Sword Output Execute Process /// </summary> protected void SwordOutputBuildProcess(string processFolder, string swordOutputPath, string[] osisFilesList, string projectPath) { const string creator = "osis2mod"; string moreArguments = "-z -N -v KJV"; foreach (var osisFile in osisFilesList) { var args = string.Format(@"""{0}"" ""{1}"" {2}", swordOutputPath, osisFile, moreArguments); SubProcess.Run(processFolder, creator, args, true); moreArguments = "-a -z -N -v KJV"; } }
private void DisplayOutput(string outputDirectory) { const bool noWait = false; if (_isUnixOS) { SubProcess.Run("", "nautilus", Common.HandleSpaceinLinuxPath(outputDirectory), noWait); } else { SubProcess.Run(outputDirectory, "explorer.exe", outputDirectory, noWait); } }
private static void DisplayOutput(PublicationInformation projInfo) { var output = new DictionaryForMIDsStreamWriter(projInfo); const bool noWait = false; if (_isUnixOS) { SubProcess.Run("", "nautilus", Common.HandleSpaceinLinuxPath(output.Directory), noWait); } else { SubProcess.Run(output.Directory, "explorer.exe", output.Directory, noWait); } }
void _Start() { _fault = null; var startInfo = new ProcessStartInfo(); startInfo.FileName = Command; startInfo.UseShellExecute = false; startInfo.Arguments = Arguments; startInfo.RedirectStandardOutput = true; startInfo.RedirectStandardError = true; logger.Debug("_Start(): Running command " + Command + " with arguments " + Arguments); try { var p = SubProcess.Run(Command, Arguments, Timeout); var stdout = p.StdOut.ToString(); var stderr = p.StdErr.ToString(); _fault = new Fault(); _fault.detectionSource = "RunCommand"; _fault.folderName = "RunCommand"; _fault.collectedData.Add(new Fault.Data("stdout", Encoding.ASCII.GetBytes(stdout))); _fault.collectedData.Add(new Fault.Data("stderr", Encoding.ASCII.GetBytes(stderr))); if (p.Timeout) { _fault.description = "Process failed to exit in alotted time."; _fault.type = FaultType.Fault; } else if (FaultOnNonZeroExit && p.ExitCode != 0) { _fault.description = "Process exited with code {0}.".Fmt(p.ExitCode); _fault.type = FaultType.Fault; } else { _fault.description = stdout; _fault.type = FaultType.Data; } } catch (Exception ex) { throw new PeachException("Could not run command '" + Command + "'. " + ex.Message + ".", ex); } }
public static string PackTool(string name, string sourceDirectory, string outputDirectory, string version) { var nuspecFile = Path.Combine(outputDirectory, name + ".nuspec"); using (var w = new StreamWriter(nuspecFile)) { w.WriteLine(@"<?xml version=""1.0""?> <package > <metadata> <id>" + name + @"</id> <version>" + version + @"</version> <authors>sidiandi</authors> <owners>sidiandi</owners> <licenseUrl>https://opensource.org/licenses/BSD-3-Clause</licenseUrl> <projectUrl>https://github.com/sidiandi/sidi.project</projectUrl> <iconUrl>https://github.com/sidiandi/sidi.project/icon.ico</iconUrl> <requireLicenseAcceptance>false</requireLicenseAcceptance> <description>Tool</description> <releaseNotes></releaseNotes> <copyright>Copyright 2017 https://github.com/sidiandi</copyright> <tags></tags> <dependencies> </dependencies> </metadata> <files> <file src=" + SubProcess.Quote(sourceDirectory + @"\**\*") + @" target=""tools"" /> </files> </package> "); } string package = null; var p = new List <string>(); p.AddRange(new[] { "pack", nuspecFile, "-OutputDirectory", outputDirectory }); if (!String.IsNullOrEmpty(version)) { p.AddRange(new[] { "-Version", version }); } var nuget = new SubProcess("nuget", p.ToArray()); nuget.Run().Wait(); package = nuget.Output.RegexGet(@"Successfully created package '([^']+)'."); Console.WriteLine(package); return(package); }
public static string Pack(TaskLoggingHelper log, string csProjFile, string outputDirectory, string version) { string package = null; var p = new List <string>(); p.AddRange(new[] { "pack", csProjFile, "-OutputDirectory", outputDirectory }); if (!String.IsNullOrEmpty(version)) { p.AddRange(new[] { "-Version", version }); } var nuget = new SubProcess(log, "nuget", p.ToArray()); nuget.Run().Wait(); package = nuget.Output.RegexGet(@"Successfully created package '([^']+)'."); return(package); }
private static int Main(string[] args) { SubProcess.EnableHighDPISupport(); const string typePrefix = "--type="; string type = Array.Find(args, arg => arg.StartsWith(typePrefix, StringComparison.OrdinalIgnoreCase)).Substring(typePrefix.Length); if (type == "renderer") { using (SubProcess subProcess = new SubProcess(args)){ return(subProcess.Run()); } } else { return(SubProcess.ExecuteProcess()); } }
/// <summary> /// Entry point for epub converter /// </summary> /// <param name="projInfo">values passed including xhtml and css names</param> /// <returns>true if succeeds</returns> public bool Export(PublicationInformation projInfo) { Common.SetupLocalization(); if (projInfo == null) { return(false); } const bool success = true; #region Set up progress reporting #if (TIME_IT) DateTime dt1 = DateTime.Now; // time this thing #endif var myCursor = Common.UseWaitCursor(); var curdir = Environment.CurrentDirectory; var inProcess = Common.SetupProgressReporting(20, "Export " + ExportType); #endregion Set up progress reporting PreExportProcess preProcessor; EpubToc epubToc; var bookId = SetupConversion(projInfo, inProcess, out preProcessor, out epubToc); _toc2Html5 = LoadToc2Html5Xslt(); string[] langArray; var outputFolder = PreprocessXhtml(projInfo, inProcess, preProcessor, out langArray); string mergedCss; string defaultCss; string tempCssFile; // float: is not in the list like it is in the Epub. CssRemoved = new List <string> { "string-set:", "-moz-column-", "column-fill:", "-ps-outline-", "-ps-fixed-line-height:", "content: leader(" }; var tempFolder = ProcessingCss(projInfo, inProcess, preProcessor, out mergedCss, out defaultCss, out tempCssFile); FixIssuesWithFlexXhtml(projInfo, preProcessor, langArray, inProcess); AddNavitation(inProcess, preProcessor); var frontMatter = AddFrontMatter(inProcess, preProcessor, tempFolder); List <string> splitFiles; Common.SplitEveryEntry = true; var htmlFiles = SplitIntoSections(projInfo, inProcess, frontMatter, preProcessor, defaultCss, langArray, out splitFiles); var contentFolder = CreateContentStructure(projInfo, inProcess, tempFolder); AddEndNotesIfNecessary(inProcess, contentFolder, preProcessor, splitFiles); if (!FontEmbedding(projInfo, inProcess, langArray, mergedCss, contentFolder, curdir, myCursor)) { return(false); } CopyContentToEpubFolder(inProcess, mergedCss, defaultCss, htmlFiles, contentFolder); InsertChapterLinks(inProcess, contentFolder); UpdateHyperlinks(inProcess, contentFolder); ProcessImages(inProcess, tempFolder, contentFolder); CreateEpubManifest(projInfo, inProcess, contentFolder, bookId, epubToc, tempCssFile); var epub3Path = MakeCopyOfEpub2(inProcess, projInfo); SemanticDomainIndex(inProcess, contentFolder, epub3Path); var html5Folder = CreateHtml5(projInfo, inProcess, epub3Path); var outputPathWithFileNameHtml5 = PackageHtml5(projInfo, inProcess, html5Folder); CleanUp(inProcess, outputPathWithFileNameHtml5); CreateArchiveSubmission(projInfo, inProcess, epub3Path); FinalCleanUp(inProcess, outputPathWithFileNameHtml5); #region Close Reporting inProcess.Close(); Environment.CurrentDirectory = curdir; Cursor.Current = myCursor; #endregion Close Reporting if (Common.IsUnixOS()) { SubProcess.Run("", "nautilus", Common.HandleSpaceinLinuxPath(projInfo.ProjectPath), false); } else { SubProcess.Run(projInfo.ProjectPath, "explorer.exe", projInfo.ProjectPath, false); } return(success); }