Some formulae/casks contain duplicate checkable URLs or contain URLs that become duplicates after `#preprocess_url` is used. With the former, a formula's `stable` and `head` URLs can be the same if they both use the Git repository. With the latter, a formula's `homepage` and `stable` URLs are different but `#preprocess_url` can return the same Git repository URL for each (which can also be a duplicate of the `head` URL). The `fabric-completion` formula is a worst case scenario, as it contains both of these conditions but the repository has no tags. By default, livecheck would needlessly check the repository three times (i.e., no versions are found so livecheck tries the next URL, which happens to be the same URL). This commit avoids duplicate URLs in `#checkable_urls` and keeps track of checked URLs in `#latest_version` to avoid a duplicate caused by `#preprocess_url`. This should effectively resolve the issue of checking the same URL more than once for a given formula/cask. Checking the same URL only once across all the formulae/casks in a given livecheck run will be handled in a later commit (though I've done most of the groundwork already in previous PRs).
Library
This directory contains all the code run by the official brew command in Homebrew and all formulae (package descriptions) in taps (repositories containing formulae) in Taps subdirectories.