Skip to content

Provide a way to manage aliases for a major version of a tool #603

@vpavic

Description

@vpavic

As discussed in the sdkman/user-issues, it would be nice to have SDKMAN provide a way to manage additional aliases which would point to the latest major version of a tool.

This would be of great help when working with IDEs, since we would have a well defined aliases of, for example, major JDK releases: JDK 8, JDK 7, etc. So when a new update of a given JDK release would be installed, the alias would be updated to point to it and therefore no change to IDE configuration would be required.

I'm currently managing something like this by manually creating symlinks:

$ ll .sdkman/candidates/java/
total 28
drwxr-xr-x  7 vedran vedran 4096 Aug 31 07:59 ./
drwxr-xr-x 10 vedran vedran 4096 Jul  6 09:31 ../
drwxr-xr-x  9 vedran vedran 4096 Apr 18 17:40 6u93-zulu/
drwxr-xr-x  9 vedran vedran 4096 Apr 17 15:41 7u141-zulu/
drwxr-xr-x  8 vedran vedran 4096 Jul 12 13:41 8u141-oracle/
drwxr-xr-x  9 vedran vedran 4096 Jul 26 16:26 8u144-zulu/
drwxr-xr-x 10 vedran vedran 4096 Aug 21 16:59 9ea14-zulu/
lrwxrwxrwx  1 vedran vedran   47 Aug  9 09:09 current -> /home/vedran/.sdkman/candidates/java/8u144-zulu/
lrwxrwxrwx  1 vedran vedran    9 Aug 22 14:04 java-6-zulu -> 6u93-zulu/
lrwxrwxrwx  1 vedran vedran   10 Aug 22 14:04 java-7-zulu -> 7u141-zulu/
lrwxrwxrwx  1 vedran vedran   12 Aug 31 07:59 java-8-oracle -> 8u141-oracle/
lrwxrwxrwx  1 vedran vedran   10 Aug 22 14:04 java-8-zulu -> 8u144-zulu/
lrwxrwxrwx  1 vedran vedran   10 Aug 27 20:13 java-9-zulu -> 9ea14-zulu/

Which results in:

$ sdk ls java

================================================================================
Available Java Versions
================================================================================
   + java-9-zulu                                                                   
   + java-8-zulu                                                                   
   + java-8-oracle                                                                 
   + java-7-zulu                                                                   
   + java-6-zulu                                                                   
   * 9ea14-zulu                                                                    
     9ea13-zulu                                                                    
 > * 8u144-zulu                                                                    
   * 8u141-oracle                                                                  
     8u131-zulu                                                                    
   * 7u141-zulu                                                                    
   * 6u93-zulu                                                                     
                                                                                   
                                                                                   
                                                                                   

================================================================================
+ - local version
* - installed
> - currently in use
================================================================================

/cc @joshuawhite929

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions