| File: ProjectOptions.cs | Web Access |
| Project: src\aspnetcore\src\Tools\dotnet-getdocument\src\dotnet-getdocument.csproj (dotnet-getdocument) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.Extensions.CommandLineUtils; namespace Microsoft.Extensions.ApiDescription.Tool; internal sealed class ProjectOptions { public CommandOption AssemblyPath { get; private set; } public CommandOption AssetsFile { get; private set; } public CommandOption Platform { get; private set; } public CommandOption ProjectName { get; private set; } public CommandOption RuntimeFrameworkVersion { get; private set; } public CommandOption TargetFramework { get; private set; } public CommandOption Environment { get; private set; } public void Configure(CommandLineApplication command) { AssemblyPath = command.Option("--assembly <Path>", Resources.AssemblyDescription); AssetsFile = command.Option("--assets-file <Path>", Resources.AssetsFileDescription); TargetFramework = command.Option("--framework <FRAMEWORK>", Resources.TargetFrameworkDescription); Platform = command.Option("--platform <Target>", Resources.PlatformDescription); ProjectName = command.Option("--project <Name>", Resources.ProjectDescription); RuntimeFrameworkVersion = command.Option("--runtime <RUNTIME_IDENTIFIER>", Resources.RuntimeDescription); Environment = command.Option("--environment <Name>", Resources.EnvironmentDescription); } public void Validate() { if (!AssemblyPath.HasValue()) { throw new CommandException(Resources.FormatMissingOption(AssemblyPath.LongName)); } if (!ProjectName.HasValue()) { throw new CommandException(Resources.FormatMissingOption(ProjectName.LongName)); } if (!TargetFramework.HasValue()) { throw new CommandException(Resources.FormatMissingOption(TargetFramework.LongName)); } } }