internal static bool StartProgramChecked(Program p) { bool flag; if (EmccArguments.debugEnvironmentAndInvocations) { Debug.Log(p.GetProcessStartInfo().Arguments); } using (p) { p.LogProcessStartInfo(); try { p.Start(); } catch { throw new Exception("Could not start "); } p.WaitForExit(); if (p.ExitCode == 0) { flag = true; } else { Debug.LogError("Failed running " + p.GetProcessStartInfo().FileName + " " + p.GetProcessStartInfo().Arguments + "\n\n" + p.GetAllOutput()); throw new Exception("Failed building WebGL Player."); } } return flag; }
public bool EnsureProjectLockFile(string projectFile) { string directoryName = Path.GetDirectoryName(this.ProjectLockFile); string str1 = FileUtil.NiceWinPath(Path.Combine(directoryName, Path.GetFileName(projectFile))); Console.WriteLine("Restoring NuGet packages from \"{0}\".", (object) Path.GetFullPath(str1)); if (File.Exists(this.ProjectLockFile)) { Console.WriteLine("Done. Reusing existing \"{0}\" file.", (object) Path.GetFullPath(this.ProjectLockFile)); return true; } if (!string.IsNullOrEmpty(directoryName)) Directory.CreateDirectory(directoryName); File.Copy(projectFile, str1, true); string str2 = FileUtil.NiceWinPath(Path.Combine(BuildPipeline.GetBuildToolsDirectory(BuildTarget.WSAPlayer), "nuget.exe")); Program program = new Program(new ProcessStartInfo() { Arguments = string.Format("restore \"{0}\" -NonInteractive -Source https://api.nuget.org/v3/index.json", (object) str1), CreateNoWindow = true, FileName = str2 }); using (program) { program.Start(); for (int index = 0; index < 15; ++index) { if (!program.WaitForExit(60000)) Console.WriteLine("Still restoring NuGet packages."); } if (!program.HasExited) throw new Exception(string.Format("Failed to restore NuGet packages:{0}Time out.", (object) Environment.NewLine)); if (program.ExitCode != 0) throw new Exception(string.Format("Failed to restore NuGet packages:{0}{1}", (object) Environment.NewLine, (object) program.GetAllOutput())); } Console.WriteLine("Done."); return false; }
public bool EnsureProjectLockFile(string projectFile) { string path = FileUtil.NiceWinPath(Path.Combine(Path.GetDirectoryName(this.ProjectLockFile), Path.GetFileName(projectFile))); Console.WriteLine("Restoring NuGet packages from \"{0}\".", Path.GetFullPath(path)); if (File.Exists(this.ProjectLockFile)) { Console.WriteLine("Done. Reusing existing \"{0}\" file.", Path.GetFullPath(this.ProjectLockFile)); return true; } File.Copy(projectFile, path, true); string str3 = FileUtil.NiceWinPath(Path.Combine(BuildPipeline.GetBuildToolsDirectory(BuildTarget.WSAPlayer), "nuget.exe")); ProcessStartInfo si = new ProcessStartInfo { Arguments = string.Format("restore \"{0}\" -NonInteractive -Source https://api.nuget.org/v3/index.json", path), CreateNoWindow = true, FileName = str3 }; Program program = new Program(si); using (program) { program.Start(); for (int i = 0; i < 15; i++) { if (!program.WaitForExit(0xea60)) { Console.WriteLine("Still restoring NuGet packages."); } } if (!program.HasExited) { throw new Exception(string.Format("Failed to restore NuGet packages:{0}Time out.", Environment.NewLine)); } if (program.ExitCode != 0) { throw new Exception(string.Format("Failed to restore NuGet packages:{0}{1}", Environment.NewLine, program.GetAllOutput())); } } Console.WriteLine("Done."); return false; }
public void PostProcess(BuildPostProcessArgs args) { base.m_PostProcessArgs = args; AssemblyReferenceChecker checker = new AssemblyReferenceChecker(); checker.CollectReferences(args.stagingAreaDataManaged, false, 0f, true); bool flag = !string.IsNullOrEmpty(checker.WhoReferencesClass("UnityEngine.SocialPlatforms.GameCenter.GameCenterPlatform", true)); this.SaveEditorOnlyPlayerSettingsToPlist(); base.PostProcess(); if (flag) { if (Application.platform != RuntimePlatform.OSXEditor) { UnityEngine.Debug.LogWarning("OS X Standalone players with GameCenter support need to be built on an OS X machine in order to pass Mac App Store validation."); } else { Console.WriteLine("Adding GameKit linkage to OS X binary."); ProcessStartInfo info2 = new ProcessStartInfo { FileName = Path.Combine(BuildPipeline.GetPlaybackEngineDirectory(args.target, args.options), "optool") }; string[] textArray1 = new string[] { "install -c weak -p /System/Library/Frameworks/GameKit.framework/Versions/A/GameKit -t \"", this.m_PostProcessArgs.installPath, "/Contents/MacOS/", this.InstallNameWithoutExtension, "\"" }; info2.Arguments = string.Concat(textArray1); info2.CreateNoWindow = true; ProcessStartInfo si = info2; Program program = new Program(si); program.Start(); while (!program.WaitForExit(100)) { } if (program.ExitCode != 0) { UnityEngine.Debug.LogError("Running optool to link GameKit failed\n" + si.FileName + " " + si.Arguments + "\n" + program.GetAllOutput()); } program.Dispose(); } } }