Contributor
Nanda H Krishna

Adding a livecheck Formula DSL and migrating Livecheckables to home-brew/core


Mentors
Sean Molenaar, rui, Sam Ford, Thierry Moisan
Organization
Homebrew

DSLs or domain-specific languages are written in order to serve a highly specific purpose. Currently, Homebrew has DSLs for various purposes, in Formulae, Casks, and so on. Homebrew also has a livecheck Tap which enables checking for latest versions, compared to the user’s locally installed version. The Tap checks for the latest version from a URL specified or obtained from the Formula specification, using Regex and a heuristic.

Currently, Livecheckables or “instructions” for livecheck are part of the homebrew/livecheck Tap. However, it would be more beneficial to include the livecheck details as part of the Formula definition in homebrew/core itself. This would require changes to the Formula class defined in Homebrew, in the form of adding a domain-specific language for livecheck. Once this is added, a Formula’s author may include the livecheck details in the Formula definition on homebrew/core, and not have to maintain a separate Livecheckable in homebrew/liveecheck, making things more convenient for maintainers and contributors.

The project aims to add this DSL for livecheck to Homebrew Formulae and migrate all existing Livecheckables to home-brew/core.