]> git.evergreen-ils.org Git - working/Hatch.git/blob - fetch-deps.sh
lp1825891 Hatch Windows Installer ProgramData logs
[working/Hatch.git] / fetch-deps.sh
1 #!/bin/bash
2 set -eu
3
4 # --------------------------------------------------------------------
5 # Fetch Java JDK, JavaJFX SDK, and a Java JSON library.  Unpack
6 # each to the required location.
7 # --------------------------------------------------------------------
8
9 JAVA_VERSION=11.0.2
10 JDK_DIR="jdk-$JAVA_VERSION"
11 JFX_DIR="javafx-sdk-$JAVA_VERSION"
12 JDK_DIR_SHORT="java-jdk"
13 JFX_DIR_SHORT="javafx-sdk"
14 UNZIP="unzip -q"
15
16 WIN_JDK_ZIP="openjdk-${JAVA_VERSION}_windows-x64_bin.zip"
17 WIN_JFX_ZIP="openjfx-${JAVA_VERSION}_windows-x64_bin-sdk.zip"
18 WIN_JDK_URL="https://download.java.net/java/GA/jdk11/9/GPL/$WIN_JDK_ZIP"
19 WIN_JFX_URL="https://download2.gluonhq.com/openjfx/$JAVA_VERSION/$WIN_JFX_ZIP"
20
21 LINUX_JDK_TAR="openjdk-${JAVA_VERSION}_linux-x64_bin.tar.gz"
22 LINUX_JFX_ZIP="openjfx-${JAVA_VERSION}_linux-x64_bin-sdk.zip"
23 LINUX_JDK_URL="https://download.java.net/java/GA/jdk11/9/GPL/$LINUX_JDK_TAR"
24 LINUX_JFX_URL="https://download2.gluonhq.com/openjfx/$JAVA_VERSION/$LINUX_JFX_ZIP"
25
26 MAC_JDK_TAR="openjdk-${JAVA_VERSION}_osx-x64_bin.tar.gz"
27 MAC_JFX_ZIP="openjfx-${JAVA_VERSION}_osx-x64_bin-sdk.zip"
28 MAC_JDK_URL="https://download.java.net/java/GA/jdk11/9/GPL/$MAC_JDK_TAR"
29 MAC_JFX_URL="https://download2.gluonhq.com/openjfx/$JAVA_VERSION/$MAC_JFX_ZIP"
30
31 JSON_BUILD="20160810"
32 JSON_JAR="json-$JSON_BUILD.jar"
33 JSON_URL="https://search.maven.org/remotecontent?filepath=org/json/json/$JSON_BUILD/$JSON_JAR"
34
35 # Confirm the command line param $1 is defined.
36 if [ -z ${1+x} ]; then
37     echo "Platform argument required";
38     echo "$0 windows | linux";
39     exit 1;
40 fi;
41
42 PLATFORM=$1;
43
44 if [ "$PLATFORM" == "windows" ]; then
45
46     # maintain separate directories for Java deps so they can live
47     # alongside each other (useful for creating Windows builds from
48     # Linux).
49     JDK_DIR_SHORT="$JDK_DIR_SHORT-win"
50     JFX_DIR_SHORT="$JFX_DIR_SHORT-win"
51
52     if [ ! -d "$JDK_DIR" ]; then
53         if [ ! -f "$WIN_JDK_ZIP" ]; then
54             curl -o "$WIN_JDK_ZIP" "$WIN_JDK_URL";
55         fi;
56         $UNZIP "$WIN_JDK_ZIP"
57     fi;
58
59     if [ ! -d "$JFX_DIR" ]; then
60         if [ ! -f "$WIN_JFX_ZIP" ]; then
61             curl -o "$WIN_JFX_ZIP" "$WIN_JFX_URL";
62         fi;
63         $UNZIP "$WIN_JFX_ZIP"
64     fi;
65
66 elif [ "$PLATFORM" == "linux" ]; then
67
68     JDK_DIR_SHORT="$JDK_DIR_SHORT-linux"
69     JFX_DIR_SHORT="$JFX_DIR_SHORT-linux"
70
71     if [ ! -d "$JDK_DIR" ]; then
72         if [ ! -f "$LINUX_JDK_TAR" ]; then
73             curl -o "$LINUX_JDK_TAR" "$LINUX_JDK_URL";
74         fi;
75         tar -zxf "$LINUX_JDK_TAR"
76     fi;
77
78     if [ ! -d "$JFX_DIR" ]; then
79         if [ ! -f "$LINUX_JFX_ZIP" ]; then
80             curl -o "$LINUX_JFX_ZIP" "$LINUX_JFX_URL";
81         fi;
82         $UNZIP "$LINUX_JFX_ZIP"
83     fi;
84
85 elif [ "$PLATFORM" == "mac" ]; then
86
87     JDK_DIR="$JDK_DIR.jdk" # Mac builds append .jdk
88     JDK_DIR_SHORT="$JDK_DIR_SHORT-mac"
89     JFX_DIR_SHORT="$JFX_DIR_SHORT-mac"
90
91     if [ ! -d "$JDK_DIR" ]; then
92         if [ ! -f "$MAC_JDK_TAR" ]; then
93             curl -o "$MAC_JDK_TAR" "$MAC_JDK_URL";
94         fi;
95         tar -zxf "$MAC_JDK_TAR"
96     fi;
97
98     if [ ! -d "$JFX_DIR" ]; then
99         if [ ! -f "$MAC_JFX_ZIP" ]; then
100             curl -o "$MAC_JFX_ZIP" "$MAC_JFX_URL";
101         fi;
102         $UNZIP "$MAC_JFX_ZIP"
103     fi;
104
105 else
106
107     echo "Valid platform argument required";
108     echo "$0 windows | linux | mac";
109     exit 1;
110 fi;
111
112 mkdir -p lib
113 if [ ! -f lib/$JSON_JAR ]; then
114     echo "Fetching JSON libs..."
115     curl -o lib/$JSON_JAR $JSON_URL
116 fi;
117
118 rm -rf "$JDK_DIR_SHORT" "$JFX_DIR_SHORT";
119 mv "$JDK_DIR" "$JDK_DIR_SHORT";
120 mv "$JFX_DIR" "$JFX_DIR_SHORT";
121