81 lines
2.5 KiB
C#
81 lines
2.5 KiB
C#
namespace Guru.Editor
|
|
{
|
|
using System;
|
|
using UnityEngine;
|
|
using System.Linq;
|
|
|
|
public class JenkinsHelper
|
|
{
|
|
public const string DefaultArgsTag = "+args";
|
|
|
|
public static AppBuildParam ParseJenkinsBuildParam(string[] commandlineArgs, string argsTag = "")
|
|
{
|
|
if (string.IsNullOrEmpty(argsTag)) argsTag = DefaultArgsTag;
|
|
int len = commandlineArgs.Length;
|
|
|
|
Debug.Log($"------------ Jenkins set commands: {len} ------------");
|
|
|
|
var buildParam = new AppBuildParam()
|
|
{
|
|
BuilderType = AppBuilderType.Jenkins,
|
|
TargetName = "Android",
|
|
IsBuildAAB = false,
|
|
IsBuildSymbols = false,
|
|
AutoPublish = false,
|
|
};
|
|
|
|
string p = "";
|
|
for (int i = 0; i < len; i++)
|
|
{
|
|
p = commandlineArgs[i];
|
|
// Debug.Log($"--- [{i}]: {p}");
|
|
|
|
if (p.StartsWith(argsTag))
|
|
{
|
|
// Debug.Log($"--- find param: {p}");
|
|
var args = p.Split('-').ToList();
|
|
if (args.Count > 1)
|
|
{
|
|
// Debug.Log($"--- ENV: {args[1]}");
|
|
if (args[1].ToUpper() == "RELEASE")
|
|
{
|
|
buildParam.IsBuildRelease = true;
|
|
buildParam.IsBuildShowLog = false;
|
|
buildParam.IsBuildSymbols = true;
|
|
}
|
|
else
|
|
{
|
|
buildParam.IsBuildRelease = false;
|
|
buildParam.IsBuildShowLog = true;
|
|
buildParam.IsBuildSymbols = false;
|
|
}
|
|
}
|
|
if (args.Count > 2)
|
|
{
|
|
// Debug.Log($"--- VERSION: {args[2]}");
|
|
buildParam.BuildVersion = args[2];
|
|
}
|
|
}
|
|
}
|
|
|
|
return buildParam;
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// 获取构建参数
|
|
/// </summary>
|
|
/// <param name="argsTag"></param>
|
|
/// <returns></returns>
|
|
public static AppBuildParam GetBuildParams(string argsTag = "")
|
|
{
|
|
return ParseJenkinsBuildParam(Environment.GetCommandLineArgs(), argsTag);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} |