Skip to content

Commit e381d2b

Browse files
committed
support many distribution.
fix version-fox/vfox#114 fix version-fox/vfox#106
1 parent 913df31 commit e381d2b

10 files changed

Lines changed: 555 additions & 133 deletions

File tree

README.md

Lines changed: 175 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,181 @@
1-
# vfox-plugin-template
1+
# vfox-java
22

3-
This is a [vfox plugin](https://vfox.lhan.me/plugins/create/howto.html) template with CI that package and publish the plugin.
3+
> Java plugin for [vfox](https://github.com/version-fox/vfox)
44
5-
## Usage
5+
Support for multiple JDK distributions, such as: Oracle, Graalvm, Eclipse & more.
66

7-
1. [Generate](https://github.com/version-fox/vfox-plugin-template/generate) a new repository based on this template.
8-
2. Configure [metadata](https://github.com/version-fox/vfox-plugin-template/blob/main/metadata.lua) information
9-
3. To develop your plugin further, please read [the plugins create section of the docs](https://vfox.lhan.me/plugins/create/howto.html).
107

8+
# Usage
119

12-
## How to publish?
10+
**Parameter Format**: x.y.z-distribution
1311

14-
1. Push a new tag to the repository which name is `vX.Y.Z` (X.Y.Z is the version number).
15-
2. The CI will automatically package, then publish [release](https://github.com/version-fox/vfox-plugin-template/releases/tag/v0.0.1) and publish [manifest](https://github.com/version-fox/vfox-plugin-template/releases/tag/manifest).
12+
```shell
13+
# add plugin for vfox
14+
vfox add java
15+
16+
# add runtime
17+
vfox install java@x.y.z # Use openjdk as default distribution.
18+
vfox install java@x.y.z-graal # Use graalvm as distribution.
19+
20+
# view all available versions
21+
vfox search java # view all for openjdk
22+
vfox search java graal # view all for graalvm
23+
```
24+
25+
# Supported JDK Distributions
26+
27+
> Thanks [SDKMAN](https://sdkman.io/jdks)!
28+
29+
## Bisheng (Huawei)
30+
BiSheng JDK, an open-source adaptation of Huawei JDK derived from OpenJDK, is utilized across 500+ Huawei products, benefitting from the R&D team's extensive experience in addressing service-related challenges. As a downstream product of OpenJDK, it serves as a high-performance distribution for production environments, specifically addressing performance and stability issues in Huawei applications. BiSheng JDK excels in optimizing ARM architecture performance and stability, delivering enhanced results in big data scenarios. Its primary goal is to offer Java developers a stable, high-performance JDK, particularly excelling on the ARM architecture.
31+
32+
```shell
33+
$ vfox install java x.y.z-bsg
34+
$ vfox search java bsg
35+
```
36+
37+
## Corretto (Amazon)
38+
Amazon Corretto is a no-cost, multiplatform, production-ready distribution of the Open Java Development Kit (OpenJDK). Corretto comes with long-term support that will include performance enhancements and security fixes. Amazon runs Corretto internally on thousands of production services and Corretto is certified as compatible with the Java SE standard. With Corretto, you can develop and run Java applications on popular operating systems, including Linux, Windows, and macOS.
39+
40+
```shell
41+
$ vfox install java x.y.z-amzn
42+
$ vfox search java amzn
43+
```
44+
45+
## Dragonwell (Alibaba)
46+
Dragonwell, as a downstream version of OpenJDK, is the in-house OpenJDK implementation at Alibaba. It is optimized for online e-commerce, financial and logistics applications running on 100,000+ servers. Alibaba Dragonwell is the engine that runs these distributed Java applications in extreme scaling.
47+
48+
```shell
49+
$ vfox install java x.y.z-albba
50+
$ vfox search java albba
51+
```
52+
53+
## GraalVM (Oracle)
54+
Oracle GraalVM is the free GraalVM distribution from Oracle, based on Oracle JDK, and includes the high-performance Graal JIT compiler. GraalVM can compile Java applications ahead of time into standalone binaries that start instantly, scale fast, and use fewer compute resources. Oracle GraalVM Native Image provides advanced features including G1 GC, SBOM, as well as performance and size optimizations. It also makes it possible to embed Python, JavaScript, Ruby, and other languages into Java applications.
55+
56+
```shell
57+
$ vfox install java x.y.z-graal
58+
$ vfox search java graal
59+
```
60+
61+
## GraalVM (GraalVM Community)
62+
GraalVM CE is the open source distribution of GraalVM, based on OpenJDK, and includes the high-performance Graal JIT compiler. GraalVM can compile Java applications ahead of time into standalone binaries that start instantly, scale fast, and use fewer compute resources. It also makes it possible to embed Python, JavaScript, Ruby, and other languages into Java applications.
63+
64+
```shell
65+
$ vfox install java x.y.z-graalce
66+
$ vfox search java graalce
67+
```
68+
69+
## Java SE Development Kit (Oracle)
70+
This proprietary Java Development Kit is an implementation of the Java Platform, Standard Edition released by Oracle Corporation in the form of a binary product aimed at Java developers on Linux, macOS or Windows. The JDK includes a private JVM and a few other resources to finish the development of a Java application. It is distributed under the Oracle No-Fee Terms and Conditions License
71+
72+
73+
```shell
74+
$ vfox install java x.y.z-oracle
75+
$ vfox search java oracle
76+
```
77+
78+
## Kona (Tencent)
79+
Tencent Kona is a free, multi-platform, and production-ready distribution of OpenJDK, featuring Long-Term Support (LTS) releases. It serves as the default JDK within Tencent for cloud computing, big data, and numerous other Java applications.
80+
81+
```shell
82+
$ vfox install java x.y.z-kona
83+
$ vfox search java kona
84+
```
85+
86+
## Liberica (Bellsoft)
87+
Liberica is a 100% open-source Java implementation. It is built from OpenJDK which BellSoft contributes to, is thoroughly tested and passed the JCK provided under the license from OpenJDK. All supported versions of Liberica also contain JavaFX.
88+
89+
90+
```shell
91+
$ vfox install java x.y.z-librce
92+
$ vfox search java librce
93+
```
94+
95+
## Liberica NIK (Bellsoft)
96+
Liberica Native Image Kit is a utility that converts your JVM-based application into a fully compiled native executable ahead-of-time under the closed-world assumption with an almost instant startup time. Being compatible with various platforms, including lightweight musl-based Alpine Linux, it optimizes resource consumption and minimizes the static footprint.
97+
98+
99+
```shell
100+
$ vfox install java x.y.z-nik
101+
$ vfox search java nik
102+
```
103+
104+
## Mandrel (Red Hat)
105+
Mandrel focuses on GraalVM's native-image component in order to provide an easy way for Quarkus users to generate native images for their applications. Developers using Quarkus should be able to go all the way from Java source code to lean, native, platform-dependent applications running on Linux. This capability is vital for deploying to containers in a cloud-native application development model.
106+
107+
108+
```shell
109+
$ vfox install java x.y.z-mandrel
110+
$ vfox search java mandrel
111+
```
112+
113+
114+
## OpenJDK (jdk.java.net)
115+
OpenJDK (Open Java Development Kit) is a free and open-source implementation of the Java Platform, Standard Edition (Java SE). It is the result of an effort Sun Microsystems began in 2006. The implementation is licensed under the GNU General Public License (GNU GPL) version 2 with a linking exception. Were it not for the GPL linking exception, components that linked to the Java class library would be subject to the terms of the GPL license. OpenJDK is the official reference implementation of Java SE since version 7.
116+
117+
```shell
118+
$ vfox install java x.y.z-open
119+
$ vfox search java open
120+
```
121+
122+
## OpenJDK (Microsoft)
123+
The Microsoft Build of OpenJDK is a no-cost distribution of OpenJDK that's open source and available for free for anyone to deploy anywhere. It includes Long-Term Support (LTS) binaries for Java 11 on x64 server and desktop environments on macOS, Linux, and Windows, and AArch64/ARM64 on Linux and Windows. Microsoft also publishes Java 16 binaries for all three major Operating Systems and both x64 and AArch64 (M1/ARM64) architectures.
124+
125+
```shell
126+
$ vfox install java x.y.z-ms
127+
$ vfox search java ms
128+
```
129+
## SapMachine (SAP)
130+
SapMachine is a downstream version of the OpenJDK project. It is used to build and maintain a SAP supported version of OpenJDK for SAP customers and partners who wish to use OpenJDK to run their applications. SAP is committed to ensuring the continued success of the Java platform.
131+
132+
133+
```shell
134+
$ vfox install java x.y.z-sapmchn
135+
$ vfox search java sapmchn
136+
```
137+
138+
## Semeru (IBM)
139+
Semeru Runtimes use the class libraries from OpenJDK, along with the Eclipse OpenJ9 Java Virtual Machine to enable developers to build and deploy Java applications that will start quickly, deliver great performance, all while using less memory.
140+
141+
```shell
142+
$ vfox install java x.y.z-sem
143+
$ vfox search java sem
144+
```
145+
146+
## Temurin (Eclipse)
147+
Formerly AdoptOpenJDK, the Eclipse Adoptium Temurin™ project provides code and processes that support the building of runtime binaries and associated technologies that are high performance, enterprise-caliber, cross-platform, open-source licensed, and Java SE TCK-tested for general use across the Java ecosystem.
148+
149+
```shell
150+
$ vfox install java x.y.z-tem
151+
$ vfox search java tem
152+
```
153+
154+
## Trava (Trava)
155+
TravaOpenJDK is OpenJDK for developers. It is based on dcevm and uses an integrated HotswapAgent, so allowing advanced hotswapping of classes by method and field addition or updates at runtime.
156+
157+
```shell
158+
$ vfox install java x.y.z-trava
159+
$ vfox search java trava
160+
```
161+
162+
## Zulu (Azul Systems)
163+
Azul Zulu Builds of OpenJDK are no-cost, production-ready open-source, TCK-tested, and certified OpenJDK distributions. They are available for a wide range of hardware platforms and operating systems and are compatible with special requirements, such as stripped-down JREs and builds, including OpenJFX and Coordinated Restore at Checkpoint (CRaC). They are supported as part of Azul Platform Core, which provides stabilized security updates for rapid, assured deployment into production and solution-oriented engineering assistance.
164+
165+
```shell
166+
$ vfox install java x.y.z-zulu
167+
$ vfox search java zulu
168+
```
169+
170+
## Jetbrains
171+
172+
```shell
173+
$ vfox install java x.y.z-jb
174+
$ vfox search java jb
175+
```
176+
177+
178+
# Thanks
179+
180+
- [SDKMAN](https://github.com/sdkman/)
181+
- [foojayio](https://github.com/foojayio/discoapi)

0 commit comments

Comments
 (0)