2020-04-23 22:50:16 +02:00
using System ;
2020-04-09 18:06:01 +02:00
using System.Collections.Generic ;
using CommandLine ;
namespace GameBundle {
public class Options {
2020-04-09 18:30:30 +02:00
[Option('s', "source", HelpText = "The location of the .csproj file that should be built and bundled. By default, the current directory is scanned for one")]
2020-04-09 18:06:01 +02:00
public string SourceFile { get ; set ; }
2020-04-09 18:30:30 +02:00
[Option('o', "output", Default = "bin/Bundled", HelpText = "The location of the directory that the bundles should be stored in")]
2020-04-09 18:06:01 +02:00
public string OutputDirectory { get ; set ; }
2020-04-09 20:31:43 +02:00
[Option('v', "verbose")]
2020-04-09 18:06:01 +02:00
public bool Verbose { get ; set ; }
2020-04-10 12:48:10 +02:00
[Option('w', "win", HelpText = "Bundle for windows")]
public bool BuildWindows { get ; set ; }
[Option('l', "linux", HelpText = "Bundle for linux")]
public bool BuildLinux { get ; set ; }
[Option('m', "mac", HelpText = "Bundle for mac")]
public bool BuildMac { get ; set ; }
2020-04-09 18:06:01 +02:00
2020-04-24 00:24:39 +02:00
[Option('b', "mac-bundle", HelpText = "Create an app bundle for mac")]
public bool MacBundle { get ; set ; }
[Option("mac-bundle-resources", Default = new[] { "Content" , "*.icns" } , HelpText = "When creating an app bundle for mac, things that should go into the Resources folder rather than the MacOS folder" ) ]
public IEnumerable < string > MacBundleResources { get ; set ; }
2020-04-23 22:50:16 +02:00
[Option('e', "exclude", HelpText = "Files that should not be moved to the library folder")]
2020-04-23 23:41:27 +02:00
public IEnumerable < string > ExcludedFiles { get ; set ; }
2020-04-09 20:31:43 +02:00
[Option("32-bit", HelpText = "Publish for 32 bit instead of 64 bit. Note that this is only possible on Windows")]
2020-04-09 18:06:01 +02:00
public bool Publish32Bit { get ; set ; }
2020-05-05 03:03:31 +02:00
[Option('t', "trim", HelpText = "Trim the application when publishing")]
public bool Trim { get ; set ; }
2020-04-09 20:31:43 +02:00
[Option('c', "config", Default = "Release", HelpText = "The build configuration to use")]
public string BuildConfig { get ; set ; }
2020-04-11 17:26:07 +02:00
[Option("lib-name", Default = "Lib", HelpText = "The name of the library folder that is created")]
public string LibFolder { get ; set ; }
2020-04-09 18:06:01 +02:00
}
}