@@ -18,40 +18,17 @@ echo "*** Packaging CLI as a modular jar"
18
18
" $JAVA_HOME " /bin/jar --create --file " $basedir /target/org.getmonero.i2p.zero.jar" --main-class org.getmonero.i2p.zero.Main -C " $basedir /target/classes/org.getmonero.i2p.zero" .
19
19
normalizeZip " $basedir /target/org.getmonero.i2p.zero.jar"
20
20
21
- echo " *** Compiling GUI"
22
- " $JAVA_HOME " /bin/javac --module-path " $basedir /target/org.getmonero.i2p.zero.jar:$basedir /target/modules/combined.jar:$basedir /import/javafx-sdks/linux/javafx-sdk-$JAVAFX_VERSION /lib" -d " $basedir /target/classes/org.getmonero.i2p.zero.gui" $( find " $basedir /org.getmonero.i2p.zero.gui/src" -name ' *.java' )
23
-
24
- cp -r " $basedir /org.getmonero.i2p.zero.gui/src/org/getmonero/i2p/zero/gui/" * .{css,png,fxml,ttf} " $basedir /target/classes/org.getmonero.i2p.zero.gui/org/getmonero/i2p/zero/gui/"
25
-
26
- echo " *** Packaging GUI as a modular jar"
27
- " $JAVA_HOME " /bin/jar --create --file " $basedir /target/org.getmonero.i2p.zero.gui.jar" --main-class org.getmonero.i2p.zero.gui.Gui -C " $basedir /target/classes/org.getmonero.i2p.zero.gui" .
28
- normalizeZip " $basedir /target/org.getmonero.i2p.zero.gui.jar"
29
-
30
- for target in ${TARGETS} ; do
31
- for i in ${target} ${target} -gui; do
32
- rm -fr " $basedir /dist/$i "
33
- mkdir -p " $basedir /dist/$i "
34
- done
35
- done
36
-
37
21
# create OS specific launchers which will bundle together the code and a minimal JVM
38
22
for i in ${TARGETS} ; do
39
23
echo " *** Performing jlink ($i )"
40
24
41
25
JAVA_HOME_VARIANT=$basedir /import/jdks/${i} /${variables["JAVA_HOME_$i"]}
42
26
echo " Using JAVA_HOME_VARIANT: $JAVA_HOME_VARIANT "
43
27
" $JAVA_HOME " /bin/jlink --module-path " ${JAVA_HOME_VARIANT} /jmods" :" $basedir /target/modules" :" $basedir /target/org.getmonero.i2p.zero.jar" --add-modules combined,org.getmonero.i2p.zero --output " $basedir /dist/$i /router" --compress 2 --no-header-files --no-man-pages --order-resources=** /module-info.class,/java.base/java/lang/** ,** javafx**
44
- " $JAVA_HOME " /bin/jlink --module-path " ${JAVA_HOME_VARIANT} /jmods" :" $basedir /import/javafx-jmods/$i /javafx-jmods-${JAVAFX_VERSION} " :" $basedir /target/modules" :" $basedir /target/org.getmonero.i2p.zero.jar" :" $basedir /target/org.getmonero.i2p.zero.gui.jar" --add-modules combined,org.getmonero.i2p.zero,org.getmonero.i2p.zero.gui,javafx.controls,javafx.fxml,java.desktop --output " $basedir /dist/$i -gui/router" --compress 2 --no-header-files --no-man-pages --order-resources=** /module-info.class,/java.base/java/lang/** ,** javafx**
45
28
done
46
29
47
- if [[ " $TARGETS " =~ " mac" ]]; then
48
- cp " $basedir /resources/launch-gui.sh" " $basedir /dist/mac-gui/router/bin/"
49
- fi
50
-
51
30
for target in ${TARGETS} ; do
52
- for i in ${target} ${target} -gui; do
53
- cp -r " $basedir /import/i2p.base" " $basedir /dist/$i /router/" ;
54
- done
31
+ cp -r " $basedir /import/i2p.base" " $basedir /dist/$target /router/" ;
55
32
done
56
33
57
34
# remove unnecessary native libs from jbigi.jar
@@ -62,50 +39,32 @@ for i in ${TARGETS}; do
62
39
if [ " $j " = " win" ]; then j=" windows" ; fi
63
40
zip -d " $basedir /dist/$i /router/i2p.base/jbigi.jar" * -${j} -*
64
41
normalizeZip " $basedir /dist/$i /router/i2p.base/jbigi.jar"
65
- cp " $basedir /dist/$i /router/i2p.base/jbigi.jar" " $basedir /dist/$i -gui/router/i2p.base/jbigi.jar"
66
- fi
42
+ fi
67
43
done
68
44
done
69
45
70
-
71
- # build mac gui app structure
72
- if [[ " $TARGETS " =~ " mac" ]]; then
73
- mv " $basedir /dist/mac-gui/router" " $basedir /dist/mac-gui/router-tmp"
74
- mkdir -p " $basedir /dist/mac-gui/router/i2p-zero.app/Contents/MacOS/"
75
- cp -R " $basedir /resources/i2p-zero.app" " $basedir /dist/mac-gui/router/"
76
- mv " $basedir /dist/mac-gui/router-tmp" /* " $basedir /dist/mac-gui/router/i2p-zero.app/Contents/MacOS/"
77
- rm -fr " $basedir /dist/mac-gui/router-tmp"
78
- fi
79
-
80
-
81
- # build linux and linux-gui app structure
46
+ # build linux structure
82
47
if [[ " $TARGETS " =~ " linux" ]]; then
83
- for i in linux linux-gui; do
84
- mv " $basedir /dist/$i /router" " $basedir /dist/$i /router-tmp"
85
- mkdir -p " $basedir /dist/$i /router/bin"
86
- mkdir -p " $basedir /dist/$i /router/lib"
87
- cp " $basedir /import/jpackage/linux/classes/jdk/incubator/jpackage/internal/resources/jpackageapplauncher" " $basedir /dist/$i /router/bin/i2p-zero"
88
- chmod +x " $basedir /dist/$i /router/bin/i2p-zero"
89
- mkdir -p " $basedir /dist/$i /router/lib/app"
90
- cp " $basedir /resources/i2p-zero.$i .cfg" " $basedir /dist/$i /router/lib/app/i2p-zero.cfg"
91
- mv " $basedir /dist/$i /router-tmp" " $basedir /dist/$i /router/lib/runtime"
92
- cp " $basedir /import/jpackage/linux/classes/jdk/incubator/jpackage/internal/resources/libapplauncher.so" " $basedir /dist/$i /router/lib/"
93
- done
94
-
95
- cp " $basedir /i2p-zero.png" " $basedir /dist/linux-gui/router/lib/"
48
+ mv " $basedir /dist/linux/router" " $basedir /dist/linux/router-tmp"
49
+ mkdir -p " $basedir /dist/linux/router/bin"
50
+ mkdir -p " $basedir /dist/linux/router/lib"
51
+ cp " $basedir /import/jpackage/linux/classes/jdk/incubator/jpackage/internal/resources/jpackageapplauncher" " $basedir /dist/linux/router/bin/i2p-zero"
52
+ chmod +x " $basedir /dist/linux/router/bin/i2p-zero"
53
+ mkdir -p " $basedir /dist/linux/router/lib/app"
54
+ cp " $basedir /resources/i2p-zero.linux.cfg" " $basedir /dist/linux/router/lib/app/i2p-zero.cfg"
55
+ mv " $basedir /dist/linux/router-tmp" " $basedir /dist/linux/router/lib/runtime"
56
+ cp " $basedir /import/jpackage/linux/classes/jdk/incubator/jpackage/internal/resources/libapplauncher.so" " $basedir /dist/linux/router/lib/"
96
57
fi
97
58
98
59
99
- # build win and win-gui app structure
60
+ # build win structure
100
61
if [[ " $TARGETS " =~ " win" ]]; then
101
- for i in win win-gui; do
102
- mv " $basedir /dist/$i /router" " $basedir /dist/$i /router-tmp"
103
- mkdir -p " $basedir /dist/$i /router/app"
104
- cp " $basedir /resources/i2p-zero.$i .cfg" " $basedir /dist/$i /router/app/i2p-zero.cfg"
105
- mv " $basedir /dist/$i /router-tmp" " $basedir /dist/$i /router/runtime"
106
- cp " $basedir /resources/launcher.exe" " $basedir /dist/$i /router/i2p-zero.exe"
107
- cp " $basedir /import/jpackage/win/classes/jdk/incubator/jpackage/internal/resources/applauncher.dll" " $basedir /dist/$i /router/"
108
- done
62
+ mv " $basedir /dist/win/router" " $basedir /dist/win/router-tmp"
63
+ mkdir -p " $basedir /dist/win/router/app"
64
+ cp " $basedir /resources/i2p-zero.win.cfg" " $basedir /dist/win/router/app/i2p-zero.cfg"
65
+ mv " $basedir /dist/win/router-tmp" " $basedir /dist/win/router/runtime"
66
+ cp " $basedir /resources/launcher.exe" " $basedir /dist/win/router/i2p-zero.exe"
67
+ cp " $basedir /import/jpackage/win/classes/jdk/incubator/jpackage/internal/resources/applauncher.dll" " $basedir /dist/win/router/"
109
68
fi
110
69
111
70
for i in ${TARGETS} ; do
@@ -125,17 +84,3 @@ du -sk "$basedir/dist/"* | awk '{printf "%.1f MB %s\n",$1/1024,$2}'
125
84
echo " *** Done ***"
126
85
echo " To build the distribution archives and show reproducible build SHA-256 hashes, type: bin/zip-all.sh"
127
86
echo " "
128
- os_name=` uname -s`
129
- if [ $os_name = Darwin ]; then
130
- os_name=mac
131
- echo " To run from the command line, type: ./dist/$os_name /router/bin/launch.sh"
132
- echo " To run the GUI, double-click: dist/$os_name -gui/router/i2p-zero.app"
133
- elif [ $os_name = Linux ]; then
134
- os_name=linux
135
- echo " To run from the command line, type: ./dist/$os_name /router/bin/i2p-zero"
136
- echo " To run the GUI, double-click: dist/$os_name -gui/router/i2p-zero"
137
- else
138
- os_name=win
139
- echo " To run from the command line, type: ./dist/$os_name /router/i2p-zero.exe"
140
- echo " To run the GUI, double-click: dist/$os_name -gui/router/i2p-zero.exe"
141
- fi
0 commit comments