wip
This commit is contained in:
commit
f1d7d6accc
33 changed files with 1676 additions and 0 deletions
51
src/core.next/Program.cs
Normal file
51
src/core.next/Program.cs
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
// Copyright (c) The Geekeey Authors
|
||||
// SPDX-License-Identifier: EUPL-1.2
|
||||
|
||||
using System.CommandLine;
|
||||
using System.CommandLine.Parsing;
|
||||
|
||||
using Geekeey.Actions.Core.Commands;
|
||||
|
||||
namespace Geekeey.Actions.Core;
|
||||
|
||||
internal sealed class Program : RootCommand
|
||||
{
|
||||
#pragma warning disable format // @formatter:off
|
||||
public static readonly Option<Uri> Server = new GitHubContextOption<Uri>("--server", env: "GITHUB_SERVER_URL"){CustomParser = Uri};
|
||||
public static readonly Option<string> Token = new GitHubContextOption<string>("--token", env: "GITHUB_TOKEN");
|
||||
#pragma warning restore format // @formatter:on
|
||||
|
||||
public static Uri? Uri(ArgumentResult result)
|
||||
{
|
||||
string value;
|
||||
if (!result.Tokens.Any())
|
||||
{
|
||||
value = Environment.GetEnvironmentVariable("GITHUB_SERVER_URL")!;
|
||||
}
|
||||
else
|
||||
{
|
||||
value = result.Tokens.Single().Value;
|
||||
}
|
||||
|
||||
if (!System.Uri.TryCreate(value, UriKind.RelativeOrAbsolute, out var uri))
|
||||
{
|
||||
result.AddError("Not a valid URI.");
|
||||
return null;
|
||||
}
|
||||
|
||||
return uri;
|
||||
}
|
||||
|
||||
private Program()
|
||||
{
|
||||
Add(Server);
|
||||
Add(Token);
|
||||
|
||||
Add(new Checkout());
|
||||
}
|
||||
|
||||
private static Task<int> Main(string[] args)
|
||||
{
|
||||
return new Program().Parse(args).InvokeAsync();
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue