public async Task RunAsync()

in src/build/Commands/DiscoverCommand.cs [24:83]


        public async Task RunAsync()
        {
            if (Targets.Any(t => t.ToLower() == "containers"))
            {
                var items = await ArtifactsApi.ListNamedContainers();

                Console.WriteLine(Environment.NewLine + "Branches:");
                Console.WriteLine(string.Join(
                    Environment.NewLine,
                    items
                        .Where(itm => itm.IsBranch)
                        .Select(itm => "  " + itm.Name)
                    ));

                Console.WriteLine(Environment.NewLine + "Versions:");
                Console.WriteLine(string.Join(
                    Environment.NewLine,
                    items
                        .Where(itm => itm.IsVersion)
                        .Select(itm => "  " + itm.Name)
                    ));

                Console.WriteLine(Environment.NewLine + "Aliases:");
                Console.WriteLine(string.Join(
                    Environment.NewLine,
                    items
                        .Where(itm => itm.IsAlias)
                        .Select(itm => "  " + itm.Name)
                    ));

                return;
            }

            if (string.IsNullOrWhiteSpace(ContainerId))
            {
                Console.WriteLine(
                    $"ERROR(s):{Environment.NewLine}" +
                    MagicStrings.Errors.NeedCidWhenTargetSpecified);
                return;
            }

            if (Targets.Any(t => t.ToLower() == "all"))
                Targets = BuildContext.Default.Config.ProductNames;

            foreach (var target in Targets)
            {
                if (!ForceSwitch && !BuildContext.Default.Config.ProductNames.Any(t => t.ToLower() == target))
                    throw new InvalidDataException($"Invalid product '{target}'");

                Console.WriteLine(Environment.NewLine +
                    $"Discovering '{target}' in '{ContainerId}' ...");

                var items = await ArtifactsApi.DiscoverArtifacts(target, ContainerId);

                Console.WriteLine(string.Join(
                    Environment.NewLine,
                    items.Select(itm => "  " + itm.FileName + Environment.NewLine + "  " + itm.Url + Environment.NewLine)
                    ));
            }
        }