Browse Source

convert to new graalvm version and gradle (#8473)

David Denton 1 year ago
parent
commit
2bd4120694

+ 1 - 1
frameworks/Kotlin/http4k/.java-version

@@ -1 +1 @@
-20.0
+21

+ 1 - 1
frameworks/Kotlin/http4k/apache-graalvm/build.gradle.kts

@@ -2,7 +2,7 @@ application.mainClass.set("Http4kGraalVMBenchmarkServerKt")
 
 kotlin {
     jvmToolchain {
-        languageVersion.set(JavaLanguageVersion.of(17))
+        languageVersion.set(JavaLanguageVersion.of(20))
     }
 }
 

+ 1 - 1
frameworks/Kotlin/http4k/build.gradle.kts

@@ -1,7 +1,7 @@
 import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
 
 plugins {
-    kotlin("jvm") version "1.9.0"
+    kotlin("jvm") version "1.9.10"
     application
 }
 

+ 3 - 3
frameworks/Kotlin/http4k/core/build.gradle.kts

@@ -4,9 +4,9 @@ plugins {
 }
 
 dependencies {
-    api(platform("org.http4k:http4k-bom:5.4.1.0"))
-    api("org.jetbrains.kotlin:kotlin-stdlib:1.9.0")
-    api("org.jetbrains.kotlin:kotlin-reflect:1.9.0")
+    api(platform("org.http4k:http4k-bom:5.8.2.0"))
+    api("org.jetbrains.kotlin:kotlin-stdlib:1.9.10")
+    api("org.jetbrains.kotlin:kotlin-reflect:1.9.10")
     api("org.http4k:http4k-core")
     api("org.http4k:http4k-format-argo")
     api("org.http4k:http4k-template-rocker")

+ 1 - 1
frameworks/Kotlin/http4k/graalvm/build.gradle.kts

@@ -2,7 +2,7 @@ application.mainClass.set("Http4kGraalVMBenchmarkServerKt")
 
 kotlin {
     jvmToolchain {
-        languageVersion.set(JavaLanguageVersion.of(17))
+        languageVersion.set(JavaLanguageVersion.of(20))
     }
 }
 

+ 2 - 1
frameworks/Kotlin/http4k/gradle/wrapper/gradle-wrapper.properties

@@ -1,6 +1,7 @@
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip
 networkTimeout=10000
+validateDistributionUrl=true
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists

+ 3 - 11
frameworks/Kotlin/http4k/http4k-apache-graalvm.dockerfile

@@ -1,4 +1,4 @@
-FROM gradle:8.0.2-jdk17 as gradle
+FROM gradle:8.3.0-jdk20 as gradle
 USER root
 WORKDIR /http4k
 COPY build.gradle.kts build.gradle.kts
@@ -10,24 +10,16 @@ COPY core-pgclient core-pgclient
 COPY apache-graalvm apache-graalvm
 
 RUN gradle --quiet --no-daemon apache-graalvm:shadowJar
-
-FROM ghcr.io/graalvm/graalvm-ce:ol7-java17-22.3.0 as graalvm
-RUN gu install native-image
-
+FROM ghcr.io/graalvm/graalvm-community:21.0.0-ol9-20230919 as graalvm
 COPY --from=gradle /http4k/core/src/main/resources/* /home/app/http4k-apache-graalvm/
 COPY --from=gradle /http4k/apache-graalvm/build/libs/http4k-benchmark.jar /home/app/http4k-apache-graalvm/
 COPY --from=gradle /http4k/apache-graalvm/config/*.json /home/app/http4k-apache-graalvm/
-
 WORKDIR /home/app/http4k-apache-graalvm
-
 RUN native-image \
     -H:ReflectionConfigurationFiles=reflect-config.json \
     -H:ResourceConfigurationFiles=resource-config.json \
     --initialize-at-build-time="org.slf4j.LoggerFactory,org.slf4j.simple.SimpleLogger,org.slf4j.impl.StaticLoggerBinder" \
     --no-fallback -cp http4k-benchmark.jar Http4kGraalVMBenchmarkServerKt
 
-FROM frolvlad/alpine-glibc:glibc-2.34
-RUN apk update && apk add libstdc++
 EXPOSE 9000
-COPY --from=graalvm /home/app/http4k-apache-graalvm/http4kgraalvmbenchmarkserverkt /app/http4k-apache-graalvm
-ENTRYPOINT ["/app/http4k-apache-graalvm"]
+ENTRYPOINT ["/home/app/http4k-apache-graalvm/http4kgraalvmbenchmarkserverkt"]

+ 1 - 1
frameworks/Kotlin/http4k/http4k-apache.dockerfile

@@ -1,4 +1,4 @@
-FROM gradle:8.0.2-jdk19
+FROM gradle:8.3.0-jdk20
 USER root
 WORKDIR /http4k
 COPY build.gradle.kts build.gradle.kts

+ 1 - 1
frameworks/Kotlin/http4k/http4k-apache4.dockerfile

@@ -1,4 +1,4 @@
-FROM gradle:8.0.2-jdk19
+FROM gradle:8.3.0-jdk20
 USER root
 WORKDIR /http4k
 COPY build.gradle.kts build.gradle.kts

+ 3 - 11
frameworks/Kotlin/http4k/http4k-graalvm.dockerfile

@@ -1,4 +1,4 @@
-FROM gradle:8.0.2-jdk17 as gradle
+FROM gradle:8.3.0-jdk20 as gradle
 USER root
 WORKDIR /http4k
 COPY build.gradle.kts build.gradle.kts
@@ -10,24 +10,16 @@ COPY graalvm graalvm
 COPY sunhttp sunhttp
 
 RUN gradle --quiet --no-daemon graalvm:shadowJar
-
-FROM ghcr.io/graalvm/graalvm-ce:ol7-java17-22.3.0 as graalvm
-RUN gu install native-image
-
+FROM ghcr.io/graalvm/graalvm-community:21.0.0-ol9-20230919 as graalvm
 COPY --from=gradle /http4k/core/src/main/resources/* /home/app/http4k-graalvm/
 COPY --from=gradle /http4k/graalvm/build/libs/http4k-benchmark.jar /home/app/http4k-graalvm/
 COPY --from=gradle /http4k/graalvm/config/*.json /home/app/http4k-graalvm/
-
 WORKDIR /home/app/http4k-graalvm
-
 RUN native-image \
     -H:ReflectionConfigurationFiles=reflect-config.json \
     -H:ResourceConfigurationFiles=resource-config.json \
     --initialize-at-build-time="org.slf4j.LoggerFactory,org.slf4j.simple.SimpleLogger,org.slf4j.impl.StaticLoggerBinder" \
     --no-fallback -cp http4k-benchmark.jar Http4kGraalVMBenchmarkServerKt
 
-FROM frolvlad/alpine-glibc:glibc-2.34
-RUN apk update && apk add libstdc++
 EXPOSE 9000
-COPY --from=graalvm /home/app/http4k-graalvm/http4kgraalvmbenchmarkserverkt /app/http4k-graalvm
-ENTRYPOINT ["/app/http4k-graalvm"]
+ENTRYPOINT ["/home/app/http4k-graalvm/http4kgraalvmbenchmarkserverkt"]

+ 1 - 61
frameworks/Kotlin/http4k/http4k-helidon-jdbc.dockerfile

@@ -1,64 +1,4 @@
-# START: Manually build gradle with Java 20 due to missing image
-FROM eclipse-temurin:20-jdk-jammy
-CMD ["gradle"]
-
-ENV GRADLE_HOME /opt/gradle
-
-RUN set -o errexit -o nounset \
-    && echo "Adding gradle user and group" \
-    && groupadd --system --gid 1000 gradle \
-    && useradd --system --gid gradle --uid 1000 --shell /bin/bash --create-home gradle \
-    && mkdir /home/gradle/.gradle \
-    && chown --recursive gradle:gradle /home/gradle \
-    \
-    && echo "Symlinking root Gradle cache to gradle Gradle cache" \
-    && ln --symbolic /home/gradle/.gradle /root/.gradle
-
-VOLUME /home/gradle/.gradle
-
-WORKDIR /home/gradle
-
-RUN set -o errexit -o nounset \
-    && apt-get update \
-    && apt-get install --yes --no-install-recommends \
-        unzip \
-        wget \
-        \
-        bzr \
-        git \
-        git-lfs \
-        mercurial \
-        openssh-client \
-        subversion \
-    && rm --recursive --force /var/lib/apt/lists/* \
-    \
-    && echo "Testing VCSes" \
-    && which bzr \
-    && which git \
-    && which git-lfs \
-    && which hg \
-    && which svn
-
-ENV GRADLE_VERSION 8.2
-ARG GRADLE_DOWNLOAD_SHA256=38f66cd6eef217b4c35855bb11ea4e9fbc53594ccccb5fb82dfd317ef8c2c5a3
-RUN set -o errexit -o nounset \
-    && echo "Downloading Gradle" \
-    && wget --no-verbose --output-document=gradle.zip "https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip" \
-    \
-    && echo "Checking download hash" \
-    && echo "${GRADLE_DOWNLOAD_SHA256} *gradle.zip" | sha256sum --check - \
-    \
-    && echo "Installing Gradle" \
-    && unzip gradle.zip \
-    && rm gradle.zip \
-    && mv "gradle-${GRADLE_VERSION}" "${GRADLE_HOME}/" \
-    && ln --symbolic "${GRADLE_HOME}/bin/gradle" /usr/bin/gradle \
-    \
-    && echo "Testing Gradle installation" \
-    && gradle --version
-# END: Manually build gradle with Java 20 due to missing image
-
-# FROM gradle:8.2.0-jdk20
+FROM gradle:8.3.0-jdk20
 USER root
 WORKDIR /http4k
 COPY build.gradle.kts build.gradle.kts

+ 1 - 62
frameworks/Kotlin/http4k/http4k-helidon-pgclient.dockerfile

@@ -1,65 +1,4 @@
-# START: Manually build gradle with Java 20 due to missing image
-FROM eclipse-temurin:20-jdk-jammy
-
-CMD ["gradle"]
-
-ENV GRADLE_HOME /opt/gradle
-
-RUN set -o errexit -o nounset \
-    && echo "Adding gradle user and group" \
-    && groupadd --system --gid 1000 gradle \
-    && useradd --system --gid gradle --uid 1000 --shell /bin/bash --create-home gradle \
-    && mkdir /home/gradle/.gradle \
-    && chown --recursive gradle:gradle /home/gradle \
-    \
-    && echo "Symlinking root Gradle cache to gradle Gradle cache" \
-    && ln --symbolic /home/gradle/.gradle /root/.gradle
-
-VOLUME /home/gradle/.gradle
-
-WORKDIR /home/gradle
-
-RUN set -o errexit -o nounset \
-    && apt-get update \
-    && apt-get install --yes --no-install-recommends \
-        unzip \
-        wget \
-        \
-        bzr \
-        git \
-        git-lfs \
-        mercurial \
-        openssh-client \
-        subversion \
-    && rm --recursive --force /var/lib/apt/lists/* \
-    \
-    && echo "Testing VCSes" \
-    && which bzr \
-    && which git \
-    && which git-lfs \
-    && which hg \
-    && which svn
-
-ENV GRADLE_VERSION 8.2
-ARG GRADLE_DOWNLOAD_SHA256=38f66cd6eef217b4c35855bb11ea4e9fbc53594ccccb5fb82dfd317ef8c2c5a3
-RUN set -o errexit -o nounset \
-    && echo "Downloading Gradle" \
-    && wget --no-verbose --output-document=gradle.zip "https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip" \
-    \
-    && echo "Checking download hash" \
-    && echo "${GRADLE_DOWNLOAD_SHA256} *gradle.zip" | sha256sum --check - \
-    \
-    && echo "Installing Gradle" \
-    && unzip gradle.zip \
-    && rm gradle.zip \
-    && mv "gradle-${GRADLE_VERSION}" "${GRADLE_HOME}/" \
-    && ln --symbolic "${GRADLE_HOME}/bin/gradle" /usr/bin/gradle \
-    \
-    && echo "Testing Gradle installation" \
-    && gradle --version
-# END: Manually build gradle with Java 20 due to missing image
-
-# FROM gradle:8.2.0-jdk20
+FROM gradle:8.3.0-jdk20
 USER root
 WORKDIR /http4k
 COPY build.gradle.kts build.gradle.kts

+ 1 - 1
frameworks/Kotlin/http4k/http4k-jetty.dockerfile

@@ -1,4 +1,4 @@
-FROM gradle:8.0.2-jdk19
+FROM gradle:8.3.0-jdk20
 USER root
 WORKDIR /http4k
 COPY build.gradle.kts build.gradle.kts

+ 1 - 1
frameworks/Kotlin/http4k/http4k-jettyloom-jdbc.dockerfile

@@ -1,4 +1,4 @@
-FROM gradle:8.0.2-jdk19
+FROM gradle:8.3.0-jdk20
 USER root
 WORKDIR /http4k
 COPY build.gradle.kts build.gradle.kts

+ 1 - 1
frameworks/Kotlin/http4k/http4k-jettyloom-pgclient.dockerfile

@@ -1,4 +1,4 @@
-FROM gradle:8.0.2-jdk19
+FROM gradle:8.3.0-jdk20
 USER root
 WORKDIR /http4k
 COPY build.gradle.kts build.gradle.kts

+ 1 - 1
frameworks/Kotlin/http4k/http4k-ktorcio.dockerfile

@@ -1,4 +1,4 @@
-FROM gradle:8.0.2-jdk19
+FROM gradle:8.3.0-jdk20
 USER root
 WORKDIR /http4k
 COPY build.gradle.kts build.gradle.kts

+ 1 - 1
frameworks/Kotlin/http4k/http4k-ktornetty.dockerfile

@@ -1,4 +1,4 @@
-FROM gradle:8.0.2-jdk19
+FROM gradle:8.3.0-jdk20
 USER root
 WORKDIR /http4k
 COPY build.gradle.kts build.gradle.kts

+ 1 - 1
frameworks/Kotlin/http4k/http4k-netty.dockerfile

@@ -1,4 +1,4 @@
-FROM gradle:8.0.2-jdk19
+FROM gradle:8.3.0-jdk20
 USER root
 WORKDIR /http4k
 COPY build.gradle.kts build.gradle.kts

+ 1 - 1
frameworks/Kotlin/http4k/http4k-ratpack.dockerfile

@@ -1,4 +1,4 @@
-FROM gradle:8.0.2-jdk19
+FROM gradle:8.3.0-jdk20
 USER root
 WORKDIR /http4k
 COPY build.gradle.kts build.gradle.kts

+ 1 - 1
frameworks/Kotlin/http4k/http4k-sunhttploom.dockerfile

@@ -1,4 +1,4 @@
-FROM gradle:8.0.2-jdk19
+FROM gradle:8.3.0-jdk20
 USER root
 WORKDIR /http4k
 COPY build.gradle.kts build.gradle.kts

+ 1 - 1
frameworks/Kotlin/http4k/http4k-undertow.dockerfile

@@ -1,4 +1,4 @@
-FROM gradle:8.0.2-jdk19
+FROM gradle:8.3.0-jdk20
 USER root
 WORKDIR /http4k
 COPY build.gradle.kts build.gradle.kts

+ 1 - 1
frameworks/Kotlin/http4k/http4k.dockerfile

@@ -1,4 +1,4 @@
-FROM gradle:8.0.2-jdk19
+FROM gradle:8.3.0-jdk20
 USER root
 WORKDIR /http4k
 COPY build.gradle.kts build.gradle.kts