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);
 | 
						|
        }
 | 
						|
        
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
    
 | 
						|
 | 
						|
} |