I've just published another new module for Cake: Cake.DNF.Module
This module, when included in your build environment, allows you to install tools and packages as part of your build using the DNF package manager!
What does it do?
Many so-called Red Hat-based (better described as rpm-based) Linux distributions, including Fedora, CentOS, and Red Hat Enterprise Linux support the new DNF (Dandified Yum) package manager for installing and managing local software.
This module allows Cake scripts to install tools using the familiar
#tool syntax, but instead of downloading a package from NuGet, it will install the package locally using DNF commands.
This means you can ensure your build's dependencies will always be available, even on a clean system or environment!
Where can I use it?
Obviously, this module will only install successfully on Linux distributions with DNF available and installed (such as Fedora 22+). Fortunately, the module will simply do nothing on if it's not running on a Linux host, so your Windows and macOS builds won't be broken by an errant tool install.
That being said, you'll need to make sure the module is present, even on Windows, since it tells Cake what to do with DNF packages.
How do I use it?
If you're using the latest bootstrapper example (always available in this repo), you can simply add a
tools/Modules/packages.config file and the bootstrapper will install it for you.
Otherwise, just make sure the NuGet package is installed to your
tools/Modules folder and the module should kick in when needed.
Finally, to actually install a package, use the same
#tool directive you use for NuGet packages but this time use
dnf as the source, like the below:
You can also add more parameters to control the installation:
Full documentation including examples and more information on the supported parameters is available in the online documentation.
How do I contribute?
Build and Release status