hinyinlam / cli-for-harbor-java

Harbor Command Line interface
Other
15 stars 0 forks source link

Create a binary #1

Closed Vad1mo closed 2 years ago

Vad1mo commented 3 years ago

Would it be possible to create a binary cli? On java we can do this with GraalVM native image to my knowledge, spring-boot currently has only limited support for native images. On the other hand, Micronaut has good picocli and has a spring compatible DI.

Before looking into PlanB we could give it a try with spring boot and native image like described in that intro.

https://spring.io/blog/2020/11/23/spring-native-for-graalvm-0-8-3-available-now

If that is interesting, we could support you with a native image.

ghost commented 3 years ago

Totally agree that we should have a binary for each platforms:

With each OS, we might also want x64 and ARM versions.

Of course one of the concern is how to test the binary generated, some unit test and security check for the resultant binary is needed to make sure released binary is safe in terms of usability and supply chain itself.

Super welcome to accept any contribution for creating a Github action to generate native images using GraalVM 😀

I'm actually started to learn how to build binary using GraalVM at a very early stage too.

For the choice of framework, it's another big topic and discussion:

Any idea is welcomed!

Vad1mo commented 3 years ago

For the choice of framework, it's another big topic and discussion:

Can we move to next Spring Framework version which support GraalVM better?

Not sure, Spring uses class path scanner, so by nature it's not compatible AOT compiler. Not sure about the Springs roadmap. Maybe https://github.com/spring-projects-experimental/spring-fu

Can we move to other framework that GraalVM support?

The only one I know with first class GraalVM native image support is Micronaut and https://github.com/spring-projects-experimental/spring-fu which is in development https://walkingtreetech.medium.com/spring-boot-vs-micronaut-the-battle-unleashed-2682354a88e9

Can we NOT use any framework?

I think a framework for web development is not really needed.

hinyinlam commented 2 years ago

Hi @Vad1mo A new version of binary of Harbor CLI (unofficial) has been released, please visit this repo URL: https://github.com/hinyinlam/cli-for-harbor

At the same time, I'm renaming and archiving this repo for the favor of the binary version, thank you for your involvement in contributing the idea!