Пример #1
0
        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();
                }
            }
        }
Пример #2
0
 public PolicySetEvaluator(IPolicySetLoader loader)
 {
     this.loader = loader;
 }