public static void MakeWeb() { var buildParams = new Builder.Params(); string path = Path.Combine(Directory.GetCurrentDirectory(), "Build"); path = Path.Combine(path, "Output"); path = Path.Combine(path, "web"); buildParams.Target = BuildTarget.WebPlayer; buildParams.Location = path; buildParams.Options = BuildOptions.None; buildParams.ExtraOptions = Builder.Params.ExtraBuildOptions.None; //Builder.Params.ExtraBuildOptions.BundleBasedPlayer|Builder.Params.ExtraBuildOptions.IncludeBundlesCache; buildParams.BuildNumber = ""; bool continueRequired = false; try { Make(buildParams); } catch (Builder.ContinueRequiredException) { continueRequired = true; } if (!continueRequired) { EditorApplication.Exit(0); } }
public static void Make(Builder.Params buildParams) { using (var builder = Builder.CreateInstance(buildParams)) { #if !BREAK_LATE_LINKS_ONLY builder.Build(); #endif } }
private static bool Make() { if (!EditorApplication.SaveCurrentSceneIfUserWantsTo()) { return(false); } string buildLocation = Builder.LastBundlesLocation; if (string.IsNullOrEmpty(buildLocation)) { buildLocation = EditorUtility.SaveFolderPanel("Select a folder to save the bundles", "", "Bundles"); } else { buildLocation = EditorUtility.SaveFolderPanel("Select a folder to save the bundles", buildLocation, ""); } if (string.IsNullOrEmpty(buildLocation)) { return(false); } var buildParams = new Builder.Params(); if (Directory.Exists(buildLocation)) { int ret = EditorUtility.DisplayDialogComplex("Folder already exists", "What you want to do?", "Cancel", "Append", "Replace"); switch (ret) { case 0: return(false); case 1: buildParams.Options |= BuildOptions.AcceptExternalModificationsToPlayer; break; case 2: buildParams.Options &= ~BuildOptions.AcceptExternalModificationsToPlayer; break; } } buildParams.Location = buildLocation; buildParams.ExtraOptions |= Builder.Params.ExtraBuildOptions.BundlesOnly; try { Build.Make(buildParams); } catch (System.OperationCanceledException) { } catch (Builder.ContinueRequiredException) { } return(true); }
public static void CommandLineMake() { var buildParams = new Builder.Params(); var args = Environment.GetCommandLineArgs(); for (int i = 0; i < args.Length; i++) { if (args[i].StartsWith("+")) { string param = args[i].Substring(1).ToLower(); switch (param) { case "buildtarget": { string buildTarget = GetParamValue(args, i); if (buildTarget == null) { throw new ArgumentException("Missing parameter value on +buildTarget"); } else if (!string.IsNullOrEmpty(buildTarget)) { buildParams.Target = (BuildTarget)Enum.Parse(typeof(BuildTarget), buildTarget, true); } i++; break; } case "buildlocation": { string buildLocation = GetParamValue(args, i); if (buildLocation == null) { throw new ArgumentException("Missing parameter value on +buildLocation"); } else if (!string.IsNullOrEmpty(buildLocation)) { buildParams.Location = buildLocation; } i++; break; } case "buildoptions": { string buildOptions = GetParamValue(args, i); if (buildOptions == null) { throw new ArgumentException("Missing parameter value on +buildOptions"); } else if (!string.IsNullOrEmpty(buildOptions)) { //Release and Test is "none" and debug is"Development" if (buildOptions == "Release") { buildOptions = "None"; buildParams.IsStageBuild = false; } else if (buildOptions == "Test") { buildOptions = "None"; buildParams.IsStageBuild = true; } else { buildOptions = "Development"; buildParams.IsStageBuild = true; } buildParams.Options |= (BuildOptions)Enum.Parse(typeof(BuildOptions), buildOptions, true); } i++; break; } case "extrabuildoptions": { string extraBuildOptions = GetParamValue(args, i); if (extraBuildOptions == null) { throw new ArgumentException("Missing parameter value on +extraBuildOptions"); } else if (!string.IsNullOrEmpty(extraBuildOptions)) { buildParams.ExtraOptions |= (Builder.Params.ExtraBuildOptions)Enum.Parse(typeof(Builder.Params.ExtraBuildOptions), extraBuildOptions, true); } i++; break; } case "buildnumber": { string buildNumber = GetParamValue(args, i); if (buildNumber == null) { throw new ArgumentException("Missing parameter value on +buildNumber"); } else { buildParams.BuildNumber = buildNumber; } i++; break; } case "androidsubtarget": { string subTarget = GetParamValue(args, i); if (subTarget == null) { throw new ArgumentException("Missing parameter value on +androidBuildSubtarget"); } else if (!string.IsNullOrEmpty(subTarget)) { buildParams.AndroidSubtarget = (AndroidBuildSubtarget)Enum.Parse(typeof(AndroidBuildSubtarget), subTarget, true); } ; i++; break; } case "isbuildstorebundleonly": { return; } } } } bool continueRequired = false; try { Debug.Log("CommandLineMake .......... Make!!!"); Make(buildParams); } catch (Builder.ContinueRequiredException) { continueRequired = true; } if (!continueRequired) { EditorApplication.Exit(0); } }
private static bool Make(bool autoRun, string buildNumber, bool makeBundleBasedPlayer, bool includeBundles, bool includeBundlesCache, bool quickPlayer) { if (makeBundleBasedPlayer) { if (!EditorApplication.SaveCurrentSceneIfUserWantsTo()) { return(false); } } string buildLocation = EditorUserBuildSettings.GetBuildLocation(BuildUtils.SelectedBuildTarget); if (string.IsNullOrEmpty(buildLocation)) { buildLocation = BuildUtils.OpenSaveBuildPanel(BuildUtils.SelectedBuildTarget, "Select build location for " + BuildUtils.SelectedBuildTarget, null, null, null); } else { string directory = Path.GetDirectoryName(buildLocation); string file = Path.GetFileNameWithoutExtension(buildLocation); string extension = Path.GetExtension(buildLocation); if (!string.IsNullOrEmpty(extension)) { extension = extension.Substring(1); // Remove the initial dot } buildLocation = BuildUtils.OpenSaveBuildPanel(BuildUtils.SelectedBuildTarget, "Select build location for " + BuildUtils.SelectedBuildTarget, directory, file, extension); } if (!string.IsNullOrEmpty(buildLocation)) { EditorUserBuildSettings.SetBuildLocation(BuildUtils.SelectedBuildTarget, buildLocation); } else { return(false); } var buildParams = new Builder.Params(); buildParams.BuildNumber = buildNumber; if (autoRun) { buildParams.Options |= BuildOptions.AutoRunPlayer; } else { buildParams.Options |= BuildOptions.ShowBuiltPlayer; } if (makeBundleBasedPlayer) { buildParams.ExtraOptions |= Builder.Params.ExtraBuildOptions.BundleBasedPlayer; if (includeBundles) { buildParams.ExtraOptions |= Builder.Params.ExtraBuildOptions.IncludeBundles; } if (includeBundlesCache) { buildParams.ExtraOptions |= Builder.Params.ExtraBuildOptions.IncludeBundlesCache; } if (quickPlayer) { buildParams.ExtraOptions |= Builder.Params.ExtraBuildOptions.QuickBundlePlayer; } } try { Build.Make(buildParams); } catch (System.OperationCanceledException) { } catch (Builder.ContinueRequiredException) { } return(true); }