Disable legacy_mode for ASDF for this project
Then
When asdf was first adopted in the runbooks project, it was implemented in such a way that many developers on the runbooks project would not be using it.
It was also expected that contributors would prefer other tools such as rvm
and rbenv
.
As a compromise, the decision was made to use legacy-mode
in ASDF: https://asdf-vm.com/manage/configuration.html#legacy-version-file
This would mean that some plugins would use .tool-versions
, while other plugins (notably Ruby) would use .ruby-version
.
Now
Roll forward several years and this project relies heavily on asdf
. As far as I know, it is the only supported approach to developing in Runbooks, and all contributors in this project use it.
There are several downsides to continuing to support legacy mode:
- New contributors need to manually enable legacy mode. Not doing so can lead to the project onboarding process breaking.
- Tool versions are split across multiple files
- Other projects at GitLab (in my case, the Dedicated projects) do not work well with Legacy mode. However, since the setting is global, I have to turn it off and on as I navigate between projects. This is not ideal.
- With the potential introduction of Renovatebot etc, splitting the versioning configuration across multiple files adds overhead.
Proposal
- Remove the requirement for legacy versions in this project and add
ruby
to the.tool-versions
file. - Update the documentation.
Edited by Andrew Newdigate