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)
));
}
}