// RemoveFiles removes files that were created by Publish // // It can remove prefix fully, and part of pool (for specific component) func (p *PublishedRepo) RemoveFiles(publishedStorage aptly.PublishedStorage, removePrefix bool, removePoolComponents []string, progress aptly.Progress) error { // I. Easy: remove whole prefix (meta+packages) if removePrefix { err := publishedStorage.RemoveDirs(filepath.Join(p.Prefix, "dists"), progress) if err != nil { return err } return publishedStorage.RemoveDirs(filepath.Join(p.Prefix, "pool"), progress) } // II. Medium: remove metadata, it can't be shared as prefix/distribution as unique err := publishedStorage.RemoveDirs(filepath.Join(p.Prefix, "dists", p.Distribution), progress) if err != nil { return err } // III. Complex: there are no other publishes with the same prefix + component for _, component := range removePoolComponents { err = publishedStorage.RemoveDirs(filepath.Join(p.Prefix, "pool", component), progress) if err != nil { return err } } return nil }
// RemoveFiles removes files that were created by Publish // // It can remove prefix fully, and part of pool (for specific component) func (p *PublishedRepo) RemoveFiles(publishedStorage aptly.PublishedStorage, removePrefix, removePoolComponent bool, progress aptly.Progress) error { // I. Easy: remove whole prefix (meta+packages) if removePrefix { err := publishedStorage.RemoveDirs(filepath.Join(p.Prefix, "dists"), progress) if err != nil { return err } return publishedStorage.RemoveDirs(filepath.Join(p.Prefix, "pool"), progress) } // II. Medium: remove metadata, it can't be shared as prefix/distribution as unique err := publishedStorage.RemoveDirs(filepath.Join(p.Prefix, "dists", p.Distribution), progress) if err != nil { return err } // III. Complex: there are no other publishes with the same prefix + component if removePoolComponent { err = publishedStorage.RemoveDirs(filepath.Join(p.Prefix, "pool", p.Component), progress) if err != nil { return err } } else { /// IV: Hard: should have removed published files from the pool + component /// that are unique to this published repo } return nil }
// RemoveFiles removes files that were created by Publish // // It can remove prefix fully, and part of pool (for specific component) func (p *PublishedRepo) RemoveFiles(publishedStorage aptly.PublishedStorage, removePrefix, removePoolComponent bool) error { if removePrefix { err := publishedStorage.RemoveDirs(filepath.Join(p.Prefix, "dists")) if err != nil { return err } return publishedStorage.RemoveDirs(filepath.Join(p.Prefix, "pool")) } err := publishedStorage.RemoveDirs(filepath.Join(p.Prefix, "dists", p.Distribution)) if err != nil { return err } if removePoolComponent { err = publishedStorage.RemoveDirs(filepath.Join(p.Prefix, "pool", p.Component)) if err != nil { return err } } return nil }