-
Notifications
You must be signed in to change notification settings - Fork 830
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
Provide a way to add or link up externally installed tool versions #1622
Comments
In this scenario, the solution I would propose is to:
I don't believe this is a feature we wish to support. The scope is huge with high potential for errors as other tools add, remove or change the "linked" tool. |
@jthegedus understandable. I currently have two main issues:
Both point me towards having java versions installed under I might be beating a dead horse here, but: how I imagined Lastly, how I see currently that Edit, PS.: I just read it again - I hope I do not sound rude. |
I would also like this feature. I use asdf to install Java development kits (JDKs), using halcyon/asdf-java. Mostly this works as usual, downloading and shimming them automatically. However, a few projects i work on require particular ancient versions (patch releases of 1.8.0), which are not available through asdf-java, and never will be. I can install these from tarballs which we have downloaded and preserved. But i have no good way to actually use them. My system is set up to use asdf to manage Java, but asdf does not know about these versions. There is the idea of the "system" version, but that doesn't help here, because these ancient JDKs are not my system JDK, and it would not be appropriate to make any of them my system JDK. I have managed to kludge my asdf installation to use these ancient JDKs; i added a symlink to the installs directory:
And then modified the java, javac, and jar shims to add:
This all seems to work fine. I can run these commands, and use But obviously, this is a bit sketchy! If this is all that is required for this to work, then at first glance it seems like it would be simple to expose a command to do this in a supported way. EDIT: i realised after writing this that i don't need to add the asdf-plugin lines myself, i can add the symlink and then reshim. |
Is your feature request related to a problem? Please describe
I have many java versions installed on my machine by different ways: like homebrew or IntellIJ IDEA.
I want to be able to manager them from a singular place, and currently asdf does not have an extension point.
Describe the proposed solution
Proposal no. 1:
Add a new command that plugins can implement:
asdf add <plugin> <version-name> <path-to-install-location>
For example:
asdf add java azul-11.0.20-aarch64 ~Library/Java/JavaVirtualMachines/azul-11.0.20-aarch64/
asdf shell|local|global <plugin> <added-name>
asdf link
, since it links up versions.Proposal no. 2:
Make the existing install command work with local paths:
asdf install <plugin> <path-to-install-location> --name=<version-name>
This would be probably more elegant way to handle things for the CLI - however, it needs to be designed a bit more carefully, to make it's usage simple and easily discoverable.
Maybe:
asdf install <plugin> <version-name>
asdf install <plugin> <version-name> --from=<path-to-install-location>
--local
or--location
Describe similar
asdf
features and why they are not sufficientasdf alias plugin:
asdf install:
Describe other workarounds you've considered
Manually creating symlinks between the local install locations and the respective asdf plugin install directory.
This does not work for me: the java plugin has
java_macos_integration_enable
that makes it work nicely with MacOS's/usr/libexec/java_home
.The text was updated successfully, but these errors were encountered: