feat: move build cmds to script, generate custom jre
This commit is contained in:
parent
ddd20b84ab
commit
09cfbc3221
2 changed files with 44 additions and 16 deletions
30
build.sh
Normal file
30
build.sh
Normal 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
|
|
@ -3,29 +3,24 @@ runtime: org.freedesktop.Platform
|
|||
runtime-version: '24.08'
|
||||
sdk: org.freedesktop.Sdk
|
||||
command: /app/tesl.sh
|
||||
|
||||
build-options:
|
||||
build-args:
|
||||
# sorry, but i dont want to google how to vendor gradle deps
|
||||
- --share=network
|
||||
|
||||
finish-args:
|
||||
- --share=ipc
|
||||
- --socket=x11
|
||||
- --device=dri
|
||||
- --socket=pulseaudio
|
||||
- --share=network
|
||||
|
||||
modules:
|
||||
- name: openj9
|
||||
buildsystem: simple
|
||||
sources:
|
||||
- type: archive
|
||||
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
|
||||
# 1.
|
||||
# download OpenJ9 JDK, build TESLauncher, install JAR,
|
||||
# generate JRE with jlink and install it
|
||||
- name: build
|
||||
buildsystem: simple
|
||||
sources:
|
||||
- type: archive
|
||||
|
@ -37,11 +32,14 @@ modules:
|
|||
url: https://git.dc09.ru/TESLauncher/TESLauncher.git
|
||||
branch: master
|
||||
dest: src
|
||||
- type: file
|
||||
path: build.sh
|
||||
build-commands:
|
||||
- 'PATH="$PWD/jdk/bin:$PATH" JAVA_HOME="$PWD/jdk" java --version'
|
||||
- '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 \;'
|
||||
- name: tesl-run
|
||||
- 'chmod +x build.sh && ./build.sh'
|
||||
|
||||
# 2.
|
||||
# install a script and a dot-desktop
|
||||
- name: run
|
||||
buildsystem: simple
|
||||
sources:
|
||||
- type: file
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue