-
Notifications
You must be signed in to change notification settings - Fork 0
/
build_mvn_and_installer_linux_rpm.sh
executable file
·88 lines (67 loc) · 2.93 KB
/
build_mvn_and_installer_linux_rpm.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#!/bin/sh
cd "$(dirname "$0")" # zum Pfad dieses Skriptes wechseln
# Dieses Skript erstellt mit Hilfe von Maven eine ausfuehrbare JAR-Datei aus dem Java-Projekt, kopiert diese in das
# Verzeichnis "installer\source".
# Im Anschluss wird mit Hilfe des jpackage Tools (OpenJDK14) aus einer ausfuehrbaren JAR Datei einen nativer Installer
# fuer Linux erstellt. Alle von dem Java Programm benoetigten Komponenten (JRE, javaFX, ...) werden dabei mit in den
# Installer eingebunden, sodass das Programm nach der Installation auf jedem Linux Betriebssystem unabhaengig von
# anderen Programmen oder Installationen lauffaehig ist.
# Es werden zwei Installer fuer macOS in den gaengigen Formaten bereitgestellt (.deb und .rpm)
# ---- Benoetigte Informationen in Variablen speichern ----------------------------------------------------------------
# Mit den folgeneden Variablen koennen die Grundlegenden Daten fuer das Projekt eingestellt werden:
NAME=Bitchanger
DESCRIPTION="Rechner fuer beliebige Zahlensysteme"
VERSION=1.0.4
VENDOR="Entwicklungsprojekt_EB2020 by Tim Mühle and Moritz Wolter"
# set COPYRIGHT = ""
LICENSE_FILE="installer/source/Linux/jpackage/LICENSE.txt"
# Einstellungen fuer jpackage:
MAIN_JAR="bitchanger-$VERSION.jar"
INPUT="installer/source/Linux"
OUT="installer/${VERSION}/Linux"
# set ICON =
# Weitere Befehle fuer jpackage:
# App Icon aendern: --icon <path/to/icon.ico>
# Linzenz Datei: --license-file <file>
# ---- Maven build -----------------------------------------------------------------------------------------------------
echo ""
echo "Maven build durchfuehren"
echo ""
mvn clean install
# ---- JARs sichern ----------------------------------------------------------------------------------------------------
echo ""
echo JAR-Dateien kopieren
mkdir -p $OUT
mkdir -p $INPUT/jpackage
mkdir -p $INPUT/$VERSION
cp target/bitchanger-$VERSION-jar-with-dependencies.jar $INPUT/$VERSION/bitchanger-$VERSION-jar-with-dependencies.jar
cp target/bitchanger-$VERSION.jar $INPUT/$VERSION/bitchanger-$VERSION.jar
rm -r -f $INPUT/jpackage/* # Eingabeordner fuer jpackage leeren
cp target/bitchanger-$VERSION-jar-with-dependencies.jar $INPUT/jpackage/bitchanger-$VERSION.jar
cp ./LICENSE.txt ./"${LICENSE_FILE}"
echo JAR-Dateien kopiert
# ---- Installer erzeugen ----------------------------------------------------------------------------------------------
echo ""
echo "Installer fuer Linux werden erzeugt."
echo ""
for TYPE in "rpm"
do
echo "${NAME-$VERSION}.${TYPE} wird erstellt"
echo ""
jpackage \
--type "${TYPE}" \
--name "${NAME}" \
--description "${DESCRIPTION}" \
--vendor "${VENDOR}" \
--app-version "${VERSION}" \
--input "${INPUT}/jpackage" \
--dest "${OUT}" \
--main-jar "${MAIN_JAR}" \
--linux-shortcut \
--license-file "${LICENSE_FILE}" \
--icon "./Logo/${NAME}.png" \
--linux-rpm-license-type "MIT License"
echo ""
mv "./${OUT}/bitchanger-${VERSION}-1.x86_64.${TYPE}" "./${OUT}/${NAME}-${VERSION}-rpm-install.${TYPE}"
echo ""
done