private async Task OnExecuteAsync(CommandLineApplication app) { try { if (IsHelpRequested) { await EvaluateHelp(app); return; } var loader = BuildManifestLoader(); if (loader == null) { return; } List <IManifestConfigurationProvider> providers = BuildConfiguration(); IPolicySetLoader policyLoader = null; if (!string.IsNullOrEmpty(PolicySetSource)) { policyLoader = PolicySetLoaderFactory.BuildPolicySetLoader(PolicySetSource, Verbose, PolicySetName); } PolicySetEvaluator policyEvaluator = new PolicySetEvaluator(policyLoader); var processor = new ManifestConfigurationProcessor(providers); var filter = ManifestFilterFactory.BuildManifestFilter(EmitCrds); var serializer = new ManifestSerializer(filter); var pipeline = new ManifestPipeline(processor, loader, serializer, policyEvaluator); var output = await pipeline.ExecutePipeline(); Console.WriteLine(output); } catch (Exception ex) { if (Verbose) { Console.Error.WriteLine(ex.ToString()); } else { Console.Error.WriteLine(ex.Message); } Environment.ExitCode = -1; } finally { if (WaitAfterCompletion) { Console.WriteLine("Press any key to continue..."); Console.ReadKey(); } } }
public PolicySetEvaluator(IPolicySetLoader loader) { this.loader = loader; }