feat: move build cmds to script, generate custom jre

This commit is contained in:
DarkCat09 2025-03-07 18:18:10 +04:00
parent ddd20b84ab
commit 09cfbc3221
Signed by: DarkCat09
GPG key ID: BD3CE9B65916CD82
2 changed files with 44 additions and 16 deletions

30
build.sh Normal file
View file

@ -0,0 +1,30 @@
#!/usr/bin/sh -eu
export PATH="$PWD/jdk/bin:$PATH"
export JAVA_HOME="$PWD/jdk"
# check if JDK works
java --version
# build TESLauncher
cd src
./gradlew shadowJar
cd ..
# install built JAR named TESLauncher-x.y.z.jar
find src/build/libs/ -name "TESL*.jar" -type f -exec \
install -D -m 644 {} /app/tesl.jar \;
#
# generate JRE with all modules enabled
jlink \
--strip-debug --no-man-pages --no-header-files --compress=2 \
--add-modules ALL-MODULE-PATH --output jre
#
# check if JRE works
./jre/bin/java --version
# install JRE
mkdir -p /app/lib/jvm/openj9
cp -r ./jre/* /app/lib/jvm/openj9

View file

@ -3,29 +3,24 @@ runtime: org.freedesktop.Platform
runtime-version: '24.08' runtime-version: '24.08'
sdk: org.freedesktop.Sdk sdk: org.freedesktop.Sdk
command: /app/tesl.sh command: /app/tesl.sh
build-options: build-options:
build-args: build-args:
# sorry, but i dont want to google how to vendor gradle deps # sorry, but i dont want to google how to vendor gradle deps
- --share=network - --share=network
finish-args: finish-args:
- --share=ipc - --share=ipc
- --socket=x11 - --socket=x11
- --device=dri - --device=dri
- --socket=pulseaudio - --socket=pulseaudio
- --share=network - --share=network
modules: modules:
- name: openj9 # 1.
buildsystem: simple # download OpenJ9 JDK, build TESLauncher, install JAR,
sources: # generate JRE with jlink and install it
- type: archive - name: build
strip-components: 0
url: https://pkg.dc09.ru/openj9/jre.tar.zst
sha256: b9e288ea41dedc3ba3090299a2c90185dbe155c33219ced67ed1a99dc4751125
build-commands:
- './bin/java --version'
- 'mkdir -p /app/lib/jvm/openj9'
- 'cp -r ./* /app/lib/jvm/openj9'
- name: tesl-build
buildsystem: simple buildsystem: simple
sources: sources:
- type: archive - type: archive
@ -37,11 +32,14 @@ modules:
url: https://git.dc09.ru/TESLauncher/TESLauncher.git url: https://git.dc09.ru/TESLauncher/TESLauncher.git
branch: master branch: master
dest: src dest: src
- type: file
path: build.sh
build-commands: build-commands:
- 'PATH="$PWD/jdk/bin:$PATH" JAVA_HOME="$PWD/jdk" java --version' - 'chmod +x build.sh && ./build.sh'
- 'export PATH="$PWD/jdk/bin:$PATH" JAVA_HOME="$PWD/jdk" && cd src && ./gradlew shadowJar && cd ..'
- 'find src/build/libs/ -name "TESL*.jar" -type f -exec install -D -m 644 {} /app/tesl.jar \;' # 2.
- name: tesl-run # install a script and a dot-desktop
- name: run
buildsystem: simple buildsystem: simple
sources: sources:
- type: file - type: file