diff --git a/CHANGELOG.md b/CHANGELOG.md index 53fdd3deaba..ba05ec5acc4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,12 +32,6 @@ This is a bug fix release of Helidon. - Upgrade H2, HikariCP, Jedis Client, OCI Client [1270](https://github.com/oracle/helidon/pull/1270) - Upgrade shrinkwrap used by arquillian to support https [1308](https://github.com/oracle/helidon/pull/1308) -### Experimental - -The following enhancements are experimental. They should be considered unstable and subject -to change. - -- Add jlink-image support [1423](https://github.com/oracle/helidon/pull/1423) ## [1.4.1] diff --git a/applications/mp/pom.xml b/applications/mp/pom.xml index 89c08710bda..431d0dd3b79 100644 --- a/applications/mp/pom.xml +++ b/applications/mp/pom.xml @@ -73,25 +73,4 @@ - - - jlink-image - - - - io.helidon.build-tools - helidon-maven-plugin - - - jlink-image - - jlink-image - - - - - - - - diff --git a/applications/pom.xml b/applications/pom.xml index 6534713f809..953ec845aea 100644 --- a/applications/pom.xml +++ b/applications/pom.xml @@ -1,7 +1,7 @@ + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 io.helidon.applications @@ -40,7 +40,6 @@ helidon-maven-plugin - native-image native-image @@ -56,24 +55,5 @@ - - jlink-image - - - - io.helidon.build-tools - helidon-maven-plugin - - - jlink-image - - jlink-image - - - - - - - diff --git a/examples/quickstarts/helidon-quickstart-mp/Dockerfile.jlink b/examples/quickstarts/helidon-quickstart-mp/Dockerfile.jlink deleted file mode 100644 index 7b9fc22a793..00000000000 --- a/examples/quickstarts/helidon-quickstart-mp/Dockerfile.jlink +++ /dev/null @@ -1,40 +0,0 @@ -# -# Copyright (c) 2020 Oracle and/or its affiliates. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -# 1st stage, build the app -FROM maven:3.6.3-jdk-11-slim as build - -WORKDIR /helidon - -# Create a first layer to cache the "Maven World" in the local repository. -# Incremental docker builds will always resume after that, unless you update -# the pom -ADD pom.xml . -RUN mvn package -DskipTests - -# Do the Maven build to create the custom Java Runtime Image -# Incremental docker builds will resume here when you change sources -ADD src src -RUN mvn -Ddocker.build=true package -Pjlink-image -DskipTests -RUN echo "done!" - -# 2nd stage, build the final image with the JRI built in the 1st stage - -FROM debian:stretch-slim -WORKDIR /helidon -COPY --from=build /helidon/target/helidon-quickstart-mp ./ -ENTRYPOINT ["/bin/bash", "/helidon/bin/start"] -EXPOSE 8080 diff --git a/examples/quickstarts/helidon-quickstart-mp/README.md b/examples/quickstarts/helidon-quickstart-mp/README.md index 10582fdb3d5..a36f575edef 100644 --- a/examples/quickstarts/helidon-quickstart-mp/README.md +++ b/examples/quickstarts/helidon-quickstart-mp/README.md @@ -61,57 +61,8 @@ Exercise the application as described above ## Deploy the application to Kubernetes ``` -kubectl cluster-info # Verify which cluster -kubectl get pods # Verify connectivity to cluster -kubectl create -f app.yaml # Deploy application +kubectl cluster-info # Verify which cluster +kubectl get pods # Verify connectivity to cluster +kubectl create -f app.yaml # Deploy application kubectl get service helidon-quickstart-mp # Verify deployed service ``` - -## Build a Java Runtime Image using jlink - -You can build a custom Java Runtime Image (JRI) containing the application jars and the JDK modules -on which they depend. This image also: - -* Enables Class Data Sharing by default to reduce startup time. -* Contains a customized `start` script to simplify CDS usage and support debug and test modes. - -You can build a custom JRI in two different ways: -* Local -* Using Docker - - -### Local build - -``` -# build the JRI -mvn package -Pjlink-image -``` - -See https://github.com/oracle/helidon-build-tools/tree/master/helidon-maven-plugin#goal-jlink-image - for more information. - -Start the application: - -``` -./target/helidon-quickstart-se/bin/start -``` - -### Multi-stage Docker build - -Build the "jlink" Docker Image - -``` -docker build -t helidon-quickstart-se-jlink -f Dockerfile.jlink . -``` - -Start the application: - -``` -docker run --rm -p 8080:8080 helidon-quickstart-se-jlink:latest -``` - -See the start script help: - -``` -docker run --rm helidon-quickstart-se-jlink:latest --help -``` diff --git a/examples/quickstarts/helidon-quickstart-se/Dockerfile.jlink b/examples/quickstarts/helidon-quickstart-se/Dockerfile.jlink deleted file mode 100644 index e33011c8cc0..00000000000 --- a/examples/quickstarts/helidon-quickstart-se/Dockerfile.jlink +++ /dev/null @@ -1,40 +0,0 @@ -# -# Copyright (c) 2020 Oracle and/or its affiliates. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -# 1st stage, build the app -FROM maven:3.6.3-jdk-11-slim as build - -WORKDIR /helidon - -# Create a first layer to cache the "Maven World" in the local repository. -# Incremental docker builds will always resume after that, unless you update -# the pom -ADD pom.xml . -RUN mvn package -DskipTests - -# Do the Maven build to create the custom Java Runtime Image -# Incremental docker builds will resume here when you change sources -ADD src src -RUN mvn -Ddocker.build=true package -Pjlink-image -DskipTests -RUN echo "done!" - -# 2nd stage, build the final image with the JRI built in the 1st stage - -FROM debian:stretch-slim -WORKDIR /helidon -COPY --from=build /helidon/target/helidon-quickstart-se ./ -ENTRYPOINT ["/bin/bash", "/helidon/bin/start"] -EXPOSE 8080 diff --git a/examples/quickstarts/helidon-quickstart-se/README.md b/examples/quickstarts/helidon-quickstart-se/README.md index e121939adc7..5d8595e6f91 100644 --- a/examples/quickstarts/helidon-quickstart-se/README.md +++ b/examples/quickstarts/helidon-quickstart-se/README.md @@ -67,7 +67,7 @@ kubectl create -f app.yaml # Deply application kubectl get service helidon-quickstart-se # Get service info ``` -## Build a native image with GraalVM +## Native image with GraalVM GraalVM allows you to compile your programs ahead-of-time into a native executable. See https://www.graalvm.org/docs/reference-manual/aot-compilation/ @@ -114,52 +114,3 @@ Start the application: ``` docker run --rm -p 8080:8080 helidon-quickstart-se-native:latest ``` - -## Build a Java Runtime Image using jlink - -You can build a custom Java Runtime Image (JRI) containing the application jars and the JDK modules -on which they depend. This image also: - -* Enables Class Data Sharing by default to reduce startup time. -* Contains a customized `start` script to simplify CDS usage and support debug and test modes. - -You can build a custom JRI in two different ways: -* Local -* Using Docker - - -### Local build - -``` -# build the JRI -mvn package -Pjlink-image -``` - -See https://github.com/oracle/helidon-build-tools/tree/master/helidon-maven-plugin#goal-jlink-image - for more information. - -Start the application: - -``` -./target/helidon-quickstart-se/bin/start -``` - -### Multi-stage Docker build - -Build the "jlink" Docker Image - -``` -docker build -t helidon-quickstart-se-jlink -f Dockerfile.jlink . -``` - -Start the application: - -``` -docker run --rm -p 8080:8080 helidon-quickstart-se-jlink:latest -``` - -See the start script help: - -``` -docker run --rm helidon-quickstart-se-jlink:latest --help -``` diff --git a/examples/quickstarts/helidon-standalone-quickstart-mp/Dockerfile.jlink b/examples/quickstarts/helidon-standalone-quickstart-mp/Dockerfile.jlink deleted file mode 100644 index 7b9fc22a793..00000000000 --- a/examples/quickstarts/helidon-standalone-quickstart-mp/Dockerfile.jlink +++ /dev/null @@ -1,40 +0,0 @@ -# -# Copyright (c) 2020 Oracle and/or its affiliates. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -# 1st stage, build the app -FROM maven:3.6.3-jdk-11-slim as build - -WORKDIR /helidon - -# Create a first layer to cache the "Maven World" in the local repository. -# Incremental docker builds will always resume after that, unless you update -# the pom -ADD pom.xml . -RUN mvn package -DskipTests - -# Do the Maven build to create the custom Java Runtime Image -# Incremental docker builds will resume here when you change sources -ADD src src -RUN mvn -Ddocker.build=true package -Pjlink-image -DskipTests -RUN echo "done!" - -# 2nd stage, build the final image with the JRI built in the 1st stage - -FROM debian:stretch-slim -WORKDIR /helidon -COPY --from=build /helidon/target/helidon-quickstart-mp ./ -ENTRYPOINT ["/bin/bash", "/helidon/bin/start"] -EXPOSE 8080 diff --git a/examples/quickstarts/helidon-standalone-quickstart-mp/README.md b/examples/quickstarts/helidon-standalone-quickstart-mp/README.md index 249a9ec0b81..3026f45a897 100644 --- a/examples/quickstarts/helidon-standalone-quickstart-mp/README.md +++ b/examples/quickstarts/helidon-standalone-quickstart-mp/README.md @@ -67,51 +67,3 @@ kubectl get pods # Verify connectivity to cluster kubectl create -f app.yaml # Deploy application kubectl get service helidon-standalone-quickstart-mp # Verify deployed service ``` -## Build a Java Runtime Image using jlink - -You can build a custom Java Runtime Image (JRI) containing the application jars and the JDK modules -on which they depend. This image also: - -* Enables Class Data Sharing by default to reduce startup time. -* Contains a customized `start` script to simplify CDS usage and support debug and test modes. - -You can build a custom JRI in two different ways: -* Local -* Using Docker - - -### Local build - -``` -# build the JRI -mvn package -Pjlink-image -``` - -See https://github.com/oracle/helidon-build-tools/tree/master/helidon-maven-plugin#goal-jlink-image - for more information. - -Start the application: - -``` -./target/helidon-quickstart-se/bin/start -``` - -### Multi-stage Docker build - -Build the "jlink" Docker Image - -``` -docker build -t helidon-quickstart-se-jlink -f Dockerfile.jlink . -``` - -Start the application: - -``` -docker run --rm -p 8080:8080 helidon-quickstart-se-jlink:latest -``` - -See the start script help: - -``` -docker run --rm helidon-quickstart-se-jlink:latest --help -``` diff --git a/examples/quickstarts/helidon-standalone-quickstart-mp/pom.xml b/examples/quickstarts/helidon-standalone-quickstart-mp/pom.xml index 1b2adf6007f..7b9d58a1107 100644 --- a/examples/quickstarts/helidon-standalone-quickstart-mp/pom.xml +++ b/examples/quickstarts/helidon-standalone-quickstart-mp/pom.xml @@ -43,7 +43,6 @@ 2.7.1.1 1.6.0 2.19.1 - 1.1.1 1.0.6 3.0.2 1.5.0.Final @@ -180,11 +179,6 @@ ${mainClass} - - io.helidon.build-tools - helidon-maven-plugin - ${version.plugin.helidon} - @@ -225,25 +219,4 @@ - - - - jlink-image - - - - io.helidon.build-tools - helidon-maven-plugin - - - - jlink-image - - - - - - - - diff --git a/examples/quickstarts/helidon-standalone-quickstart-se/Dockerfile.jlink b/examples/quickstarts/helidon-standalone-quickstart-se/Dockerfile.jlink deleted file mode 100644 index e33011c8cc0..00000000000 --- a/examples/quickstarts/helidon-standalone-quickstart-se/Dockerfile.jlink +++ /dev/null @@ -1,40 +0,0 @@ -# -# Copyright (c) 2020 Oracle and/or its affiliates. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -# 1st stage, build the app -FROM maven:3.6.3-jdk-11-slim as build - -WORKDIR /helidon - -# Create a first layer to cache the "Maven World" in the local repository. -# Incremental docker builds will always resume after that, unless you update -# the pom -ADD pom.xml . -RUN mvn package -DskipTests - -# Do the Maven build to create the custom Java Runtime Image -# Incremental docker builds will resume here when you change sources -ADD src src -RUN mvn -Ddocker.build=true package -Pjlink-image -DskipTests -RUN echo "done!" - -# 2nd stage, build the final image with the JRI built in the 1st stage - -FROM debian:stretch-slim -WORKDIR /helidon -COPY --from=build /helidon/target/helidon-quickstart-se ./ -ENTRYPOINT ["/bin/bash", "/helidon/bin/start"] -EXPOSE 8080 diff --git a/examples/quickstarts/helidon-standalone-quickstart-se/README.md b/examples/quickstarts/helidon-standalone-quickstart-se/README.md index d9d48a4508f..617820ed6d8 100644 --- a/examples/quickstarts/helidon-standalone-quickstart-se/README.md +++ b/examples/quickstarts/helidon-standalone-quickstart-se/README.md @@ -68,7 +68,7 @@ kubectl create -f app.yaml # Deply application kubectl get service helidon-standalone-quickstart-se # Get service info ``` -## Build a native image with GraalVM +## Native image with GraalVM GraalVM allows you to compile your programs ahead-of-time into a native executable. See https://www.graalvm.org/docs/reference-manual/aot-compilation/ @@ -115,51 +115,3 @@ Start the application: ``` docker run --rm -p 8080:8080 helidon-standalone-quickstart-se-native:latest ``` - -## Build a Java Runtime Image using jlink - -You can build a custom Java Runtime Image (JRI) containing the application jars and the JDK modules -on which they depend. This image also: - -* Enables Class Data Sharing by default to reduce startup time. -* Contains a customized `start` script to simplify CDS usage and support debug and test modes. - -You can build a custom JRI in two different ways: -* Local -* Using Docker - -### Local build - -``` -# build the JRI -mvn package -Pjlink-image -``` - -See https://github.com/oracle/helidon-build-tools/tree/master/helidon-maven-plugin#goal-jlink-image - for more information. - -Start the application: - -``` -./target/helidon-quickstart-se/bin/start -``` - -### Multi-stage Docker build - -Build the "jlink" Docker Image - -``` -docker build -t helidon-quickstart-se-jlink -f Dockerfile.jlink . -``` - -Start the application: - -``` -docker run --rm -p 8080:8080 helidon-quickstart-se-jlink:latest -``` - -See the start script help: - -``` -docker run --rm helidon-quickstart-se-jlink:latest --help -``` diff --git a/examples/quickstarts/helidon-standalone-quickstart-se/pom.xml b/examples/quickstarts/helidon-standalone-quickstart-se/pom.xml index dd0327832d9..3227b89a45f 100644 --- a/examples/quickstarts/helidon-standalone-quickstart-se/pom.xml +++ b/examples/quickstarts/helidon-standalone-quickstart-se/pom.xml @@ -42,7 +42,7 @@ 3.0.0 1.6.0 2.19.1 - 1.1.1 + 1.0.10 3.0.2 1.5.0.Final 0.5.1 @@ -232,23 +232,5 @@ - - jlink-image - - - - io.helidon.build-tools - helidon-maven-plugin - - - - jlink-image - - - - - - -