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'
|
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
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue