Esempio n. 1
0
    private void CleanImplementations(IEnumerable <ImplementationSelection> implementations)
    {
        var digestsToKeep   = implementations.Select(x => x.ManifestDigest);
        var digestsToRemove = ImplementationStore.ListAll().Except(digestsToKeep, ManifestDigestPartialEqualityComparer.Instance);

        Handler.RunTask(ForEachTask.Create(
                            name: Resources.RemovingOutdated,
                            target: digestsToRemove.ToList(),
                            work: digest => ImplementationStore.Remove(digest, Handler)));
    }
Esempio n. 2
0
 public void ListAll()
 {
     Directory.CreateDirectory(Path.Combine(_tempDir, "sha1=test1"));
     Directory.CreateDirectory(Path.Combine(_tempDir, "sha1new=test2"));
     Directory.CreateDirectory(Path.Combine(_tempDir, "sha256=test3"));
     Directory.CreateDirectory(Path.Combine(_tempDir, "sha256new_test4"));
     Directory.CreateDirectory(Path.Combine(_tempDir, "temp=stuff"));
     _store.ListAll().Should().BeEquivalentTo(new ManifestDigest[]
     {
         new(Sha1: "test1"),
         new(Sha1New: "test2"),
         new(Sha256: "test3"),
         new(Sha256New: "test4")
     });
Esempio n. 3
0
    private void CleanImplementations(IEnumerable <ImplementationSelection> implementations)
    {
        var digestsToKeep   = implementations.Select(x => x.ManifestDigest);
        var digestsToRemove = ImplementationStore.ListAll().Except(digestsToKeep, ManifestDigestPartialEqualityComparer.Instance);

        Handler.RunTask(ForEachTask.Create(
                            name: Resources.RemovingOutdated,
                            target: digestsToRemove.ToList(),
                            work: digest =>
        {
            try
            {
                ImplementationStore.Remove(digest, Handler);
            }
            catch (NotAdminException ex) when(ZeroInstallInstance.IsLibraryMode)
            {
                Log.Info($"Unable to remove {digest}", ex);
            }
        }
                            ));
    }
Esempio n. 4
0
        private void Clean(IEnumerable <ManifestDigest> digestsToKeep)
        {
            var toDelete = ImplementationStore.ListAll().Except(digestsToKeep, ManifestDigestPartialEqualityComparer.Instance).ToList();

            Handler.RunTask(ForEachTask.Create(Resources.RemovingOutdated, toDelete, x => ImplementationStore.Remove(x, Handler)));
        }