aboutsummaryrefslogtreecommitdiffstats
path: root/tools/_util.sh
blob: fa7e3b5771981a968aca179dbf056900b4e8b375 (plain)
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
JAVA_RELEASE=25

case "$(uname -s)" in
  CYGWIN*|MINGW*|MSYS*) SEP=";" ;;
  *) SEP=":" ;;
esac

MODULES="api service ui-console"

DEPS_api=""
DEPS_service="api"
DEPS_ui_console="api service"

RUNTIME_LIB_DIRS="pico jaxb gson"

MAIN_CLASS="market.guess.ui.console.App"

JAVA_HOME_DIR=$(java -XshowSettings:properties -version 2>&1 | tr -d '\r' | sed -n 's/^ *java\.home = //p')
case "$(uname -s)" in
  CYGWIN*|MINGW*|MSYS*)
    JAVA_HOME_DIR=$(cygpath -u "$JAVA_HOME_DIR" 2>/dev/null || echo "$JAVA_HOME_DIR")
    ;;
esac
JAR="$JAVA_HOME_DIR/bin/jar"
[ -x "$JAR" ] || JAR="$JAVA_HOME_DIR/bin/jar.exe"
if [ ! -x "$JAR" ]; then
  echo "Could not locate the 'jar' tool under $JAVA_HOME_DIR" >&2
  exit 1
fi

is_shippable_jar() {
  case "$1" in *-sources.jar | *-javadoc.jar) return 1 ;; *) return 0 ;; esac
}
LIBCP=""
for j in lib/*/*.jar; do
  is_shippable_jar "$j" || continue
  LIBCP="$LIBCP${LIBCP:+$SEP}$j"
done

TMP="${TMPDIR:-/tmp}/gm-build"
mkdir -p "$TMP"

deps_of() {
  local v="DEPS_$(echo "$1" | tr '-' '_')"
  eval "printf '%s' \"\${$v}\""
}

module_cp() {
  local cp=""
  for d in "$@"; do cp="$cp${cp:+$SEP}build/classes/$d"; done
  printf '%s' "$cp"
}