public async Task RunAsync()

in src/build/Commands/FetchCommand.cs [24:61]


        public async Task RunAsync()
        {
            if (Targets.Any(t => t.ToLower() == "all"))
                Targets = BuildContext.Default.Config.ProductNames;

            var bt = new Bullseye.Targets();
            var cmd = this;

            var productBuildTargets = new List<string>();

            foreach (var target in Targets)
            {
                var product = target;
                var ctx = new BuildContext();
                ctx.SetCommand(this);

                bt.Add(
                    FindPackageTarget.NameWith(product),
                    async () => await FindPackageTarget.RunAsync(ctx, product));

                bt.Add(
                    FetchPackageTarget.NameWith(product),
                    Bullseye.Targets.DependsOn(FindPackageTarget.NameWith(product)),
                    async () => await FetchPackageTarget.RunAsync(ctx));

                productBuildTargets.Add(FetchPackageTarget.NameWith(product));
            }

            try
            {
                await bt.RunWithoutExitingAsync(productBuildTargets);
            }
            catch
            {
                // We swallow exceptions here, BullsEye prints them
                // TODO: use overload "messageOnly"
            }
        }