public static void CreateBuild(BuildTarget targetPlatform) { Debug.Log("Creating Build for platform " + targetPlatform); if (File.Exists(CloudTestConfig.BuildPath)) { File.Delete(CloudTestConfig.BuildPath); } #if UNITY_IOS if (Directory.Exists(CloudTestConfig.IOSBuildDir)) { Directory.Delete(CloudTestConfig.IOSBuildDir, true); } #endif // Editor code flag for utf cloud workflows CloudTestPipeline.SetTestRunOnCloud(true); // Setting scripting defines AutomatedQAEditorSettings.ApplyBuildFlags(BuildPipeline.GetBuildTargetGroup(targetPlatform)); var filter = GetTestFilter(); CloudTestPipeline.MakeBuild(filter.ToArray(), targetPlatform); if (Application.isBatchMode) { CloudTestPipeline.testBuildFinished += () => Debug.Log($"Build {CloudTestConfig.BuildPath} complete"); // Since MakeBuild executes on Update we need to manually invoke it to prevent batch mode exiting early EditorApplication.update.Invoke(); } }
private static List <string> GetTestFilter() { var cloudTests = CloudTestPipeline.GetCloudTests(); var filter = new List <string>(); foreach (var tests in cloudTests.Values) { foreach (var test in tests) { Debug.Log("Adding Test: " + test); filter.Add(test); } } return(filter); }
public BuildPlayerOptions ModifyOptions(BuildPlayerOptions playerOptions) { if (CloudTestPipeline.IsRunningOnCloud()) { playerOptions.options &= ~(BuildOptions.AutoRunPlayer); #if UNITY_IOS playerOptions.locationPathName = CloudTestConfig.IOSBuildDir; #else playerOptions.locationPathName = CloudTestConfig.BuildPath; #endif return(playerOptions); } return(playerOptions); }
public static void ChangeXcodePlist(BuildTarget buildTarget, string pathToBuiltProject) { // Adds UIFileSharingEnabled to Info.plist if (buildTarget == BuildTarget.iOS && CloudTestPipeline.IsRunningOnCloud()) { // Get plist string plistPath = pathToBuiltProject + "/Info.plist"; PlistDocument plist = new PlistDocument(); plist.ReadFromString(File.ReadAllText(plistPath)); // Get root PlistElementDict rootDict = plist.root; rootDict.SetBoolean("UIFileSharingEnabled", true); // rootDict.SetString("CFBundleDisplayName", "CloudBundle"); // Write to Info.plist Debug.Log("Updating Info.plist"); File.WriteAllText(plistPath, plist.WriteToString()); } }