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