Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Features for asdf 0.8.0 #552

Closed
Stratus3D opened this issue Jul 22, 2019 · 8 comments
Closed

Features for asdf 0.8.0 #552

Stratus3D opened this issue Jul 22, 2019 · 8 comments
Assignees
Milestone

Comments

@Stratus3D
Copy link
Member

I'm beginning work on some new features that I hope to release in version 0.8.0. These are significant changes that have been needed for a while.

Features

  • Add support for download script in plugins. Right now plugins have an install script that download, configure, compile, and install the correct version of the tool. With support for a download script, asdf will check for the presence of the script, and when installing a version. It will invoke the download script to download the source into a new source directory (with sub directories for each version we have downloaded) and then invoke the install script to install the source. This will allow us to easily add flags to allow the user to keep the source for later use or edit it for manual configuration and patching before installation. If the download script is not present in a plugin then asdf will fallback to the current behavior and download and install the version all at once by just invoking the install script. The download script will be optional at first and eventually be required in some later version of asdf. This will address [Proposal] Option "-k" to keep source #74, Add flag to preserve build/compilation directories #391, Option to keep ruby sources after installation asdf-ruby#122
  • Add another optional plugin callback script. Something named dependencies or prerequisites or documentation. When invoked the script would print some documentation listing the dependencies needed and other things that may be helpful to the user. Additionally this script could take a version as well, and provide version specific documentation. The documentation would only be printed when the user requested it, otherwise it would just clutter up the output. I'm not sure what the asdf command to execute the doc script. Maybe asdf doc ruby? And maybe have optional support for a version? asdf doc ruby 2.6.1? This will address Make dependencies installation more straightforward  #512

Bugfixes

  • Allow asdf to run with default configuration when no environment variables are set. asdf should default to ~/.asdf when no ASDF_DIR variable is set. Ideally asdf should just work out of the box on any system that it is installed on without any manual config. This is currently not the case. This will fix Version command fails on macOS after first installation #428
@Stratus3D
Copy link
Member Author

FYI @asdf-vm/core

@HashNuke
Copy link
Member

This feature set looks good - especially the bug fix to make it work without the env var.

@jthegedus
Copy link
Contributor

My thoughts on the handling of dependencies of plugins can be read in #512

@Stratus3D
Copy link
Member Author

I have merged #669 which addresses #74. I need to create two more PRs to complete these features - one to add a downloads command to asdf for managing downloads. And another for the plugin documentation callback script.

@jthegedus
Copy link
Contributor

@Stratus3D How are you going with this? Is there anything you need from us/me?

@Stratus3D
Copy link
Member Author

@jthegedus I'm going to request feedback on my changes as soon as I can get a WIP PR created. I should have it ready sometime today.

@Stratus3D
Copy link
Member Author

I have created #757, which is the last feature needed for the 0.8.0 release.

@Stratus3D
Copy link
Member Author

Closing since these features have been added.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants