8000 Use newer version of sbt to make jenkins happy · vert-x/mod-mysql-postgresql@422b9f4 · GitHub
[go: up one dir, main page]

Skip to content

Commit 422b9f4

Browse files
committed
Use newer version of sbt to make jenkins happy
Signed-off-by: Joern Bernhardt <jb@campudus.com>
1 parent 7e25f61 commit 422b9f4

File tree

1 file changed

+68
-50
lines changed

1 file changed

+68
-50
lines changed

sbt

Lines changed: 68 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
#!/usr/bin/env bash
22
#
33
# A more capable sbt runner, coincidentally also called sbt.
4-
# Author: Paul Phillips <paulp@typesafe.com>
4+
# Author: Paul Phillips <paulp@improving.org>
55

66
# todo - make this dynamic
7-
declare -r sbt_release_version="0.13.6"
8-
declare -r sbt_unreleased_version="0.13.6"
7+
declare -r sbt_release_version="0.13.8"
8+
declare -r sbt_unreleased_version="0.13.9-M1"
99
declare -r buildProps="project/build.properties"
1010

1111
declare sbt_jar sbt_dir sbt_create sbt_version
@@ -19,7 +19,7 @@ vlog () { [[ -n "$verbose" ]] && echoerr "$@"; }
1919
# spaces are possible, e.g. sbt.version = 0.13.0
2020
build_props_sbt () {
2121
[[ -r "$buildProps" ]] && \
22-
grep '^sbt\.version' "$buildProps" | tr '=' ' ' | awk '{ print $2; }'
22+
grep '^sbt\.version' "$buildProps" | tr '=\r' ' ' | awk '{ print $2; }'
2323
}
2424

2525
update_build_props_sbt () {
@@ -105,8 +105,8 @@ declare -r default_jvm_opts_common="-Xms512m -Xmx1536m -Xss2m $jit_opts $cms_opt
105105
declare -r noshare_opts="-Dsbt.global.base=project/.sbtboot -Dsbt.boot.directory=project/.boot -Dsbt.ivy.home=project/.ivy"
106106
declare -r latest_28="2.8.2"
107107
declare -r latest_29="2.9.3"
108-
declare -r latest_210="2.10.4"
109-
declare -r latest_211="2.11.2"
108+
declare -r latest_210="2.10.5"
109+
declare -r latest_211="2.11.7"
110110

111111
declare -r script_path="$(get_script_path "$BASH_SOURCE")"
112112
declare -r script_name="${script_path##*/}"
@@ -115,7 +115,7 @@ declare -r script_name="${script_path##*/}"
115115
declare java_cmd="java"
116116
declare sbt_opts_file="$(init_default_option_file SBT_OPTS .sbtopts)"
117117
declare jvm_opts_file="$(init_default_option_file JVM_OPTS .jvmopts)"
118-
declare sbt_launch_repo="http://typesafe.artifactoryonline.com/typesafe/ivy-releases"
118+
declare sbt_launch_repo="http://repo.typesafe.com/typesafe/ivy-releases"
119119

120120
# pull -J and -D options to give to java.
121121
declare -a residual_args
@@ -126,16 +126,65 @@ declare -a sbt_commands
126126
# args to jvm/sbt via files or environment variables
127127
declare -a extra_jvm_opts extra_sbt_opts
128128

129-
# if set, use JAVA_HOME over java found in path
130-
[[ -e "$JAVA_HOME/bin/java" ]] && java_cmd="$JAVA_HOME/bin/java"
129+
addJava () {
130+
vlog "[addJava] arg = '$1'"
131+
java_args+=("$1")
132+
}
133+
addSbt () {
134+
vlog "[addSbt] arg = '$1'"
135+
sbt_commands+=("$1")
136+
}
137+
setThisBuild () {
138+
vlog "[addBuild] args = '$@'"
139+
local key="$1" && shift
140+
addSbt "set $key in ThisBuild := $@"
141+
}
142+
addScalac () {
143+
vlog "[addScalac] arg = '$1'"
144+
scalac_args+=("$1")
145+
}
146+
addResidual () {
147+
vlog "[residual] arg = '$1'"
148+
residual_args+=("$1")
149+
}
150+
addResolver () {
151+
addSbt "set resolvers += $1"
152+
}
153+
addDebugger () {
154+
addJava "-Xdebug"
155+
addJava "-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=$1"
156+
}
157+
setScalaVersion () {
158+
[[ "$1" == *"-SNAPSHOT" ]] && addResolver 'Resolver.sonatypeRepo("snapshots")'
159+
addSbt "++ $1"
160+
}
161+
setJavaHome () {
162+
java_cmd="$1/bin/java"
163+
setThisBuild javaHome "Some(file(\"$1\"))"
164+
export JAVA_HOME="$1"
165+
export JDK_HOME="$1"
166+
export PATH="$JAVA_HOME/bin:$PATH"
167+
}
168+
setJavaHomeQuietly () {
169+
addSbt warn
170+
setJavaHome "$1"
171+
addSbt info
172+
}
173+
174+
# if set, use JDK_HOME/JAVA_HOME over java found in path
175+
if [[ -e "$JDK_HOME/lib/tools.jar" ]]; then
176+
setJavaHomeQuietly "$JDK_HOME"
177+
elif [[ -e "$JAVA_HOME/bin/java" ]]; then
178+
setJavaHomeQuietly "$JAVA_HOME"
179+
fi
131180

132181
# directory to store sbt launchers
133182
declare sbt_launch_dir="$HOME/.sbt/launchers"
134183
[[ -d "$sbt_launch_dir" ]] || mkdir -p "$sbt_launch_dir"
135184
[[ -w "$sbt_launch_dir" ]] || sbt_launch_dir="$(mktemp -d -t sbt_extras_launchers.XXXXXX)"
136185

137186
java_version () {
138-
local version=$("$java_cmd" -version 2>&1 | grep -e 'java version' | awk '{ print $3 }' | tr -d \")
187+
local version=$("$java_cmd" -version 2>&1 | grep -E -e '(java|openjdk) version' | awk '{ print $3 }' | tr -d \")
139188
vlog "Detected Java version: $version"
140189
echo "${version:2:1}"
141190
}
@@ -195,7 +244,7 @@ download_url () {
195244

196245
mkdir -p "${jar%/*}" && {
197246
if which curl >/dev/null; then
198-
curl --fail --silent "$url" --output "$jar"
247+
curl --fail --silent --location "$url" --output "$jar"
199248
elif which wget >/dev/null; then
200249
wget --quiet -O "$jar" "$url"
201250
fi
@@ -280,40 +329,6 @@ runner with the -x option.
280329
EOM
281330
}
282331

283-
addJava () {
284-
vlog "[addJava] arg = '$1'"
285-
java_args=( "${java_args[@]}" "$1" )
286-
}
287-
addSbt () {
288-
vlog "[addSbt] arg = '$1'"
289-
sbt_commands=( "${sbt_commands[@]}" "$1" )
290-
}
291-
setThisBuild () {
292-
vlog "[addBuild] args = '$@'"
293-
local key="$1" && shift
294-
addSbt "set $key in ThisBuild := $@"
295-
}
296-
297-
addScalac () {
298-
vlog "[addScalac] arg = '$1'"
299-
scalac_args=( "${scalac_args[@]}" "$1" )
300-
}
301-
addResidual () {
302-
vlog "[residual] arg = '$1'"
303-
residual_args=( "${residual_args[@]}" "$1" )
304-
}
305-
addResolver () {
306-
addSbt "set resolvers += $1"
307-
}
308-
addDebugger () {
309-
addJava "-Xdebug"
310-
addJava "-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=$1"
311-
}
312-
setScalaVersion () {
313-
[[ "$1" == *"-SNAPSHOT" ]] && addResolver 'Resolver.sonatypeRepo("snapshots")'
314-
addSbt "++ $1"
315-
}
316-
317332
process_args ()
318333
{
319334
require_arg () {
@@ -329,9 +344,9 @@ process_args ()
329344
case "$1" in
330345
-h|-help) usage; exit 1 ;;
331346
-v) verbose=true && shift ;;
332-
-d) addSbt "--debug" && shift ;;
333-
-w) addSbt "--warn" && shift ;;
334-
-q) addSbt "--error" && shift ;;
347+
-d) addSbt "--debug" && addSbt debug && shift ;;
348+
-w) addSbt "--warn" && addSbt warn && shift ;;
349+
-q) addSbt "--error" && addSbt error && shift ;;
335350
-x) debugUs=true && shift ;;
336351
-trace) require_arg integer "$1" "$2" && trace_level="$2" && shift 2 ;;
337352
-ivy) require_arg path "$1" "$2" && addJava "-Dsbt.ivy.home=$2" && shift 2 ;;
@@ -355,7 +370,7 @@ process_args ()
355370
-scala-version) require_arg version "$1" "$2" && setScalaVersion "$2" && shift 2 ;;
356371
-binary-version) require_arg version "$1" "$2" && setThisBuild scalaBinaryVersion "\"$2\"" && shift 2 ;;
357372
-scala-home) require_arg path "$1" "$2" && setThisBuild scalaHome "Some(file(\"$2\"))" && shift 2 ;;
358-
-java-home) require_arg path "$1" "$2" && java_cmd="$2/bin/java" && shift 2 ;;
373+
-java-home) require_arg path "$1" "$2" && setJavaHome "$2" && shift 2 ;;
359374
-sbt-opts) require_arg path "$1" "$2" && sbt_opts_file="$2" && shift 2 ;;
360375
-jvm-opts) require_arg path "$1" "$2" && jvm_opts_file="$2" && shift 2 ;;
361376

@@ -367,6 +382,9 @@ process_args ()
367382
-210) setScalaVersion "$latest_210" && shift ;;
368383
-211) setScalaVersion "$latest_211" && shift ;;
369384

385+
--debug) addSbt debug && addResidual "$1" && shift ;;
386+
--warn) addSbt warn && addResidual "$1" && shift ;;
387+
--error) addSbt error && addResidual "$1" && shift ;;
370388
*) addResidual "$1" && shift ;;
371389
esac
372390
done
@@ -522,4 +540,4 @@ mainFiltered () {
522540
shouldFilter () { [[ -f ~/.sbtignore ]] && ! egrep -q '\b(shell|console|consoleProject)\b' <<<"${residual_args[@]}"; }
523541

524542
# run sbt
525-
if shouldFilter; then mainFiltered; else main; fi
543+
if shouldFilter; then mainFiltered; else main; fi

0 commit comments

Comments
 (0)
0