diff --git a/applications/pom.xml b/applications/pom.xml index c9e0db86790..ac74b3c0d80 100644 --- a/applications/pom.xml +++ b/applications/pom.xml @@ -40,7 +40,7 @@ UTF-8 UTF-8 - 11 + 17 ${maven.compiler.source} ${maven.compiler.source} 3.8.1 diff --git a/archetypes/quickstart-mp/src/main/resources/Dockerfile.jlink.mustache b/archetypes/quickstart-mp/src/main/resources/Dockerfile.jlink.mustache index 48dbd37f257..aa2b9c82d40 100644 --- a/archetypes/quickstart-mp/src/main/resources/Dockerfile.jlink.mustache +++ b/archetypes/quickstart-mp/src/main/resources/Dockerfile.jlink.mustache @@ -1,6 +1,6 @@ # 1st stage, build the app -FROM maven:3.6.3-jdk-11-slim as build +FROM maven:3.6.3-openjdk-17-slim as build WORKDIR /helidon diff --git a/archetypes/quickstart-mp/src/main/resources/Dockerfile.mustache b/archetypes/quickstart-mp/src/main/resources/Dockerfile.mustache index 05268e627fd..21adfa453fe 100644 --- a/archetypes/quickstart-mp/src/main/resources/Dockerfile.mustache +++ b/archetypes/quickstart-mp/src/main/resources/Dockerfile.mustache @@ -1,6 +1,6 @@ # 1st stage, build the app -FROM maven:3.6-jdk-11 as build +FROM maven:3.6.3-openjdk-17-slim as build WORKDIR /helidon @@ -17,7 +17,7 @@ RUN mvn package -DskipTests RUN echo "done!" # 2nd stage, build the runtime image -FROM openjdk:11-jre-slim +FROM openjdk:17-jdk-slim WORKDIR /helidon # Copy the binary built in the 1st stage diff --git a/archetypes/quickstart-mp/src/main/resources/Dockerfile.native.mustache b/archetypes/quickstart-mp/src/main/resources/Dockerfile.native.mustache index bf3ca1f04a7..0d6769bec20 100644 --- a/archetypes/quickstart-mp/src/main/resources/Dockerfile.native.mustache +++ b/archetypes/quickstart-mp/src/main/resources/Dockerfile.native.mustache @@ -1,6 +1,6 @@ # 1st stage, build the app -FROM helidon/jdk11-graalvm-maven:21.3.0 as build +FROM helidon/jdk17-graalvm-maven:21.3.0 as build WORKDIR /helidon diff --git a/archetypes/quickstart-se/src/main/resources/Dockerfile.jlink.mustache b/archetypes/quickstart-se/src/main/resources/Dockerfile.jlink.mustache index 48dbd37f257..aa2b9c82d40 100644 --- a/archetypes/quickstart-se/src/main/resources/Dockerfile.jlink.mustache +++ b/archetypes/quickstart-se/src/main/resources/Dockerfile.jlink.mustache @@ -1,6 +1,6 @@ # 1st stage, build the app -FROM maven:3.6.3-jdk-11-slim as build +FROM maven:3.6.3-openjdk-17-slim as build WORKDIR /helidon diff --git a/archetypes/quickstart-se/src/main/resources/Dockerfile.mustache b/archetypes/quickstart-se/src/main/resources/Dockerfile.mustache index 43078fdda13..d99095d563f 100644 --- a/archetypes/quickstart-se/src/main/resources/Dockerfile.mustache +++ b/archetypes/quickstart-se/src/main/resources/Dockerfile.mustache @@ -1,6 +1,6 @@ # 1st stage, build the app -FROM maven:3.6-jdk-11 as build +FROM maven:3.6.3-openjdk-17-slim as build WORKDIR /helidon @@ -18,7 +18,7 @@ RUN mvn package -DskipTests RUN echo "done!" # 2nd stage, build the runtime image -FROM openjdk:11-jre-slim +FROM openjdk:17-jdk-slim WORKDIR /helidon # Copy the binary built in the 1st stage diff --git a/archetypes/quickstart-se/src/main/resources/Dockerfile.native.mustache b/archetypes/quickstart-se/src/main/resources/Dockerfile.native.mustache index bf3ca1f04a7..0d6769bec20 100644 --- a/archetypes/quickstart-se/src/main/resources/Dockerfile.native.mustache +++ b/archetypes/quickstart-se/src/main/resources/Dockerfile.native.mustache @@ -1,6 +1,6 @@ # 1st stage, build the app -FROM helidon/jdk11-graalvm-maven:21.3.0 as build +FROM helidon/jdk17-graalvm-maven:21.3.0 as build WORKDIR /helidon diff --git a/common/http/src/main/java/io/helidon/common/http/Content.java b/common/http/src/main/java/io/helidon/common/http/Content.java index f4181997994..95dcfb7f85b 100644 --- a/common/http/src/main/java/io/helidon/common/http/Content.java +++ b/common/http/src/main/java/io/helidon/common/http/Content.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018, 2020 Oracle and/or its affiliates. + * Copyright (c) 2018, 2021 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. @@ -28,7 +28,7 @@ /** * Represents an HTTP entity as a {@link Multi multi} of {@link DataChunk chunks} with specific * features. - *

Default publisher contract

+ *

Default publisher contract

* Default publisher accepts only single subscriber. Other subscribers receives * {@link Flow.Subscriber#onError(Throwable) onError()}. *

@@ -36,11 +36,11 @@ * method call. Buffer can be reused by network infrastructure as soon as {@code onNext()} method returns. * This behavior can be inconvenient yet it helps to provide excellent performance. * - *

Publisher Overwrite.

+ *

Publisher Overwrite.

* It is possible to modify contract of the original publisher by registration of a new publisher using * {@link #registerFilter(Function)} method. It can be used to wrap or replace previously registered (or default) publisher. * - *

Entity Readers

+ *

Entity Readers

* It is possible to register function to convert publisher to {@link io.helidon.common.reactive.Single} of a single entity using * {@link #registerReader(Class, Reader)} or {@link #registerReader(Predicate, Reader)} methods. It * is then possible to use {@link #as(Class)} method to obtain such entity. diff --git a/common/http/src/main/java/io/helidon/common/http/MediaType.java b/common/http/src/main/java/io/helidon/common/http/MediaType.java index bf1398f68df..ef31e2d1903 100644 --- a/common/http/src/main/java/io/helidon/common/http/MediaType.java +++ b/common/http/src/main/java/io/helidon/common/http/MediaType.java @@ -569,7 +569,6 @@ public String toString() { /** * Tests if this media type has provided Structured Syntax {@code suffix} (RFC 6839). - *

* * @param suffix Suffix with or without '+' prefix. If null or empty then returns {@code true} if this media type * has ANY suffix. diff --git a/config/config/src/main/java/io/helidon/config/Config.java b/config/config/src/main/java/io/helidon/config/Config.java index de4e3e964cc..76f7ca51a27 100644 --- a/config/config/src/main/java/io/helidon/config/Config.java +++ b/config/config/src/main/java/io/helidon/config/Config.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, 2020 Oracle and/or its affiliates. + * Copyright (c) 2017, 2021 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. @@ -38,9 +38,9 @@ import io.helidon.config.spi.OverrideSource; /** - *

Configuration

+ *

Configuration

* Immutable tree-structured configuration. - *

Loading Configuration

+ *

Loading Configuration

* Load the default configuration using the {@link Config#create} method. *
{@code
  * Config config = Config.create();
@@ -95,7 +95,7 @@
  * 
  * 
  *
- * 

Navigating in a Configuration Tree

+ *

Navigating in a Configuration Tree

* Each loaded configuration is a tree of {@code Config} objects. The * application can access an arbitrary node in the tree by passing its * fully-qualified name to {@link Config#get}: @@ -146,8 +146,8 @@ *

* To get node value, use {@link #as(Class)} to access this config node as a {@link ConfigValue} * - *

Converting Configuration Values to Types

- *

Explicit Conversion by the Application

+ *

Converting Configuration Values to Types

+ *

Explicit Conversion by the Application

* The interpretation of a configuration node, including what datatype to use, * is up to the application. To interpret a node's value as a type other than * {@code String} the application can invoke one of these convenience methods: @@ -231,8 +231,8 @@ * that can handle classes that fulfill some requirements (see documentation), such as a public constructor, * static "create(Config)" method etc. * - *

Handling Multiple Configuration - * Sources

+ *

Handling Multiple Configuration + * Sources

* A {@code Config} instance, including the default {@code Config} returned by * {@link Config#create}, might be associated with multiple {@link ConfigSource}s. The * config system merges these together so that values from config sources with higher priority have diff --git a/config/config/src/main/java/io/helidon/config/ValueResolvingFilter.java b/config/config/src/main/java/io/helidon/config/ValueResolvingFilter.java index 57ba026484f..30d3ba73977 100644 --- a/config/config/src/main/java/io/helidon/config/ValueResolvingFilter.java +++ b/config/config/src/main/java/io/helidon/config/ValueResolvingFilter.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 Oracle and/or its affiliates. + * Copyright (c) 2020, 2021 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. @@ -37,7 +37,7 @@ * will be resolved as: *
  * {@code message = "Hello Joachim!"}
- *

How to Activate This Filter

+ *

How to Activate This Filter

* Use any of the following techniques to create a {@code ValueResolvingFilter} and * use it for config look-ups. *
    @@ -62,7 +62,7 @@ * every {@code Config.Builder} automatically. * *
- *

Handling Missing References

+ *

Handling Missing References

* By default, references to tokens that are not present do not cause * retrievals to fail. You can customize this behavior in several ways. *
    diff --git a/config/config/src/main/java/io/helidon/config/spi/PollingStrategy.java b/config/config/src/main/java/io/helidon/config/spi/PollingStrategy.java index f0f945828d2..af05b0c8887 100644 --- a/config/config/src/main/java/io/helidon/config/spi/PollingStrategy.java +++ b/config/config/src/main/java/io/helidon/config/spi/PollingStrategy.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, 2020 Oracle and/or its affiliates. + * Copyright (c) 2017, 2021 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. @@ -69,7 +69,6 @@ * seconds * * - *

    * *

  1. {@code class} - fully-qualified class name of a custom polling strategy * implementation or a builder class that implements a {@code build()} method @@ -79,7 +78,7 @@ * For a given config source use either {@code type} or {@code class} to * indicate a polling strategy but not both. If both appear the config system * ignores the {@code class} setting. - *

    Meta-configuration Support for Custom Polling Strategies

    + *

    Meta-configuration Support for Custom Polling Strategies

    * To support settings in meta-configuration, a custom polling strategy must * be capable of processing the meta configuration provided to * {@link io.helidon.config.spi.PollingStrategyProvider#create(String, io.helidon.config.Config)} diff --git a/docs/shared/common_prereqs/common_prereqs.adoc b/docs/shared/common_prereqs/common_prereqs.adoc index 78638bd9d5d..6a5b1dd57ae 100644 --- a/docs/shared/common_prereqs/common_prereqs.adoc +++ b/docs/shared/common_prereqs/common_prereqs.adoc @@ -30,7 +30,7 @@ // tag::common-prereqs-table-contents[] |A Helidon MP Application | You can use your own application or use the https://helidon.io/docs/v2/#/mp/guides/02_quickstart[Helidon MP Quickstart] to create a sample application. -|https://www.oracle.com/technetwork/java/javase/downloads[Java{nbsp}SE{nbsp}11] (http://jdk.java.net[Open{nbsp}JDK{nbsp}11]) |Helidon requires Java 11+. +|https://www.oracle.com/technetwork/java/javase/downloads[Java{nbsp}SE{nbsp}17] (http://jdk.java.net[Open{nbsp}JDK{nbsp}17]) |Helidon requires Java 17+. |https://maven.apache.org/download.cgi[Maven 3.6.1+]|Helidon requires Maven 3.6.1+. |https://docs.docker.com/install/[Docker 18.09+]|You need Docker if you want to build and deploy Docker containers. diff --git a/etc/dockerfiles/Dockerfile.jdk11-graalvm b/etc/dockerfiles/Dockerfile.jdk17-graalvm similarity index 97% rename from etc/dockerfiles/Dockerfile.jdk11-graalvm rename to etc/dockerfiles/Dockerfile.jdk17-graalvm index e011e06bfd6..4137349ba92 100644 --- a/etc/dockerfiles/Dockerfile.jdk11-graalvm +++ b/etc/dockerfiles/Dockerfile.jdk17-graalvm @@ -23,7 +23,7 @@ RUN set -x \ && apt-get -y install curl RUN curl -O -L \ - https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-21.3.0/graalvm-ce-java11-linux-amd64-21.3.0.tar.gz && \ + https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-21.3.0/graalvm-ce-java17-linux-amd64-21.3.0.tar.gz && \ tar -xvzf graalvm-*.tar.gz && \ rm graalvm-*.tar.gz && \ mv graalvm-* graalvm && \ diff --git a/etc/dockerfiles/Dockerfile.jdk11-graalvm-maven b/etc/dockerfiles/Dockerfile.jdk17-graalvm-maven similarity index 96% rename from etc/dockerfiles/Dockerfile.jdk11-graalvm-maven rename to etc/dockerfiles/Dockerfile.jdk17-graalvm-maven index 86bc95f7bc1..7b1a33deed4 100644 --- a/etc/dockerfiles/Dockerfile.jdk11-graalvm-maven +++ b/etc/dockerfiles/Dockerfile.jdk17-graalvm-maven @@ -30,7 +30,7 @@ RUN set -x && \ RUN echo "done!" -FROM helidon/jdk11-graalvm:21.3.0 +FROM helidon/jdk17-graalvm:21.3.0 COPY --from=build /build/maven /usr/share/maven RUN ln -s /usr/share/maven/bin/mvn /bin/ diff --git a/etc/dockerfiles/build.sh b/etc/dockerfiles/build.sh index 301d58fc867..fd8fd4621e2 100755 --- a/etc/dockerfiles/build.sh +++ b/etc/dockerfiles/build.sh @@ -60,10 +60,10 @@ readonly MY_DIR=$(cd $(dirname -- "${SCRIPT_PATH}") ; pwd -P) readonly GRAALVM_VERSION=21.3.0 -docker build -f ${MY_DIR}/Dockerfile.jdk11-graalvm -t helidon/jdk11-graalvm:${GRAALVM_VERSION} ${MY_DIR} -docker build -f ${MY_DIR}/Dockerfile.jdk11-graalvm-maven -t helidon/jdk11-graalvm-maven:${GRAALVM_VERSION} ${MY_DIR} +docker build -f ${MY_DIR}/Dockerfile.jdk17-graalvm -t helidon/jdk17-graalvm:${GRAALVM_VERSION} ${MY_DIR} +docker build -f ${MY_DIR}/Dockerfile.jdk17-graalvm-maven -t helidon/jdk17-graalvm-maven:${GRAALVM_VERSION} ${MY_DIR} if [ "${PUSH}" = "true" ] ; then - docker push helidon/jdk11-graalvm:${GRAALVM_VERSION} - docker push helidon/jdk11-graalvm-maven:${GRAALVM_VERSION} + docker push helidon/jdk17-graalvm:${GRAALVM_VERSION} + docker push helidon/jdk17-graalvm-maven:${GRAALVM_VERSION} fi diff --git a/etc/scripts/includes/pipeline-env.sh b/etc/scripts/includes/pipeline-env.sh index f517f42de51..bec4c32820e 100644 --- a/etc/scripts/includes/pipeline-env.sh +++ b/etc/scripts/includes/pipeline-env.sh @@ -47,7 +47,7 @@ if [ -z "${__PIPELINE_ENV_INCLUDED__}" ]; then . ${WS_DIR}/etc/scripts/includes/error_handlers.sh if [ -z "${GRAALVM_HOME}" ]; then - export GRAALVM_HOME="/tools/graalvm-ce-java11-21.3.0" + export GRAALVM_HOME="/tools/graalvm-ce-java17-21.3.0" fi require_env() { @@ -67,10 +67,14 @@ if [ -z "${__PIPELINE_ENV_INCLUDED__}" ]; then if [ -n "${JENKINS_HOME}" ] ; then export PIPELINE="true" - export JAVA_HOME="/tools/jdk-11.0.12" + export JAVA_HOME="/tools/jdk-17" MAVEN_OPTS="${MAVEN_OPTS} -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn" MAVEN_OPTS="${MAVEN_OPTS} -Dorg.slf4j.simpleLogger.showDateTime=true" MAVEN_OPTS="${MAVEN_OPTS} -Dorg.slf4j.simpleLogger.dateTimeFormat=HH:mm:ss,SSS" + # Needed for archetype engine plugin + MAVEN_OPTS="${MAVEN_OPTS} --add-opens=java.base/java.util=ALL-UNNAMED" + # Needed for generating site + MAVEN_OPTS="${MAVEN_OPTS} --add-opens=java.desktop/com.sun.imageio.plugins.png=ALL-UNNAMED" export MAVEN_OPTS export PATH="/tools/apache-maven-3.6.3/bin:${JAVA_HOME}/bin:/tools/node-v12/bin:${PATH}" if [ -n "${GITHUB_SSH_KEY}" ] ; then diff --git a/examples/employee-app/Dockerfile b/examples/employee-app/Dockerfile index bc795986db9..29b4c387002 100644 --- a/examples/employee-app/Dockerfile +++ b/examples/employee-app/Dockerfile @@ -1,5 +1,5 @@ # -# Copyright (c) 2019, 2020 Oracle and/or its affiliates. +# Copyright (c) 2019, 2021 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. @@ -15,7 +15,7 @@ # # 1st stage, build the app -FROM maven:3.6-jdk-11 as build +FROM maven:3.6.3-openjdk-17-slim as build WORKDIR /helidon @@ -33,7 +33,7 @@ RUN mvn package -DskipTests RUN echo "done!" # 2nd stage, build the runtime image -FROM openjdk:11-jre-slim +FROM openjdk:17-jdk-slim WORKDIR /helidon # Copy the binary built in the 1st stage diff --git a/examples/grpc/opentracing/Dockerfile b/examples/grpc/opentracing/Dockerfile index 79403df4e2d..137c7cd4b7c 100644 --- a/examples/grpc/opentracing/Dockerfile +++ b/examples/grpc/opentracing/Dockerfile @@ -1,5 +1,5 @@ # -# Copyright (c) 2018, 2020 Oracle and/or its affiliates. +# Copyright (c) 2018, 2021 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. @@ -15,7 +15,7 @@ # # 1st stage, build the app -FROM maven:3.6-jdk-11 as build +FROM maven:3.6.3-openjdk-17-slim as build WORKDIR /helidon @@ -38,7 +38,7 @@ RUN mvn -f opentracing/pom.xml package -DskipTests RUN echo "done!" # 2nd stage, build the runtime image -FROM openjdk:11-jre-slim +FROM openjdk:17-jdk-slim WORKDIR /helidon # Copy the binary built in the 1st stage diff --git a/examples/integrations/cdi/datasource-hikaricp/Dockerfile b/examples/integrations/cdi/datasource-hikaricp/Dockerfile index 77cc5ea699b..13dcb075d73 100644 --- a/examples/integrations/cdi/datasource-hikaricp/Dockerfile +++ b/examples/integrations/cdi/datasource-hikaricp/Dockerfile @@ -15,7 +15,7 @@ # # 1st stage, build the app -FROM maven:3.6-jdk-11 as build +FROM maven:3.6.3-openjdk-17-slim as build WORKDIR /helidon @@ -32,7 +32,7 @@ RUN mvn package -DskipTests RUN echo "done!" # 2nd stage, build the runtime image -FROM openjdk:11-jre-slim +FROM openjdk:17-jdk-slim WORKDIR /helidon # Copy the binary built in the 1st stage diff --git a/examples/integrations/cdi/jedis/Dockerfile b/examples/integrations/cdi/jedis/Dockerfile index d7e74c80ddd..64a2a051409 100644 --- a/examples/integrations/cdi/jedis/Dockerfile +++ b/examples/integrations/cdi/jedis/Dockerfile @@ -1,5 +1,5 @@ # -# Copyright (c) 2018, 2020 Oracle and/or its affiliates. +# Copyright (c) 2018, 2021 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. @@ -15,7 +15,7 @@ # # 1st stage, build the app -FROM maven:3.6-jdk-11 as build +FROM maven:3.6.3-openjdk-17-slim as build WORKDIR /helidon @@ -32,7 +32,7 @@ RUN mvn package -DskipTests RUN echo "done!" # 2nd stage, build the runtime image -FROM openjdk:11-jre-slim +FROM openjdk:17-jdk-slim WORKDIR /helidon # Copy the binary built in the 1st stage diff --git a/examples/integrations/cdi/oci-objectstorage/Dockerfile b/examples/integrations/cdi/oci-objectstorage/Dockerfile index f451b45e69b..6bd7298f409 100644 --- a/examples/integrations/cdi/oci-objectstorage/Dockerfile +++ b/examples/integrations/cdi/oci-objectstorage/Dockerfile @@ -1,5 +1,5 @@ # -# Copyright (c) 2018, 2020 Oracle and/or its affiliates. +# Copyright (c) 2018, 2021 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. @@ -15,7 +15,7 @@ # # 1st stage, build the app -FROM maven:3.6-jdk-11 as build +FROM maven:3.6.3-openjdk-17-slim as build WORKDIR /helidon @@ -32,7 +32,7 @@ RUN mvn package -DskipTests RUN echo "done!" # 2nd stage, build the runtime image -FROM openjdk:11-jre-slim +FROM openjdk:17-jdk-slim WORKDIR /helidon # Copy the binary built in the 1st stage diff --git a/examples/integrations/neo4j/neo4j-mp/Dockerfile b/examples/integrations/neo4j/neo4j-mp/Dockerfile index e514bb51446..8eeb50924e4 100644 --- a/examples/integrations/neo4j/neo4j-mp/Dockerfile +++ b/examples/integrations/neo4j/neo4j-mp/Dockerfile @@ -15,7 +15,7 @@ # # 1st stage, build the app -FROM maven:3.6-jdk-11 as build +FROM maven:3.6.3-openjdk-17-slim as build WORKDIR /helidon @@ -32,7 +32,7 @@ RUN mvn package -DskipTests RUN echo "done!" # 2nd stage, build the runtime image -FROM openjdk:11-jre-slim +FROM openjdk:17-jdk-slim WORKDIR /helidon # Copy the binary built in the 1st stage diff --git a/examples/integrations/neo4j/neo4j-mp/Dockerfile.jlink b/examples/integrations/neo4j/neo4j-mp/Dockerfile.jlink index 3ee0307a2a5..946eb4073f6 100644 --- a/examples/integrations/neo4j/neo4j-mp/Dockerfile.jlink +++ b/examples/integrations/neo4j/neo4j-mp/Dockerfile.jlink @@ -15,7 +15,7 @@ # # 1st stage, build the app -FROM maven:3.6.3-jdk-11-slim as build +FROM maven:3.6.3-openjdk-17-slim as build WORKDIR /helidon diff --git a/examples/integrations/neo4j/neo4j-mp/Dockerfile.native b/examples/integrations/neo4j/neo4j-mp/Dockerfile.native index e5d9ad92c37..5f209ccb0e3 100644 --- a/examples/integrations/neo4j/neo4j-mp/Dockerfile.native +++ b/examples/integrations/neo4j/neo4j-mp/Dockerfile.native @@ -15,7 +15,7 @@ # # 1st stage, build the app -FROM helidon/jdk11-graalvm-maven:20.2.0 as build +FROM helidon/jdk17-graalvm-maven:21.3.0 as build WORKDIR /helidon diff --git a/examples/integrations/neo4j/neo4j-se/Dockerfile b/examples/integrations/neo4j/neo4j-se/Dockerfile index ba11b50163d..bfe5c682281 100644 --- a/examples/integrations/neo4j/neo4j-se/Dockerfile +++ b/examples/integrations/neo4j/neo4j-se/Dockerfile @@ -15,7 +15,7 @@ # # 1st stage, build the app -FROM maven:3.6-jdk-11 as build +FROM maven:3.6.3-openjdk-17-slim as build WORKDIR /helidon @@ -33,7 +33,7 @@ RUN mvn package -DskipTests RUN echo "done!" # 2nd stage, build the runtime image -FROM openjdk:11-jre-slim +FROM openjdk:17-jdk-slim WORKDIR /helidon # Copy the binary built in the 1st stage diff --git a/examples/integrations/neo4j/neo4j-se/Dockerfile.jlink b/examples/integrations/neo4j/neo4j-se/Dockerfile.jlink index b514fa72c1e..cad390da664 100644 --- a/examples/integrations/neo4j/neo4j-se/Dockerfile.jlink +++ b/examples/integrations/neo4j/neo4j-se/Dockerfile.jlink @@ -15,7 +15,7 @@ # # 1st stage, build the app -FROM maven:3.6.3-jdk-11-slim as build +FROM maven:3.6.3-openjdk-17-slim as build WORKDIR /helidon diff --git a/examples/integrations/neo4j/neo4j-se/Dockerfile.native b/examples/integrations/neo4j/neo4j-se/Dockerfile.native index c745d8736d5..2d43fe680c1 100644 --- a/examples/integrations/neo4j/neo4j-se/Dockerfile.native +++ b/examples/integrations/neo4j/neo4j-se/Dockerfile.native @@ -15,7 +15,7 @@ # # 1st stage, build the app -FROM helidon/jdk11-graalvm-maven:20.2.0 as build +FROM helidon/jdk17-graalvm-maven:21.3.0 as build WORKDIR /helidon diff --git a/examples/messaging/README.md b/examples/messaging/README.md index c73aecd58fe..86cbfcf362f 100644 --- a/examples/messaging/README.md +++ b/examples/messaging/README.md @@ -2,7 +2,7 @@ ## Prerequisites * Docker -* Java 11+ +* Java 17+ ### Test Kafka server To make examples easily runnable, diff --git a/examples/messaging/docker/kafka/Dockerfile.kafka b/examples/messaging/docker/kafka/Dockerfile.kafka index 1e06c6378ad..f78d62addc0 100644 --- a/examples/messaging/docker/kafka/Dockerfile.kafka +++ b/examples/messaging/docker/kafka/Dockerfile.kafka @@ -14,7 +14,7 @@ # limitations under the License. # -FROM openjdk:11-jre-slim-buster +FROM openjdk:17-jdk-slim-buster ENV VERSION=2.7.0 ENV SCALA_VERSION=2.13 diff --git a/examples/messaging/jms-websocket-mp/README.md b/examples/messaging/jms-websocket-mp/README.md index f320c2dacfb..0cd4c974d0a 100644 --- a/examples/messaging/jms-websocket-mp/README.md +++ b/examples/messaging/jms-websocket-mp/README.md @@ -1,7 +1,7 @@ # Helidon Messaging with JMS Example ## Prerequisites -* Java 11+ +* Java 17+ * Docker * [ActiveMQ server](../README.md) running on `localhost:61616` diff --git a/examples/messaging/jms-websocket-se/README.md b/examples/messaging/jms-websocket-se/README.md index 3e1b13dd120..7bc0880a588 100644 --- a/examples/messaging/jms-websocket-se/README.md +++ b/examples/messaging/jms-websocket-se/README.md @@ -1,7 +1,7 @@ # Helidon Messaging with JMS Example ## Prerequisites -* Java 11+ +* Java 17+ * Docker * [ActiveMQ server](../README.md) running on `localhost:61616` diff --git a/examples/messaging/kafka-websocket-mp/README.md b/examples/messaging/kafka-websocket-mp/README.md index 5f3374419b2..ad84deda0be 100644 --- a/examples/messaging/kafka-websocket-mp/README.md +++ b/examples/messaging/kafka-websocket-mp/README.md @@ -2,7 +2,7 @@ ## Prerequisites * Docker -* Java 11+ +* Java 17+ * [Kafka bootstrap server](../README.md) running on `localhost:9092` ## Build & Run diff --git a/examples/messaging/kafka-websocket-se/README.md b/examples/messaging/kafka-websocket-se/README.md index 8efc1d39818..604aa5cf4b2 100644 --- a/examples/messaging/kafka-websocket-se/README.md +++ b/examples/messaging/kafka-websocket-se/README.md @@ -1,7 +1,7 @@ # Helidon Messaging with Kafka Examples ## Prerequisites -* Java 11+ +* Java 17+ * Docker * [Kafka bootstrap server](../README.md) running on `localhost:9092` diff --git a/examples/messaging/oracle-aq-websocket-mp/README.md b/examples/messaging/oracle-aq-websocket-mp/README.md index 69c627f55af..acf5e4f4dad 100644 --- a/examples/messaging/oracle-aq-websocket-mp/README.md +++ b/examples/messaging/oracle-aq-websocket-mp/README.md @@ -1,7 +1,7 @@ # Helidon Messaging with Oracle AQ Example ## Prerequisites -* Java 11+ +* Java 17+ * Docker * [Oracle database](../README.md) running on `localhost:1521` diff --git a/examples/quickstarts/helidon-quickstart-mp/Dockerfile b/examples/quickstarts/helidon-quickstart-mp/Dockerfile index 3b79fd9b765..00c8a0da032 100644 --- a/examples/quickstarts/helidon-quickstart-mp/Dockerfile +++ b/examples/quickstarts/helidon-quickstart-mp/Dockerfile @@ -1,5 +1,5 @@ # -# Copyright (c) 2018, 2020 Oracle and/or its affiliates. +# Copyright (c) 2018, 2021 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. @@ -15,7 +15,7 @@ # # 1st stage, build the app -FROM maven:3.6-jdk-11 as build +FROM maven:3.6.3-openjdk-17-slim as build WORKDIR /helidon @@ -32,7 +32,7 @@ RUN mvn package -DskipTests RUN echo "done!" # 2nd stage, build the runtime image -FROM openjdk:11-jre-slim +FROM openjdk:17-jdk-slim WORKDIR /helidon # Copy the binary built in the 1st stage diff --git a/examples/quickstarts/helidon-quickstart-mp/Dockerfile.jlink b/examples/quickstarts/helidon-quickstart-mp/Dockerfile.jlink index 2ac67b20ae9..7dc70ebc72a 100644 --- a/examples/quickstarts/helidon-quickstart-mp/Dockerfile.jlink +++ b/examples/quickstarts/helidon-quickstart-mp/Dockerfile.jlink @@ -1,5 +1,5 @@ # -# Copyright (c) 2020 Oracle and/or its affiliates. +# Copyright (c) 2020, 2021 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. @@ -15,7 +15,7 @@ # # 1st stage, build the app -FROM maven:3.6.3-jdk-11-slim as build +FROM maven:3.6.3-openjdk-17-slim as build WORKDIR /helidon diff --git a/examples/quickstarts/helidon-quickstart-mp/Dockerfile.native b/examples/quickstarts/helidon-quickstart-mp/Dockerfile.native index 8cfe3c74923..50271778913 100644 --- a/examples/quickstarts/helidon-quickstart-mp/Dockerfile.native +++ b/examples/quickstarts/helidon-quickstart-mp/Dockerfile.native @@ -15,7 +15,7 @@ # # 1st stage, build the app -FROM helidon/jdk11-graalvm-maven:21.3.0 as build +FROM helidon/jdk17-graalvm-maven:21.3.0 as build WORKDIR /helidon diff --git a/examples/quickstarts/helidon-quickstart-se/Dockerfile b/examples/quickstarts/helidon-quickstart-se/Dockerfile index 80b7f68dbfa..2f1befa4080 100644 --- a/examples/quickstarts/helidon-quickstart-se/Dockerfile +++ b/examples/quickstarts/helidon-quickstart-se/Dockerfile @@ -1,5 +1,5 @@ # -# Copyright (c) 2018, 2020 Oracle and/or its affiliates. +# Copyright (c) 2018, 2021 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. @@ -15,7 +15,7 @@ # # 1st stage, build the app -FROM maven:3.6-jdk-11 as build +FROM maven:3.6.3-openjdk-17-slim as build WORKDIR /helidon @@ -33,7 +33,7 @@ RUN mvn package -DskipTests RUN echo "done!" # 2nd stage, build the runtime image -FROM openjdk:11-jre-slim +FROM openjdk:17-jdk-slim WORKDIR /helidon # Copy the binary built in the 1st stage diff --git a/examples/quickstarts/helidon-quickstart-se/Dockerfile.jlink b/examples/quickstarts/helidon-quickstart-se/Dockerfile.jlink index 004d539271f..cf6bb151e6a 100644 --- a/examples/quickstarts/helidon-quickstart-se/Dockerfile.jlink +++ b/examples/quickstarts/helidon-quickstart-se/Dockerfile.jlink @@ -1,5 +1,5 @@ # -# Copyright (c) 2020 Oracle and/or its affiliates. +# Copyright (c) 2020, 2021 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. @@ -15,7 +15,7 @@ # # 1st stage, build the app -FROM maven:3.6.3-jdk-11-slim as build +FROM maven:3.6.3-openjdk-17-slim as build WORKDIR /helidon diff --git a/examples/quickstarts/helidon-quickstart-se/Dockerfile.native b/examples/quickstarts/helidon-quickstart-se/Dockerfile.native index b24ed439da8..720a90947f0 100644 --- a/examples/quickstarts/helidon-quickstart-se/Dockerfile.native +++ b/examples/quickstarts/helidon-quickstart-se/Dockerfile.native @@ -15,7 +15,7 @@ # # 1st stage, build the app -FROM helidon/jdk11-graalvm-maven:21.3.0 as build +FROM helidon/jdk17-graalvm-maven:21.3.0 as build WORKDIR /helidon diff --git a/examples/quickstarts/helidon-standalone-quickstart-mp/Dockerfile b/examples/quickstarts/helidon-standalone-quickstart-mp/Dockerfile index 27911090101..87d1a8dc1e9 100644 --- a/examples/quickstarts/helidon-standalone-quickstart-mp/Dockerfile +++ b/examples/quickstarts/helidon-standalone-quickstart-mp/Dockerfile @@ -1,5 +1,5 @@ # -# Copyright (c) 2018, 2020 Oracle and/or its affiliates. +# Copyright (c) 2018, 2021 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. @@ -15,7 +15,7 @@ # # 1st stage, build the app -FROM maven:3.6-jdk-11 as build +FROM maven:3.6.3-openjdk-17-slim as build WORKDIR /helidon @@ -32,7 +32,7 @@ RUN mvn package -DskipTests RUN echo "done!" # 2nd stage, build the runtime image -FROM openjdk:11-jre-slim +FROM openjdk:17-jdk-slim WORKDIR /helidon # Copy the binary built in the 1st stage diff --git a/examples/quickstarts/helidon-standalone-quickstart-mp/Dockerfile.jlink b/examples/quickstarts/helidon-standalone-quickstart-mp/Dockerfile.jlink index 2ac67b20ae9..7dc70ebc72a 100644 --- a/examples/quickstarts/helidon-standalone-quickstart-mp/Dockerfile.jlink +++ b/examples/quickstarts/helidon-standalone-quickstart-mp/Dockerfile.jlink @@ -1,5 +1,5 @@ # -# Copyright (c) 2020 Oracle and/or its affiliates. +# Copyright (c) 2020, 2021 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. @@ -15,7 +15,7 @@ # # 1st stage, build the app -FROM maven:3.6.3-jdk-11-slim as build +FROM maven:3.6.3-openjdk-17-slim as build WORKDIR /helidon diff --git a/examples/quickstarts/helidon-standalone-quickstart-mp/Dockerfile.native b/examples/quickstarts/helidon-standalone-quickstart-mp/Dockerfile.native index 734be0fae42..237777ef14a 100644 --- a/examples/quickstarts/helidon-standalone-quickstart-mp/Dockerfile.native +++ b/examples/quickstarts/helidon-standalone-quickstart-mp/Dockerfile.native @@ -15,7 +15,7 @@ # # 1st stage, build the app -FROM helidon/jdk11-graalvm-maven:21.3.0 as build +FROM helidon/jdk17-graalvm-maven:21.3.0 as build WORKDIR /helidon diff --git a/examples/quickstarts/helidon-standalone-quickstart-mp/pom.xml b/examples/quickstarts/helidon-standalone-quickstart-mp/pom.xml index 6fab9826e34..d27e6d31426 100644 --- a/examples/quickstarts/helidon-standalone-quickstart-mp/pom.xml +++ b/examples/quickstarts/helidon-standalone-quickstart-mp/pom.xml @@ -29,7 +29,7 @@ 3.0.0-SNAPSHOT io.helidon.microprofile.cdi.Main - 11 + 17 ${maven.compiler.source} true UTF-8 diff --git a/examples/quickstarts/helidon-standalone-quickstart-se/Dockerfile b/examples/quickstarts/helidon-standalone-quickstart-se/Dockerfile index 7e9775dc909..c5a0a801743 100644 --- a/examples/quickstarts/helidon-standalone-quickstart-se/Dockerfile +++ b/examples/quickstarts/helidon-standalone-quickstart-se/Dockerfile @@ -1,5 +1,5 @@ # -# Copyright (c) 2018, 2020 Oracle and/or its affiliates. +# Copyright (c) 2018, 2021 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. @@ -15,7 +15,7 @@ # # 1st stage, build the app -FROM maven:3.6-jdk-11 as build +FROM maven:3.6.3-openjdk-17-slim as build WORKDIR /helidon @@ -33,7 +33,7 @@ RUN mvn package -DskipTests RUN echo "done!" # 2nd stage, build the runtime image -FROM openjdk:11-jre-slim +FROM openjdk:17-jdk-slim WORKDIR /helidon # Copy the binary built in the 1st stage diff --git a/examples/quickstarts/helidon-standalone-quickstart-se/Dockerfile.jlink b/examples/quickstarts/helidon-standalone-quickstart-se/Dockerfile.jlink index 004d539271f..cf6bb151e6a 100644 --- a/examples/quickstarts/helidon-standalone-quickstart-se/Dockerfile.jlink +++ b/examples/quickstarts/helidon-standalone-quickstart-se/Dockerfile.jlink @@ -1,5 +1,5 @@ # -# Copyright (c) 2020 Oracle and/or its affiliates. +# Copyright (c) 2020, 2021 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. @@ -15,7 +15,7 @@ # # 1st stage, build the app -FROM maven:3.6.3-jdk-11-slim as build +FROM maven:3.6.3-openjdk-17-slim as build WORKDIR /helidon diff --git a/examples/quickstarts/helidon-standalone-quickstart-se/Dockerfile.native b/examples/quickstarts/helidon-standalone-quickstart-se/Dockerfile.native index 8aef8087488..3f133cefc1a 100644 --- a/examples/quickstarts/helidon-standalone-quickstart-se/Dockerfile.native +++ b/examples/quickstarts/helidon-standalone-quickstart-se/Dockerfile.native @@ -15,7 +15,7 @@ # # 1st stage, build the app -FROM helidon/jdk11-graalvm-maven:21.3.0 as build +FROM helidon/jdk17-graalvm-maven:21.3.0 as build WORKDIR /helidon diff --git a/examples/quickstarts/helidon-standalone-quickstart-se/pom.xml b/examples/quickstarts/helidon-standalone-quickstart-se/pom.xml index bc058aefdea..15908a9f4bb 100644 --- a/examples/quickstarts/helidon-standalone-quickstart-se/pom.xml +++ b/examples/quickstarts/helidon-standalone-quickstart-se/pom.xml @@ -29,7 +29,7 @@ 3.0.0-SNAPSHOT io.helidon.examples.quickstart.se.Main - 11 + 17 ${maven.compiler.source} true UTF-8 diff --git a/examples/security/idcs-login/pom.xml b/examples/security/idcs-login/pom.xml index 8a59bfcba87..ba355b33f57 100644 --- a/examples/security/idcs-login/pom.xml +++ b/examples/security/idcs-login/pom.xml @@ -90,10 +90,6 @@ io.helidon.config helidon-config-yaml - - io.helidon.config - helidon-config-yaml - org.jboss jandex diff --git a/examples/todo-app/backend/Dockerfile b/examples/todo-app/backend/Dockerfile index 1e59e41d8d9..4d2691e03fc 100644 --- a/examples/todo-app/backend/Dockerfile +++ b/examples/todo-app/backend/Dockerfile @@ -1,5 +1,5 @@ # -# Copyright (c) 2018, 2020 Oracle and/or its affiliates. +# Copyright (c) 2018, 2021 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. @@ -15,7 +15,7 @@ # # 1st stage, build the app -FROM maven:3.6-jdk-11 as build +FROM maven:3.6.3-openjdk-17-slim as build WORKDIR /helidon @@ -32,7 +32,7 @@ RUN mvn package -DskipTests RUN echo "done!" # 2nd stage, build the runtime image -FROM openjdk:11-jre-slim +FROM openjdk:17-jdk-slim WORKDIR /helidon # Copy the binary built in the 1st stage diff --git a/examples/todo-app/backend/src/test/java/io/helidon/demo/todos/backend/BackendTests.java b/examples/todo-app/backend/src/test/java/io/helidon/demo/todos/backend/BackendTests.java index ca6aa8ac21b..7d612ae7b7f 100644 --- a/examples/todo-app/backend/src/test/java/io/helidon/demo/todos/backend/BackendTests.java +++ b/examples/todo-app/backend/src/test/java/io/helidon/demo/todos/backend/BackendTests.java @@ -40,12 +40,14 @@ import org.eclipse.microprofile.config.spi.ConfigProviderResolver; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; @HelidonTest @Configuration(useExisting = true) +@Disabled("3.0.0-JAKARTA") class BackendTests { private final static String CASSANDRA_HOST = "127.0.0.1"; diff --git a/examples/todo-app/frontend/Dockerfile b/examples/todo-app/frontend/Dockerfile index afd6150a986..521d4f1d260 100644 --- a/examples/todo-app/frontend/Dockerfile +++ b/examples/todo-app/frontend/Dockerfile @@ -1,5 +1,5 @@ # -# Copyright (c) 2018, 2020 Oracle and/or its affiliates. +# Copyright (c) 2018, 2021 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. @@ -15,7 +15,7 @@ # # 1st stage, build the app -FROM maven:3.6-jdk-11 as build +FROM maven:3.6.3-openjdk-17-slim as build WORKDIR /helidon @@ -39,7 +39,7 @@ RUN mvn package -DskipTests RUN echo "done!" # 2nd stage, build the runtime image -FROM openjdk:11-jre-slim +FROM openjdk:17-jdk-slim WORKDIR /helidon # Copy the binary built in the 1st stage diff --git a/examples/translator-app/backend/Dockerfile b/examples/translator-app/backend/Dockerfile index a1e8c56e214..fd93dab3215 100644 --- a/examples/translator-app/backend/Dockerfile +++ b/examples/translator-app/backend/Dockerfile @@ -1,5 +1,5 @@ # -# Copyright (c) 2018, 2020 Oracle and/or its affiliates. +# Copyright (c) 2018, 2021 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. @@ -15,7 +15,7 @@ # # 1st stage, build the app -FROM maven:3.6-jdk-11 as build +FROM maven:3.6.3-openjdk-17-slim as build WORKDIR /helidon @@ -33,7 +33,7 @@ RUN mvn package -DskipTests RUN echo "done!" # 2nd stage, build the runtime image -FROM openjdk:11-jre-slim +FROM openjdk:17-jdk-slim WORKDIR /helidon # Copy the binary built in the 1st stage diff --git a/examples/translator-app/frontend/Dockerfile b/examples/translator-app/frontend/Dockerfile index d8c7c4b56f3..c539e9f9469 100644 --- a/examples/translator-app/frontend/Dockerfile +++ b/examples/translator-app/frontend/Dockerfile @@ -1,5 +1,5 @@ # -# Copyright (c) 2018, 2020 Oracle and/or its affiliates. +# Copyright (c) 2018, 2021 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. @@ -15,7 +15,7 @@ # # 1st stage, build the app -FROM maven:3.6-jdk-11 as build +FROM maven:3.6.3-openjdk-17-slim as build WORKDIR /helidon @@ -33,7 +33,7 @@ RUN mvn package -Dmaven.test.skip RUN echo "done!" # 2nd stage, build the runtime image -FROM openjdk:11-jre-slim +FROM openjdk:17-jdk-slim WORKDIR /helidon # Copy the binary built in the 1st stage diff --git a/examples/webserver/opentracing/Dockerfile b/examples/webserver/opentracing/Dockerfile index f27e5df3cf9..dccd442f15b 100644 --- a/examples/webserver/opentracing/Dockerfile +++ b/examples/webserver/opentracing/Dockerfile @@ -1,5 +1,5 @@ # -# Copyright (c) 2018, 2020 Oracle and/or its affiliates. +# Copyright (c) 2018, 2021 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. @@ -15,7 +15,7 @@ # # 1st stage, build the app -FROM maven:3.6-jdk-11 as build +FROM maven:3.6.3-openjdk-17-slim as build WORKDIR /helidon @@ -33,7 +33,7 @@ RUN mvn package -DskipTests RUN echo "done!" # 2nd stage, build the runtime image -FROM openjdk:11-jre-slim +FROM openjdk:17-jdk-slim WORKDIR /helidon # Copy the binary built in the 1st stage diff --git a/lra/coordinator/server/Dockerfile b/lra/coordinator/server/Dockerfile index cc19eebcfef..3b08512ca99 100644 --- a/lra/coordinator/server/Dockerfile +++ b/lra/coordinator/server/Dockerfile @@ -14,7 +14,7 @@ # limitations under the License. # -FROM maven:3.6-jdk-11 as build +FROM maven:3.6.3-openjdk-17-slim as build WORKDIR /helidon ARG HELIDON_BRANCH=master @@ -49,7 +49,7 @@ RUN mvn install -pl :helidon-lra-coordinator-server -am -DskipTests RUN echo "Helidon LRA Coordinator build successfully fished" -FROM openjdk:11-jre-slim +FROM openjdk:17-jdk-slim WORKDIR /helidon COPY --from=build /helidon/lra/coordinator/server/target/helidon-lra-coordinator-server.jar ./ diff --git a/microprofile/cdi/src/main/java/io/helidon/microprofile/cdi/Main.java b/microprofile/cdi/src/main/java/io/helidon/microprofile/cdi/Main.java index 145774f7b95..3e780c6c883 100644 --- a/microprofile/cdi/src/main/java/io/helidon/microprofile/cdi/Main.java +++ b/microprofile/cdi/src/main/java/io/helidon/microprofile/cdi/Main.java @@ -26,8 +26,8 @@ * This is the "master" main class of Helidon MP. * You can boot the Helidon MP instance using this class if you want do not need to modify * anything using builders. - *

    Startup

    - *

    Configuration

    + *

    Startup

    + *

    Configuration

    *

    * If this method is used, the following approach is taken for configuration: *

      @@ -36,7 +36,7 @@ *
    • If there are any MicroProfile config sources, these will be added
    • *
    • If there are any {@code META-INF/microprofile-config.properties} files on the classpath, these will be added
    • *
    - *

    Logging

    + *

    Logging

    * Helidon uses Java Util Logging. You can configure logging using: *
      *
    • A system property {@code java.util.logging.config.class}
    • diff --git a/microprofile/cors/src/main/java/io/helidon/microprofile/cors/package-info.java b/microprofile/cors/src/main/java/io/helidon/microprofile/cors/package-info.java index 2d115ec2f98..046473d0d3f 100644 --- a/microprofile/cors/src/main/java/io/helidon/microprofile/cors/package-info.java +++ b/microprofile/cors/src/main/java/io/helidon/microprofile/cors/package-info.java @@ -15,7 +15,7 @@ */ /** - *

      Helidon MP CORS Support

      + *

      Helidon MP CORS Support

      * Adding the Helidon MP CORS module to your application enables CORS support automatically, implementing the configuration in * the {@value io.helidon.microprofile.cors.CrossOriginFilter#CORS_CONFIG_KEY} section of your MicroProfile configuration. *

      diff --git a/microprofile/metrics/src/main/java/io/helidon/microprofile/metrics/MetricsCdiExtension.java b/microprofile/metrics/src/main/java/io/helidon/microprofile/metrics/MetricsCdiExtension.java index b7c5a9c462e..b89034af64d 100644 --- a/microprofile/metrics/src/main/java/io/helidon/microprofile/metrics/MetricsCdiExtension.java +++ b/microprofile/metrics/src/main/java/io/helidon/microprofile/metrics/MetricsCdiExtension.java @@ -18,6 +18,7 @@ import java.lang.annotation.Annotation; import java.lang.reflect.AnnotatedElement; +import java.lang.reflect.Constructor; import java.lang.reflect.Executable; import java.lang.reflect.Member; import java.lang.reflect.Method; @@ -176,14 +177,18 @@ public MetricsCdiExtension() { * @param type of element * @deprecated This method is made public to migrate from metrics1 to metrics2 for gRPC, this should be refactored */ + @SuppressWarnings("rawtypes") @Deprecated public static void registerMetric(E element, Class clazz, LookupResult lookupResult) { Executable executable; if (element instanceof AnnotatedCallable) { executable = (Executable) ((AnnotatedCallable) element).getJavaMember(); - } else if (element instanceof Executable) { - executable = (Executable) element; + } else if (element instanceof Constructor) { + // code checking instanceof Executable and casting to it would not compile on Java17 + executable = (Constructor) element; + } else if (element instanceof Method) { + executable = (Method) element; } else { throw new IllegalArgumentException("Element must be an AnnotatedCallable or Executable but was " + element.getClass().getName()); diff --git a/pom.xml b/pom.xml index b29943b950d..2b54e61a8e0 100644 --- a/pom.xml +++ b/pom.xml @@ -33,6 +33,8 @@ Java libraries for writing microservices + 17 + all UTF-8 UTF-8 @@ -207,9 +209,9 @@ maven-compiler-plugin ${version.plugin.compiler} - 11 - 11 - 11 + ${version.java} + ${version.java} + ${version.java} true -Xlint:unchecked @@ -225,7 +227,7 @@ maven-javadoc-plugin ${version.plugin.javadoc} - 11 + ${version.java} true true @@ -343,9 +345,7 @@ -J-Dhttp.agent=maven-javadoc-plugin - --add-exports=java.base/sun.security.util=io.helidon.common.pki - - + --add-exports=java.base/sun.security.util=io.helidon.common.pki @@ -1183,58 +1183,6 @@ helidon-parent,helidon-dependencies,helidon-bom,helidon-se,helidon-mp,io.grpc,he archetypes - - jdk9-javadoc - - - - [9,10) - - !jdkToolchainVersion - - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - - - - -Xold - - - - - - - - - jdk9-toolchain-javadoc - - - jdkToolchainVersion - 9 - - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - - - - -Xold - - - - - - - sources @@ -1551,7 +1499,7 @@ helidon-parent,helidon-dependencies,helidon-bom,helidon-se,helidon-mp,io.grpc,he loom - 16-loom + 18-loom @@ -1560,17 +1508,17 @@ helidon-parent,helidon-dependencies,helidon-bom,helidon-se,helidon-mp,io.grpc,he org.apache.maven.plugins maven-compiler-plugin - 16 - 16 - 16 + 18 + 18 + 18 org.apache.maven.plugins maven-javadoc-plugin - 16 - 16 + 18 + 18 diff --git a/security/security/src/main/java/io/helidon/security/Security.java b/security/security/src/main/java/io/helidon/security/Security.java index 7c299443a20..6c716166e1c 100644 --- a/security/security/src/main/java/io/helidon/security/Security.java +++ b/security/security/src/main/java/io/helidon/security/Security.java @@ -204,7 +204,6 @@ public List> getProviders(Class /** * Creates new instance based on configuration values. - *

      * * @param config Config instance located on security configuration ("providers" is an expected child) * @return new instance. @@ -218,7 +217,6 @@ public static Security create(Config config) { /** * Creates new instance based on configuration values. - *

      * * @param config Config instance located on security configuration ("providers" is an expected child) * @return new instance. diff --git a/security/security/src/main/java/io/helidon/security/package-info.java b/security/security/src/main/java/io/helidon/security/package-info.java index 9f5c1493bdf..cdb77dc7e0a 100644 --- a/security/security/src/main/java/io/helidon/security/package-info.java +++ b/security/security/src/main/java/io/helidon/security/package-info.java @@ -15,7 +15,7 @@ */ /** - *

      Security

      + *

      Security

      * * Supports security for web (and possibly other) resources including: *
        @@ -30,7 +30,7 @@ * Various security aspects are pluggable, using {@link io.helidon.security.spi.SecurityProvider providers} * to extend functionality. * - *

        Bootstrapping

        + *

        Bootstrapping

        * * You have two way to do things with security - either load it from configuration or create a fully configured instance * using a builder. Both approaches should allow the same behavior. diff --git a/webserver/cors/src/main/java/io/helidon/webserver/cors/package-info.java b/webserver/cors/src/main/java/io/helidon/webserver/cors/package-info.java index 074f18dc3b3..0b494bfb936 100644 --- a/webserver/cors/src/main/java/io/helidon/webserver/cors/package-info.java +++ b/webserver/cors/src/main/java/io/helidon/webserver/cors/package-info.java @@ -15,15 +15,15 @@ */ /** - *

        Helidon SE CORS Support

        + *

        Helidon SE CORS Support

        *

        * Use {@link io.helidon.webserver.cors.CorsSupport} and its {@link io.helidon.webserver.cors.CorsSupport.Builder} to add CORS * handling to resources in your application. *

        * Because Helidon SE does not use annotation processing to identify endpoints, you need to provide the CORS information for * your application another way. You can use Helidon configuration, the Helidon CORS API, or a combination. - *

        Configuration

        - *

        Format

        + *

        Configuration

        + *

        Format

        * CORS configuration looks like this: *
          * enabled: true    # the default
        @@ -33,7 +33,7 @@
          * allow-credentials: true
          * max-age: -1
          * 
        - *

        Finding and applying CORS configuration

        + *

        Finding and applying CORS configuration

        * Although Helidon prescribes the CORS config format, you can put it wherever you want in your application's configuration * file. Your application code will retrieve the CORS config from its location within your configuration and then use that * config node to prepare CORS support for your app. @@ -71,7 +71,7 @@ * This sets up more restrictive CORS behavior for more sensitive HTTP methods ({@code PUT} for example) and more liberal CORS * behavior for {@code GET}. * - *

        The Helidon CORS API

        + *

        The Helidon CORS API

        * You can define your application's CORS behavior programmatically -- together with configuration if you want -- by: *
          *
        • creating a {@link io.helidon.webserver.cors.CrossOriginConfig.Builder} instance,
        • diff --git a/webserver/webserver/src/main/java/io/helidon/webserver/PathMatcher.java b/webserver/webserver/src/main/java/io/helidon/webserver/PathMatcher.java index 84eaadbac80..02d07301ece 100644 --- a/webserver/webserver/src/main/java/io/helidon/webserver/PathMatcher.java +++ b/webserver/webserver/src/main/java/io/helidon/webserver/PathMatcher.java @@ -24,7 +24,7 @@ *

          Matched URI path is always decoded, {@link java.net.URI#normalize() normalized} and * with removed single ended slash (if any). * - *

          Web Server Path Pattern

          + *

          Web Server Path Pattern

          * While user can implement this interface to implement any specific needs the primary construction method is * {@link #create(String)} factory method. The method accepts Web Server Path Pattern format. * diff --git a/webserver/webserver/src/main/java/io/helidon/webserver/RequestPredicate.java b/webserver/webserver/src/main/java/io/helidon/webserver/RequestPredicate.java index 9f9c31d670a..48ef0e107c4 100644 --- a/webserver/webserver/src/main/java/io/helidon/webserver/RequestPredicate.java +++ b/webserver/webserver/src/main/java/io/helidon/webserver/RequestPredicate.java @@ -50,7 +50,7 @@ * The handler to be used for matching requests is passed as parameter to * {@link #thenApply(Handler)} and the handler to be used for requests that do not * match can be specified using {@link ConditionalHandler#otherwise(Handler) }. - *

          Examples

          + *

          Examples

          *

          * Invoke a {@link Handler} only when the request contains a header name {@code foo} * and accepts {@code text/plain}, otherwise return a response with {@code 404} code. diff --git a/webserver/webserver/src/main/java/io/helidon/webserver/ResponseHeaders.java b/webserver/webserver/src/main/java/io/helidon/webserver/ResponseHeaders.java index f64705b9646..1f23b33502d 100644 --- a/webserver/webserver/src/main/java/io/helidon/webserver/ResponseHeaders.java +++ b/webserver/webserver/src/main/java/io/helidon/webserver/ResponseHeaders.java @@ -36,7 +36,7 @@ * Extends {@link Parameters} interface by adding HTTP response headers oriented constants and convenient methods. * Use constants located in {@link io.helidon.common.http.Http.Header} as standard header names. * - *

          Lifecycle

          + *

          Lifecycle

          * Headers can be muted until {@link #send() send} to the client. It is also possible to register a '{@link #beforeSend(Consumer) * before send}' function which can made 'last minute mutation'. *

          diff --git a/webserver/webserver/src/main/java/io/helidon/webserver/ServerResponse.java b/webserver/webserver/src/main/java/io/helidon/webserver/ServerResponse.java index 324061755a4..9f2b908d6ea 100644 --- a/webserver/webserver/src/main/java/io/helidon/webserver/ServerResponse.java +++ b/webserver/webserver/src/main/java/io/helidon/webserver/ServerResponse.java @@ -39,7 +39,7 @@ /** * Represents HTTP Response. * - *

          Lifecycle

          + *

          Lifecycle

          * HTTP response is send to the client in two or more steps (chunks). First contains {@link #status() HTTP status code} * and {@link ResponseHeaders headers}. First part can be send explicitly by calling {@link ResponseHeaders#send()} * method or implicitly by sending a first part of the the response content. As soon as first part is send it become immutable - @@ -161,7 +161,7 @@ default ServerResponse addHeaders(Parameters parameters){ /** * Send a message and close the response. * - *

          Marshalling

          + *

          Marshalling

          * Data are marshaled using default or {@link #registerWriter(Class, Function) registered} {@code writer} to the format * of {@link ByteBuffer} {@link Publisher Publisher}. The last registered compatible writer is used. *

          @@ -173,7 +173,7 @@ default ServerResponse addHeaders(Parameters parameters){ *

        • {@link java.io.File}
        • *
        * - *

        Blocking

        + *

        Blocking

        * The method blocks only during marshalling. It means until {@code registered writer} produce a {@code Publisher} and * subscribe HTTP IO implementation on it. If the thread is used for publishing is up to HTTP IO and generated Publisher * implementations. Use returned {@link io.helidon.common.reactive.Single} to monitor and react on finished sending process. @@ -203,7 +203,7 @@ default ServerResponse addHeaders(Parameters parameters){ * A single {@link Subscription Subscriber} subscribes to the provided {@link Publisher Publisher} during * the method execution. * - *

        Blocking

        + *

        Blocking

        * If the thread is used for publishing is up to HTTP IO and generated Publisher * implementations. Use returned {@link io.helidon.common.reactive.Single} to monitor and react on finished sending process. * @@ -221,7 +221,7 @@ default ServerResponse addHeaders(Parameters parameters){ * A single {@link Subscription Subscriber} subscribes to the provided {@link Publisher Publisher} during * the method execution. * - *

        Blocking

        + *

        Blocking

        * If the thread is used for publishing is up to HTTP IO and generated Publisher * implementations. Use returned {@link io.helidon.common.reactive.Single} to monitor and react on finished sending process. * diff --git a/webserver/webserver/src/main/java/io/helidon/webserver/WebServer.java b/webserver/webserver/src/main/java/io/helidon/webserver/WebServer.java index 4e031312e32..27266b7df8a 100644 --- a/webserver/webserver/src/main/java/io/helidon/webserver/WebServer.java +++ b/webserver/webserver/src/main/java/io/helidon/webserver/WebServer.java @@ -422,6 +422,12 @@ public WebServer build() { return result; } + /** + * Configure the transport to be used by this server. + * + * @param transport transport to use + * @return updated builder instance + */ public Builder transport(Transport transport) { configurationBuilder.transport(transport); return this;