Skip to content

Commit 6969f23

Browse files
Upgrade to Java 24 (#350)
Co-authored-by: Enrico Martelli <[email protected]>
1 parent 0e501fa commit 6969f23

File tree

14 files changed

+40
-34
lines changed

14 files changed

+40
-34
lines changed

.github/workflows/unit-test.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
strategy:
1919
fail-fast: false
2020
matrix:
21-
os: [ ubuntu-latest, windows-latest, macos-13 ]
21+
os: [ ubuntu-latest, windows-latest, macos-13 ] # pin macos to latest x64 image
2222
steps:
2323
- name: Checkout code changes
2424
uses: actions/checkout@v4
@@ -32,8 +32,8 @@ jobs:
3232
- name: Setup Java
3333
uses: actions/setup-java@v4
3434
with:
35-
distribution: temurin
36-
java-version: 23
35+
distribution: zulu
36+
java-version: 24
3737

3838
- name: Setup project and upload dependency graph
3939
uses: gradle/actions/setup-gradle@v4

Dockerfile

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,27 @@
1-
FROM eclipse-temurin AS builder
1+
FROM azul/zulu-openjdk-alpine:24 AS builder
22

33
# bump: libwebp /LIBWEBP_VERSION=([\d.]+)/ git:https://chromium.googlesource.com/webm/libwebp.git|^1
44
# bump: libwebp after ./hashupdate Dockerfile LIBWEBP $LATEST
55
ARG LIBWEBP_VERSION=1.5.0
6-
ARG LIBWEBP_URL="https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-$LIBWEBP_VERSION-linux-x86-64.tar.gz"
76
ARG LIBWEBP_SHA256=f4bf49f85991f50e86a5404d16f15b72a053bb66768ed5cc0f6d042277cc2bb8
7+
ARG LIBWEBP_FILE="libwebp-$LIBWEBP_VERSION-linux-x86-64.tar.gz"
8+
ARG LIBWEBP_URL="https://storage.googleapis.com/downloads.webmproject.org/releases/webp/$LIBWEBP_FILE"
89

910
WORKDIR /app
10-
RUN curl -L --fail --retry 3 --retry-delay 5 "$LIBWEBP_URL" -o libwebp.tar.gz && \
11-
echo "$LIBWEBP_SHA256 libwebp.tar.gz" | sha256sum -c - && \
12-
tar -xzf libwebp.tar.gz --one-top-level=libwebp --strip-components=1
11+
RUN apk --no-cache add binutils curl tar
12+
RUN curl -L --fail --retry 3 --retry-delay 5 "$LIBWEBP_URL" -O && \
13+
echo "$LIBWEBP_SHA256 $LIBWEBP_FILE" | sha256sum -c - && \
14+
tar -xzf "$LIBWEBP_FILE" --one-top-level=libwebp --strip-components=1 && \
15+
rm "$LIBWEBP_FILE"
16+
17+
ENV GRADLE_OPTS="-Dorg.gradle.daemon=false"
1318
COPY settings.gradle build.gradle gradlew ./
1419
COPY gradle ./gradle
15-
RUN --mount=type=cache,target=/home/gradle/.gradle/caches ./gradlew dependencies --no-daemon
20+
RUN --mount=type=cache,target=/home/gradle/.gradle/caches ./gradlew dependencies
1621
COPY . .
17-
RUN ./gradlew runtime --no-daemon
22+
RUN ./gradlew runtime
1823

19-
FROM gcr.io/distroless/base-nossl:nonroot AS bot
24+
FROM alpine AS bot
2025

2126
# bump: ffmpeg /static-ffmpeg:([\d.]+)/ docker:mwader/static-ffmpeg|~7.0
2227
COPY --from=mwader/static-ffmpeg:7.0.2 /ffmpeg /usr/local/bin/

PRIVACY_POLICY.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ For the purposes of this Privacy Policy:
2020
- __Affiliate__ means an entity that controls, is controlled by or is under common control with a party, where "control" means ownership of 50% or more of the shares, equity interest or other securities entitled to vote for election of directors or other managing authority.
2121
- __Application__ refers to Stickerify, the software program provided by the Company.
2222
- __Company__ (referred to as either "the Company", "We", "Us" or "Our" in this Agreement) refers to Stickerify.
23-
- __Country__ refers to: Italy
23+
- __Country__ refers to: Italy
2424
- __Device__ means any device that can access the Service such as a computer, a cellphone or a digital tablet.
2525
- __Personal Data__ is any information that relates to an identified or identifiable individual.
2626
- __Service__ refers to the Application.

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ to convert.
2222

2323
Based on what you send, [Stickerify](https://t.me/StickerifyImageBot) will answer the following:
2424

25-
* the converted media, if you sent a supported file (images, gifs, videos, and existing Telegram stickers are supported)
25+
* the converted media, if you sent a supported file (images, GIFs, videos, and existing Telegram stickers are supported)
2626
that needed conversion
2727
* no file, if you sent a media already suiting Telegram's requirements
2828
* an error message, if you sent either an unsupported or a corrupted file
@@ -55,11 +55,11 @@ And it's done!
5555

5656
## How to set up the project
5757

58-
1. Install JDK 23 (or higher)
58+
1. Install JDK 24 (or higher)
5959
2. Clone the project and move into its folder
6060
3. Run the command `./gradlew build -x test`
6161
4. Import the project inside your IDE as a Gradle project
62-
5. Ensure your IDE is correctly configured to use a Java 23 (or higher) JDK
62+
5. Ensure your IDE is correctly configured to use a Java 24 (or higher) JDK
6363

6464
## How to run the bot locally
6565

@@ -88,7 +88,7 @@ After you successfully set up the project, you will have to go through the follo
8888
docker pull rob93c/stickerify
8989
```
9090

91-
3. Now you just need to run the Docker image passing the token (`{{TOKEN}}`) retrieved
91+
3. Now you need to run the Docker image passing the token (`{{TOKEN}}`) retrieved
9292
from [BotFather](https://t.me/BotFather):
9393

9494
```shell
@@ -111,7 +111,7 @@ If you would like to improve [Stickerify](https://t.me/StickerifyImageBot) as pa
111111
the [contributing guidelines](CONTRIBUTING.md) and then consider opening a new issue _and/or_ pull request.
112112
113113
If your pull request represents a valid contribution to the project, it will be marked as `hacktoberfest-accepted`,
114-
therefore counting towards the 4 contributions goal.
114+
therefore counting towards the four-contribution goal.
115115
116116
## Useful information
117117

build.gradle

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,8 @@ description = 'Telegram bot to convert medias in the format required to be used
4444

4545
java {
4646
toolchain {
47-
languageVersion = JavaLanguageVersion.of(23)
47+
languageVersion = JavaLanguageVersion.of(24)
48+
vendor = JvmVendorSpec.AZUL
4849
}
4950
}
5051

@@ -67,7 +68,7 @@ jacocoTestReport {
6768
reports {
6869
html.required = false
6970
xml.required = true
70-
xml.outputLocation = file(".qodana/code-coverage/report.xml")
71+
xml.outputLocation = file('.qodana/code-coverage/report.xml')
7172
}
7273

7374
afterEvaluate {
@@ -94,7 +95,7 @@ shadowJar {
9495
}
9596

9697
runtime {
97-
options = ['--strip-debug', '--no-header-files', '--no-man-pages']
98+
options = ['--strip-debug', '--no-header-files', '--no-man-pages'] // don't compress jre because final docker image will be larger
9899
modules = ['java.desktop', 'java.instrument', 'java.naming', 'java.sql', 'jdk.crypto.ec', 'jdk.unsupported']
99100
}
100101

gradle/wrapper/gradle-wrapper.jar

59 Bytes
Binary file not shown.

gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip
44
networkTimeout=10000
55
validateDistributionUrl=true
66
zipStoreBase=GRADLE_USER_HOME

gradlew

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

gradlew.bat

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

qodana.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ include:
55
- name: VulnerableLibrariesGlobal
66
# bump: qodana /qodana-jvm:([\d.]+)/ docker:jetbrains/qodana-jvm|/^[\d]{4}\.\d+$/|sort
77
linter: jetbrains/qodana-jvm:2025.1
8-
projectJDK: temurin-23
8+
projectJDK: zulu-24

0 commit comments

Comments
 (0)