using System.Collections.Generic;
public static void Main()
public static void Test2()
var parser = new Parser(config =>
config.IgnoreUnknownArguments = true;
var args="-quit -batchmode -buildTarget ${BuildTargetGroup} -executeMethod THUtils.Editor.BuildPipeline.THBuildPipeline.JenkinsBuildGame --platformTarget ${BuildTarget} --buildTargetGroup ${BuildTargetGroup} --buildConfig ${BuildConfiguration} --revision ${RevisionNumber} --scenes ${SpecificScenes}".Split();
var result= parser.ParseArguments<THBuildOptions>(args);
private static void Run(THBuildOptions obj)
public class THBuildOptions
[Option("buildConfig")] public string BuildConfiguration { get; set; }
[Option("buildTargetGroup")] public string BuildTargetGroup { get; set; }
[Option("platformTarget")] public string BuildTarget { get; set; }
[Option("revision")] public string RevisionNumber { get; set; }
[Option("scenes")] public IEnumerable<string> SpecificScenes { get; set; }
public override string ToString()
return $"BuildConfig = {BuildConfiguration}\r\n" +
$"BuildTargetGroup = {BuildTargetGroup}\r\n" +
$"PlatformTarget = {BuildTarget}\r\n" +
$"Revision = {RevisionNumber}\r\n" +
$"Scenes = {SpecificScenes}\r\n";