ConfigureTestCommand.cpp (2732B)
1 // Copyright (c) Microsoft Corporation. 2 // Licensed under the MIT License. 3 #include "pch.h" 4 #include "ConfigureTestCommand.h" 5 #include "Workflows/ConfigurationFlow.h" 6 #include "Workflows/MSStoreInstallerHandler.h" 7 #include "ConfigurationCommon.h" 8 9 using namespace AppInstaller::CLI::Workflow; 10 11 namespace AppInstaller::CLI 12 { 13 std::vector<Argument> ConfigureTestCommand::GetArguments() const 14 { 15 return { 16 Argument{ Execution::Args::Type::ConfigurationFile, Resource::String::ConfigurationFileArgumentDescription, ArgumentType::Positional }, 17 Argument{ Execution::Args::Type::ConfigurationModulePath, Resource::String::ConfigurationModulePath, ArgumentType::Positional }, 18 Argument{ Execution::Args::Type::ConfigurationProcessorPath, Resource::String::ConfigurationProcessorPath, ArgumentType::Standard, Argument::Visibility::Help }, 19 Argument{ Execution::Args::Type::ConfigurationHistoryItem, Resource::String::ConfigurationHistoryItemArgumentDescription, ArgumentType::Standard, Argument::Visibility::Help }, 20 Argument{ Execution::Args::Type::ConfigurationAcceptWarning, Resource::String::ConfigurationAcceptWarningArgumentDescription, ArgumentType::Flag }, 21 }; 22 } 23 24 Resource::LocString ConfigureTestCommand::ShortDescription() const 25 { 26 return { Resource::String::ConfigureTestCommandShortDescription }; 27 } 28 29 Resource::LocString ConfigureTestCommand::LongDescription() const 30 { 31 return { Resource::String::ConfigureTestCommandLongDescription }; 32 } 33 34 Utility::LocIndView ConfigureTestCommand::HelpLink() const 35 { 36 return "https://aka.ms/winget-command-configure#test"_liv; 37 } 38 39 void ConfigureTestCommand::ExecuteInternal(Execution::Context& context) const 40 { 41 context << 42 VerifyIsFullPackage << 43 VerifyFileOrUri(Execution::Args::Type::ConfigurationFile) << 44 CreateConfigurationProcessorWithoutFactory << 45 OpenConfigurationSet << 46 CreateConfigurationProcessor << 47 ShowConfigurationSet << 48 ShowConfigurationSetConflicts << 49 ConfirmConfigurationProcessing(false) << 50 TestConfigurationSet; 51 } 52 53 void ConfigureTestCommand::ValidateArgumentsInternal(Execution::Args& execArgs) const 54 { 55 Configuration::ValidateCommonArguments(execArgs, true); 56 } 57 58 void ConfigureTestCommand::Complete(Execution::Context& context, Execution::Args::Type argType) const 59 { 60 if (argType == Execution::Args::Type::ConfigurationHistoryItem) 61 { 62 context << CompleteConfigurationHistoryItem; 63 } 64 } 65 }