public void CollectMissing(IEnvLocalFeed feed, IActivityMonitor m, IEnumerable <ArtifactInstance> artifacts, HashSet <ArtifactInstance> missing)
 {
     foreach (var n in artifacts)
     {
         if (n.Artifact.Type == NuGetClient.NuGetType)
         {
             if (feed.GetNuGetPackageFile(m, n.Artifact.Name, n.Version) == null)
             {
                 missing.Add(n);
             }
         }
     }
 }
        public bool PushLocalArtifacts(IEnvLocalFeed feed, IActivityMonitor m, IArtifactRepository target, IEnumerable <ArtifactInstance> artifacts, bool arePublicArtifacts)
        {
            if (!target.HandleArtifactType(NuGetClient.NuGetType))
            {
                return(true);
            }
            var locals = new List <LocalNuGetPackageFile>();

            foreach (var a in artifacts)
            {
                var local = feed.GetNuGetPackageFile(m, a.Artifact.Name, a.Version);
                if (local == null)
                {
                    m.Error($"Unable to find local package {a} in {feed.PhysicalPath}.");
                    return(false);
                }
                locals.Add(local);
            }
            return(target.PushAsync(m, new NuGetArtifactLocalSet(locals, arePublicArtifacts)).GetAwaiter().GetResult());
        }