DRY musings: how to declare multiple versions of a same software?

The Erlang and Elixir packaging both do this to offer access to multiple releases of each language’s tooling. It’s also something of an mildly interesting example, given that there’s a matrix of compatibility between Erlang VM and Elixir releases and you might want to vary one or both in our own projects. Here’s a poorly-ordered list of files to poke through for inspiration, and apologies if you were already aware of them or similar patterns:

TL;DR - you can then reference these via attributes such as beam.packages.erlangR23.elixir_1_10.

3 Likes