From 12653741cc8b7d6def87ae181d01f7b2936f878f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Thu, 15 Sep 2016 19:10:18 +0100 Subject: [PATCH 1/2] gradle: delay calculating some versions Simplifies the wrapper script. --- buildserver/gradle | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/buildserver/gradle b/buildserver/gradle index 1be284ac..ea7b7006 100755 --- a/buildserver/gradle +++ b/buildserver/gradle @@ -5,9 +5,6 @@ basedir="$(dirname $bindir)" verdir="${basedir}/versions" args=("$@") -v_all=($(cd "${verdir}" && ls | sort -rV)) -echo "Available gradle versions: ${v_all[@]}" - run_gradle() { "${verdir}/${v_found}/bin/gradle" "${args[@]}" exit $? @@ -29,13 +26,8 @@ d_plugin_v=(2.14.1 2.14.1 2.12 2.12 2.4 2.4 2.3 2.2.1 2.2.1 2.1 2.1 1.12 1.12 # All gradle versions we know about plugin_v=(3.0 2.14.1 2.14 2.13 2.12 2.11 2.10 2.9 2.8 2.7 2.6 2.5 2.4 2.3 2.2.1 2.2 2.1 1.12 1.11 1.10 1.9 1.8 1.7 1.6 1.4) -# Find the highest version available -for v in ${plugin_v[*]}; do - if contains $v "${v_all[*]}"; then - v_def=$v - break - fi -done +v_all=${plugin_v[@]} +echo "Available gradle versions: ${v_all[@]}" # Earliest takes priority for f in build.gradle ../build.gradle; do @@ -72,6 +64,14 @@ if [[ -n $plugin_pver ]]; then fi fi +# Find the highest version available +for v in ${plugin_v[*]}; do + if contains $v "${v_all[*]}"; then + v_def=$v + break + fi +done + if [[ -z $v_found ]]; then echo "No suitable gradle version found - defaulting to $v_def" v_found=$v_def From 737dbc4f0a1c6c31415f85ec14c8575ce4d19458 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Thu, 15 Sep 2016 19:14:40 +0100 Subject: [PATCH 2/2] gradle: support gradle-wrapper.properties version Brings our wrapper closer to gradlew's functionality. Updates #98. --- buildserver/gradle | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/buildserver/gradle b/buildserver/gradle index ea7b7006..0ab39784 100755 --- a/buildserver/gradle +++ b/buildserver/gradle @@ -30,7 +30,23 @@ v_all=${plugin_v[@]} echo "Available gradle versions: ${v_all[@]}" # Earliest takes priority -for f in build.gradle ../build.gradle; do +for f in {.,..}/gradle/wrapper/gradle-wrapper.properties; do + [[ -f $f ]] || continue + while read l; do + if [[ $l == 'distributionUrl='* ]]; then + wrapper_ver=$(echo -n "$l" | sed "s/.*gradle-\\([0-9\\.\\+]\\+\\).*/\\1/") + fi + done < $f +done + +if [[ -n $wrapper_ver ]]; then + v_found=$wrapper_ver + echo "Found $v_found via distributionUrl" + run_gradle +fi + +# Earliest takes priority +for f in {.,..}/build.gradle; do [[ -f $f ]] || continue while read l; do if [[ -z "$plugin_pver" && $l == *'com.android.tools.build:gradle:'* ]]; then