private static int Main(string[] args)
{
Platform.Initialise();
PackageSources.InitialisePackageSources();
var container = CompositionRoot.CreateContainer();
MinimalShell.Instance = container.GetExportedValue<IShell>();
Console.WriteLine("Avalon Build - {0} - {1} - {2}", releaseName, version, Platform.PlatformIdentifier);
var result = Parser.Default.ParseArguments
<AddOptions, RemoveOptions, AddReferenceOptions, BuildOptions, CleanOptions, CreateOptions, PackageOptions, TestOptions>(args).MapResult(
(BuildOptions opts) => RunBuild(opts),
(AddOptions opts) => RunAdd(opts),
(AddReferenceOptions opts) => RunAddReference(opts),
(PackageOptions opts) => RunInstallPackage(opts),
(CleanOptions opts) => RunClean(opts),
(CreateOptions opts) => RunCreate(opts),
(RemoveOptions opts) => RunRemove(opts),
(TestOptions opts) => RunTest(opts),
errs => 1);
return result - 1;
}
}