public BuildConfiguration(Arguments arguments, ScriptingDefines defines, int buildNumber, string buildVersion, BuildPlayerOptions buildPlayerOptions) { BuildPlayerOptions = buildPlayerOptions; Arguments = arguments; Defines = defines; BuildNumber = buildNumber; BuildVersion = buildVersion; }
public void Build(Arguments args) { BuilderUtils.AssertRequiredArguments <BuilderArguments>(args, true); args.AssertKeys(BuilderArguments.BuildTarget, BuilderArguments.BuildVersion, BuilderArguments.Out, BuilderArguments.BuildNumber); if (args.IsVerbose) { _logger.Log(Help); _logger.Log("command line arguments: " + Environment.NewLine + args.ToString("\t{0}={1};" + Environment.NewLine)); } BuildTarget buildTarget; Assert.IsTrue(BuilderUtils.TryParse(args[BuilderArguments.BuildTarget], out buildTarget), BuilderUtils.GetMessageNotValidArgs(BuilderArguments.BuildTarget, args)); Version version; Assert.IsTrue(BuilderUtils.TryParse(args[BuilderArguments.BuildVersion], out version), BuilderUtils.GetMessageNotValidArgs(BuilderArguments.BuildVersion, args)); int buildNumber; Assert.IsTrue(int.TryParse(args[BuilderArguments.BuildNumber], NumberStyles.Any, NumberFormatInfo.InvariantInfo, out buildNumber), BuilderUtils.GetMessageNotValidArgs(BuilderArguments.BuildNumber, args)); version = new Version(version.Major, version.Minor, buildNumber); if (args.IsVerbose) { _logger.Log("Version: " + version); } PlayerSettings.bundleVersion = version.ToString(); BuildOptions buildOptions = BuildOptions.None; BuildTargetGroup targetGroup = UnityEditor.BuildPipeline.GetBuildTargetGroup(buildTarget); ScriptingDefines defines = new ScriptingDefines(targetGroup, args.IsVerbose); ScriptingImplementation scriptingImplementation; if (BuilderUtils.TryGetScriptingBackend(args, targetGroup, out scriptingImplementation)) { PlayerSettings.SetScriptingBackend(targetGroup, scriptingImplementation); } if (args.Contains(BuilderArguments.Debug)) { buildOptions |= BuildOptions.Development; defines.Add(Defines.DEBUG); } else { defines.Remove(Defines.DEBUG); defines.Add(Defines.RELEASE); } var options = new BuildPlayerOptions { options = buildOptions, target = buildTarget, targetGroup = targetGroup, scenes = _scenes, locationPathName = args[BuilderArguments.Out] }; var config = new BuildConfiguration(args, defines, buildNumber, version.ToString(), options); var report = Build(config); if (args.IsVerbose) { _logger.Log("command line build result: " + report.summary.result); } }