sdkman / homebrew-tap

Apache License 2.0
34 stars 5 forks source link

Loses all candidates upon upgrade #1

Open jwadamson opened 1 year ago

jwadamson commented 1 year ago

I just upgraded a homebrew-based installation of sdkman. I was shocked to find my installed candidates had been deleted and my development environment was broken until I manually issued the sdkman commands to reinstall them.

Is there a way to store the installed software in a version-independent location outside of the homebrew Cellar version specific directory?

helpermethod commented 1 year ago

Hi @jwadamson,

thanks for reporting, that is indeed a problem.

I think you can work around this if you set SDKMAN_CANDIDATES_DIR to an existing directory of your choice.

I'm currently on holiday but will fix the formula at the end of the next week.

EDIT This seems to be a little bit harder than I initially thought. The candidates directory is currently linked to the directory where SDKMAN! is placed. We probably need to split those two.

jwadamson commented 1 year ago

Thank you for looking into this. I had seen the SDKMAN_CANDIDATES_DIR env var, but it looked like it is not set up as being intended to be overridden prior to calling the init script so I wasn't sure what sort of side effects that would have.

agsimeonov commented 1 year ago

For now I have used: brew pin sdkman-cli

And then enabled selfupdate via sdkman_selfupdate_feature=true after running sdk config

And to update using: sdk selfupdate

I would love this resolved too so I don't have to go through this workaround.