-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinstall.sh
More file actions
137 lines (105 loc) · 3.43 KB
/
install.sh
File metadata and controls
137 lines (105 loc) · 3.43 KB
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#!/bin/bash
set -e
install_globally(){
echo "Running this command: jbang alias add --name bhailang https://raw.githubusercontent.com/journeycodesayush/javabhailang/main/bhailang.java"
# jbang alias add bhailang https://raw.githubusercontent.com/journeycodesayush/javabhailang/main/bhailang.java
jbang alias add --name bhailang https://raw.githubusercontent.com/journeycodesayush/javabhailang/main/bhailang.java
# echo "Installed bhailang globally..."
# echo "Try opening the REPL with 'bhailang' or run a bhai script with 'bhailang script.bhai'"
if [[ ":$PATH:" != *":$HOME/.jbang/bin:"* ]]; then
echo "~/.jbang/bin is not in your PATH."
echo "After installation, you can add it with:"
echo " export PATH=\"\$HOME/.jbang/bin:\$PATH\""
echo "Then run: source ~/.bashrc or source ~/.zshrc depending on your shell."
else
echo "Installed BhaiLang globally! Try using 'bhailang'..."
fi
}
uninstall_globally(){
echo "Running this command: jbang alias remove bhailang"
jbang alias remove bhailang
rm -f ~/.jbang/bin/bhailang
echo "BhaiLang alias removed."
echo "If you manually added '~/.jbang/bin' to your PATH, remove it yourself from your shell config."
echo "Then restart your terminal or run 'source ~/.bashrc' or 'source ~/.zshrc'."
}
run_onetime(){
echo "Running this command: jbang https://raw.githubusercontent.com/journeycodesayush/javabhailang/main/bhailang.java"
jbang https://raw.githubusercontent.com/journeycodesayush/javabhailang/main/bhailang.java
}
show_help() {
cat << EOF
JavaBhaiLang Installer Script
=============================
Usage:
./install.sh [OPTION]
Options:
--install Install 'bhailang' globally via JBang alias
--onetime Run 'bhailang' one time without installing
--uninstall Remove the global 'bhailang' alias
--help Show this help message
Examples:
# Install globally
./install.sh --install
# Run once without installing
./install.sh --onetime
# Uninstall the global alias
./install.sh --uninstall
Notes:
- Requires Java and JBang installed and in your PATH
- After installing globally, run REPL or scripts with:
bhailang <script.bhai>
- Script uses latest version from:
https://raw.githubusercontent.com/journeycodesayush/javabhailang/main/bhailang.java
EOF
}
# Check if Java exists
if ! command -v java &>/dev/null; then
echo "Java is not installed or not in PATH"
exit 1
fi
# Check if Java Compiler exists
if ! command -v javac &>/dev/null; then
echo "Javac is not installed or not in PATH"
exit 1
fi
# Check if JBang exists
if ! command -v jbang &>/dev/null; then
echo "JBang is not installed or not in PATH"
exit 1
fi
while [[ $# -gt 0 ]]; do
case $1 in
--help)
action="help"
;;
--install)
action="install"
;;
--onetime)
action="onetime"
;;
--uninstall)
action="uninstall"
;;
*)
action=""
echo "Invalid command: $1"
exit;
;;
esac
shift
done
if [ "$action" == "help" ]; then
show_help
exit 0
fi
if [ "$action" == "install" ]; then
install_globally
elif [ "$action" == "onetime" ]; then
run_onetime
elif [ "$action" == "uninstall" ]; then
uninstall_globally
else
echo "Invalid command. Exiting..."
fi