forked from SeleniumHQ/selenium
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathgo
executable file
·43 lines (33 loc) · 1.19 KB
/
go
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
#!/usr/bin/env bash
# we want jruby-complete to take care of all things ruby
unset GEM_HOME
unset GEM_PATH
JAVA_OPTS="-client -Xmx4096m -XX:ReservedCodeCacheSize=512m -XX:MetaspaceSize=1024m --add-modules java.se --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.base/javax.crypto=ALL-UNNAMED"
# This code supports both:
# ./go "namespace:task[--arg1,--arg2]" --rake-flag
# ./go namespace:task --arg1 --arg2 -- --rake-flag
# The first argument is always the Rake task name
task="$1"
shift
# Initialize arrays for rake flags and task arguments
rake_flags=()
task_args=()
# Arguments before -- are task arguments
while [ $# -gt 0 ]; do
if [ "$1" = "--" ]; then
shift
break
fi
task_args+=("$1")
shift
done
# Remaining arguments are rake flags
rake_flags=("$@")
# If we have task args, format them
if [ ${#task_args[@]} -gt 0 ]; then
# Convert task args array to comma-separated string
args=$(IFS=','; echo "${task_args[*]}")
task="$task[$args]"
echo "Executing rake task: $task"
fi
java $JAVA_OPTS -jar third_party/jruby/jruby-complete.jar -X-C -S rake $task "${rake_flags[@]}"