com.guru.unity.sdk.core/Editor/BuildTool/AppBuildParam.cs

104 lines
4.2 KiB
C#

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,
};
}
/// <summary>
/// 构建Android参数
/// </summary>
/// <param name="isRelease"></param>
/// <param name="version"></param>
/// <param name="autoBuildNumber"></param>
/// <param name="builderType"></param>
/// <param name="companyName"></param>
/// <param name="useGuruCerts"></param>
/// <param name="useMinify"></param>
/// <param name="androidTargetVersion"></param>
/// <param name="debugWithMono"></param>
/// <returns></returns>
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);
}
/// <summary>
/// 构建iOS参数
/// </summary>
/// <param name="isRelease"></param>
/// <param name="version"></param>
/// <param name="autoBuildNumber"></param>
/// <param name="builderType"></param>
/// <param name="companyName"></param>
/// <param name="useGuruCerts"></param>
/// <param name="iOSTargetVersion"></param>
/// <param name="iOSTeamId"></param>
/// <returns></returns>
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);
}
}
}