aboutsummaryrefslogtreecommitdiffstats
path: root/tools/_util.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tools/_util.sh')
-rw-r--r--tools/_util.sh27
1 files changed, 24 insertions, 3 deletions
diff --git a/tools/_util.sh b/tools/_util.sh
index fde4797..a041f2d 100644
--- a/tools/_util.sh
+++ b/tools/_util.sh
@@ -5,15 +5,18 @@ case "$(uname -s)" in
5 *) SEP=":" ;; 5 *) SEP=":" ;;
6esac 6esac
7 7
8MODULES="api service ui-console" 8MODULES="api service ui-console ui-desktop"
9 9
10DEPS_api="" 10DEPS_api=""
11DEPS_service="api" 11DEPS_service="api"
12DEPS_ui_console="api service" 12DEPS_ui_console="api service"
13DEPS_ui_desktop=""
13 14
14RUNTIME_LIB_DIRS="pico jaxb gson" 15RUNTIME_LIB_DIRS="pico jaxb gson openjfx"
15 16
16MAIN_CLASS="market.guess.ui.console.App" 17EXECUTABLES="ui-console ui-desktop"
18MAINCLASS_ui_console="market.guess.ui.console.App"
19MAINCLASS_ui_desktop="market.guess.ui.desktop.Launcher"
17 20
18JAVA_HOME_DIR=$(java -XshowSettings:properties -version 2>&1 | tr -d '\r' | sed -n 's/^ *java\.home = //p') 21JAVA_HOME_DIR=$(java -XshowSettings:properties -version 2>&1 | tr -d '\r' | sed -n 's/^ *java\.home = //p')
19case "$(uname -s)" in 22case "$(uname -s)" in
@@ -45,6 +48,24 @@ deps_of() {
45 eval "printf '%s' \"\${$v}\"" 48 eval "printf '%s' \"\${$v}\""
46} 49}
47 50
51mainclass_of() {
52 local v="MAINCLASS_$(echo "$1" | tr '-' '_')"
53 eval "printf '%s' \"\${$v}\""
54}
55
56# JAR manifest lines are capped at 72 bytes; a raw "Key: value" line trips
57# `line too long` once enough jars are on the Class-Path (openjfx pushed us
58# over it). Fold per spec: continuation lines start with a single space.
59write_manifest_attr() {
60 local file="$1" line="$2: $3"
61 : >"$file"
62 while [ "${#line}" -gt 72 ]; do
63 printf '%s\n' "${line:0:72}" >>"$file"
64 line=" ${line:72}"
65 done
66 printf '%s\n\n' "$line" >>"$file"
67}
68
48module_cp() { 69module_cp() {
49 local cp="" 70 local cp=""
50 for d in "$@"; do cp="$cp${cp:+$SEP}build/classes/$d"; done 71 for d in "$@"; do cp="$cp${cp:+$SEP}build/classes/$d"; done