Jabba-Team / jabba

(cross-platform) Java Version Manager
Apache License 2.0
141 stars 11 forks source link

Build release for darwin/arm64 #16

Closed nicerloop closed 1 year ago

nicerloop commented 1 year ago

There currently is no binary build for macos on arm. I would gladly contribute if I had an arm mac :)

It makes 0.12.0 version fail tests for homebrew (https://github.com/Homebrew/homebrew-core/pull/119263) Or is it https://github.com/Jabba-Team/jabba/issues/14 ?

patrick-mccourt commented 1 year ago

I will look to include support for Apple Silicon on the next release (no timeframe just yet)

I think the failure of the test on the homebrew side is down to a slight change in convention of how jdks are named.

the test is running jabba install zulu@16.0-0

There is no zulu@16.0-0 in the new index, version numbers are just what we get back from the discoapi, so we have:

zulu@16.0.2 zulu@16.0.1 zulu@16

nicerloop commented 1 year ago

The zulu@16.0-0 is misleading, it should be replaced with zulu@16 (or zulu@17 for a LTS version), but currently the checks pass on x86-64 by falling back to zulu@16.0.2 for whatever reason. I think the homebrew test failure is due to the architecture naming mismatch between go (arm64) and index.js (aarch64) observed in https://github.com/Jabba-Team/jabba/issues/14#issuecomment-1368473036

I think several actions need to be realized: 1) resolve the architecture name mismatch identified in https://github.com/Jabba-Team/jabba/issues/14#issuecomment-1368473036 2) add a compile target for release binaries 3) ensure the install scripts take care of the added binary for the added architecture

Only 1) is necessary for homebrew installations, as 2) and 3) are handled by homebrew.

I would intend this issue to track 2) and 3) only.

martonsz commented 1 year ago

@patrick-mccourt Do you need some help with this repo? I could contribute to this repo in my spare time. Which is not much. But better than nothing? :)

patrick-mccourt commented 1 year ago

Hi @martonsz, would never turn away a willing volunteer. :) I like you am doing what I can in my spare time, and at the moment my golang skills are a bit lacking so I'm trying to get up to speed on that before I make any big changes. The main thing at the moment is deciding what to do with the project. There are a couple ideas already in issues, like tackling any tech debt, updating dependencies and so on. Also the last RC should really be published as a full release, and automating that is something I'd like to look at too. I think once I've gotten up to speed with things, I'll need to farm some feature requests from users.

I usually dedicate a bit of time to this every other Friday and more if I can.

martonsz commented 1 year ago

I'm new to Golang too. But I have been a Java backend developer for 10+ years :)

I saw your plans about catching up with dependencies and tech dept. That's good! I understand that you would like to fix this first. But I think it would be a good idea to release a working darwin/arm64 version to the public so we can start using Jabba. I'm waiting for this before introducing jabba to my dev team. Your RC works for me :)

patrick-mccourt commented 1 year ago

darwin/arm64 released under 0.12.1

martonsz commented 1 year ago

@patrick-mccourt darwin/arm64 is missing in the 0.12.1 release https://github.com/Jabba-Team/jabba/releases/tag/0.12.1

The branch https://github.com/Jabba-Team/jabba/commits/feature/support-apple-silicon is not merged yet.

patrick-mccourt commented 1 year ago

@martonsz I should've checked that! Making lots of silly mistakes this release. I can release ARM64 in the morning

patrick-mccourt commented 1 year ago

darwin/arm64 released properly this time!

martonsz commented 1 year ago

@patrick-mccourt The latest file needs to be updated.

I tried to do it myself but I don't have permission to push to this repo.

patrick-mccourt commented 1 year ago

@martonsz good spot, I have updated the file and I've also updated your permissions, you should be able push to each repo now, let me know if you can't

martonsz commented 1 year ago

Now the installer works and I can install ARM-versions of JDKs on my MacBook.