You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently each language has its own single-purpose version manager in the manifest schema - pyenv (Python), rbenv (Ruby), sdkman (JVM languages) - with no way to express asdf, the general-purpose, plugin-based version manager that can replace any of them depending on which plugins a manifest installs (ruby, python, java, golang, etc.).
Depends on #16 - asdf needs to be opt-in alongside pyenv/rbenv/sdkman/direct system installs (you don't want multiple version managers for the same language installing at once), which needs real --select/--exclude filtering, not just documentation-only tags:. asdf's own package entries will carry tags: [asdf].
Add asdf as a new package type: in resolve_order.rb's PACKAGE_TYPES
Add install-command handling - asdf's install is git-clone + shell-hook + per-language asdf plugin add/asdf install, not a one-line package-manager call, so this needs a script:-based bootstrap (similar to ubuntu22_rbenv) plus separate asdf install <language> <version> steps per language a manifest wants asdf-managed
Decide which platform(s) actually get it - bash-capable platforms only (ubuntu2204.yml, macos.yml, cygwin.yml, msys2.yml); native Windows has no bash, so asdf wouldn't apply there (asdf itself doesn't support native Windows either, only WSL/POSIX shells)
Decide tagging granularity - a single tags: [asdf] for the bootstrap step, but should each asdf-managed language also carry a language-specific tag (e.g. [asdf, ruby-version-manager]) so --select/--exclude can swap asdf in for just one language rather than all of them at once?
Document asdf in scriptbox/config/README.md's "Version Managers" list, alongside pyenv/rbenv/sdkman
Confirm whether scriptbox/scripts/verify_commands.rb needs any change, or whether it already covers asdf-installed languages transparently (it detects binaries by name, not by install method)
This is additive/optional - existing platforms already install each language fine without asdf. This is about giving manifest authors the choice of a single unified version manager where they want it, once #16 makes that choice actually selectable.
Currently each language has its own single-purpose version manager in the manifest schema -
pyenv(Python),rbenv(Ruby),sdkman(JVM languages) - with no way to express asdf, the general-purpose, plugin-based version manager that can replace any of them depending on which plugins a manifest installs (ruby,python,java,golang, etc.).Depends on #16 - asdf needs to be opt-in alongside
pyenv/rbenv/sdkman/direct system installs (you don't want multiple version managers for the same language installing at once), which needs real--select/--excludefiltering, not just documentation-onlytags:. asdf's own package entries will carrytags: [asdf].asdfas a new packagetype:inresolve_order.rb'sPACKAGE_TYPESasdf plugin add/asdf install, not a one-line package-manager call, so this needs ascript:-based bootstrap (similar toubuntu22_rbenv) plus separateasdf install <language> <version>steps per language a manifest wants asdf-managedubuntu2204.yml,macos.yml,cygwin.yml,msys2.yml); native Windows has no bash, so asdf wouldn't apply there (asdf itself doesn't support native Windows either, only WSL/POSIX shells)tags: [asdf]for the bootstrap step, but should each asdf-managed language also carry a language-specific tag (e.g.[asdf, ruby-version-manager]) so--select/--excludecan swap asdf in for just one language rather than all of them at once?asdfinscriptbox/config/README.md's "Version Managers" list, alongsidepyenv/rbenv/sdkmanscriptbox/scripts/verify_commands.rbneeds any change, or whether it already covers asdf-installed languages transparently (it detects binaries by name, not by install method)This is additive/optional - existing platforms already install each language fine without asdf. This is about giving manifest authors the choice of a single unified version manager where they want it, once #16 makes that choice actually selectable.