-
Notifications
You must be signed in to change notification settings - Fork 0
/
installer.sh
executable file
·50 lines (40 loc) · 1.11 KB
/
installer.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
#!/usr/bin/env bash
set -o errtrace -o nounset -o pipefail -o errexit
if [[ "$#" -ne 1 ]]; then
echo "Usage: ./installer.sh <project_path>"
exit 1
fi
project_path=$1
if ! command -v mvn &> /dev/null
then
echo "First, you need Maven installed."
exit 1
fi
if ! command -v java &> /dev/null
then
echo "First, you need Java installed."
exit 1
fi
echo "Compiling and installing BSP server..."
mvn -q clean package > /dev/null
fat_jar_name="server-1.0-SNAPSHOT-spring-boot.jar"
jar_path="$HOME/.bsp/maven/"
listener_jar="event-listener-1.0-SNAPSHOT.jar"
mkdir -p "$jar_path"
cp "server/target/$fat_jar_name" "$jar_path"
cp "event-listener/target/$listener_jar" "$jar_path"
echo "Creating connection file..."
mkdir -p "$project_path/.bsp" && cd "$project_path/.bsp"
maven_home=$(type -a mvn | grep -Eo "(/[^/]+){3}")
connection="{
\"name\": \"Maven BSP\",
\"version\": \"1.0.0\",
\"bspVersion\": \"1.0.0\",
\"languages\": [\"Java\"],
\"argv\": [\"java\",
\"-Dmaven.home=$maven_home\",
\"-jar\",
\"$jar_path$fat_jar_name\"]
}"
echo "$connection" > mavenbsp.json
echo "Successfully installed."