namespace Guru.Editor { using UnityEngine; public enum AppBuilderType { Editor = 0, Jenkins, } public class AppBuildParam { public bool IsBuildRelease; public bool IsBuildShowLog; public AppBuilderType BuilderType; public string BuildVersion = ""; public bool AutoSetBuildNumber = true; public bool IsBuildAAB; public bool IsBuildSymbols = false; public int AndroidTargetVersion = 0; public bool AndroidUseMinify = false; public bool DebugWithMono = true; public string IOSTargetVersion = ""; public string IOSTeamId = ""; public string CompanyName = ""; public bool UseGuruCerts = true; // 使用 Guru 的证书打包 public override string ToString() { return $"build params: \n{JsonUtility.ToJson(this, true)}"; } public static AppBuildParam Build(bool isRelease, AppBuilderType builderType = AppBuilderType.Editor, string version = "", bool autoBuildNumber = true, string companyName = "", bool buildShowLog = false, bool useGuruCerts = true, bool buildSymbols = false, bool buildAAB = false, bool useMinify = false, int androidTargetVersion = 0, bool debugWithMono = true, string iOSTargetVersion = "", string iOSTeamId = "") { return new AppBuildParam() { IsBuildRelease = isRelease, IsBuildShowLog = buildShowLog, BuilderType = builderType, BuildVersion = version, AutoSetBuildNumber = autoBuildNumber, IsBuildAAB = buildAAB, IsBuildSymbols = buildSymbols, AndroidTargetVersion = androidTargetVersion, AndroidUseMinify = useMinify, DebugWithMono = debugWithMono, IOSTargetVersion = iOSTargetVersion, IOSTeamId = iOSTeamId, CompanyName = companyName, UseGuruCerts = useGuruCerts, }; } /// /// 构建Android参数 /// /// /// /// /// /// /// /// /// /// /// public static AppBuildParam AndroidParam(bool isRelease, string version = "", bool autoBuildNumber = true, AppBuilderType builderType = AppBuilderType.Editor, string companyName = "", bool useGuruCerts = true, bool useMinify = false, int androidTargetVersion = 0, bool debugWithMono = true) { bool buildAAB = isRelease; bool buildShowLog = isRelease; bool buildSymbols = isRelease; return Build(isRelease, builderType, version, autoBuildNumber,companyName, buildShowLog, useGuruCerts, buildSymbols, buildAAB, useMinify, androidTargetVersion, debugWithMono); } /// /// 构建iOS参数 /// /// /// /// /// /// /// /// /// /// public static AppBuildParam IOSParam(bool isRelease, string version = "", bool autoBuildNumber = true, AppBuilderType builderType = AppBuilderType.Editor, string companyName = "", bool useGuruCerts = true, string iOSTargetVersion = "", string iOSTeamId = "" ) { bool buildShowLog = isRelease; return Build(isRelease, builderType, version, autoBuildNumber, companyName, buildShowLog, useGuruCerts, iOSTargetVersion:iOSTargetVersion, iOSTeamId:iOSTeamId); } } }