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