Copyright | (c) 2021-2022 berberman |
---|---|
License | MIT |
Maintainer | berberman <[email protected]> |
Stability | experimental |
Portability | portable |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
nvchecker is a program checking new versions of packages.
We encode the checking process into shake build system, generating configuration of nvchecker and calling it externally.
Now we call nvchecker for each VersionSource
, which seems not to be efficient, but it's tolerable when running in parallel.
Meanwhile, we lose the capabilities of tracking version updates, i.e. normally nvchecker will help us maintain a list of old versions,
so that we are able to know which package's version is updated in this run. Fortunately, we can reimplement this in shake,
see nvcheckerRule
for details.
Synopsis
- data VersionSortMethod
- data ListOptions = ListOptions {}
- data CheckVersion = CheckVersion VersionSource NvcheckerOptions
- data NvcheckerOptions = NvcheckerOptions {}
- data VersionSource
- = GitHubRelease { }
- | GitHubTag {
- _owner :: Text
- _repo :: Text
- _listOptions :: ListOptions
- | Git { }
- | Pypi { }
- | ArchLinux { }
- | Aur { }
- | Manual { }
- | Repology { }
- | Webpage {
- _vurl :: Text
- _regex :: Text
- _listOptions :: ListOptions
- | HttpHeader {
- _vurl :: Text
- _regex :: Text
- _listOptions :: ListOptions
- | OpenVsx {
- _ovPublisher :: Text
- _ovExtName :: Text
- | VscodeMarketplace {
- _vsmPublisher :: Text
- _vsmExtName :: Text
- | Cmd { }
- | Container { }
- data NvcheckerResult = NvcheckerResult {}
- nvcheckerRule :: Rules ()
- checkVersion :: VersionSource -> NvcheckerOptions -> PackageKey -> Action NvcheckerResult
- checkVersion' :: VersionSource -> NvcheckerOptions -> Action NvcheckerResult
Types
data VersionSortMethod Source #
Instances
data ListOptions Source #
Filter-like configuration for some version sources. See https://nvchecker.readthedocs.io/en/latest/usage.html#list-options for details.
Instances
data CheckVersion Source #
The input of nvchecker
Instances
data NvcheckerOptions Source #
Configuration available for evey version sourece. See https://nvchecker.readthedocs.io/en/latest/usage.html#global-options for details.
Instances
data VersionSource Source #
Upstream version source for nvchecker to check
GitHubRelease | |
GitHubTag | |
| |
Git | |
Pypi | |
ArchLinux | |
Aur | |
Manual | |
Repology | |
Webpage | |
| |
HttpHeader | |
| |
OpenVsx | |
| |
VscodeMarketplace | |
| |
Cmd | |
Container | |
Instances
data NvcheckerResult Source #
The result of nvchecker rule
Instances
Rules
nvcheckerRule :: Rules () Source #
Rules of nvchecker
Functions
checkVersion :: VersionSource -> NvcheckerOptions -> PackageKey -> Action NvcheckerResult Source #
Run nvchecker given PackageKey
Recording version changes and using stale version are available.
checkVersion' :: VersionSource -> NvcheckerOptions -> Action NvcheckerResult Source #
Run nvchecker without cache