mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-10-06 11:00:13 +02:00
Merge branch 'improve_gradlew-fdroid' into 'master'
Improve gradlew fdroid See merge request fdroid/fdroidserver!535
This commit is contained in:
commit
be54f1e82a
@ -17,8 +17,9 @@ run_gradle() {
|
|||||||
if [ ! -d "${gradle_version_dir}/${v_found}" ]; then
|
if [ ! -d "${gradle_version_dir}/${v_found}" ]; then
|
||||||
download_gradle ${v_found}
|
download_gradle ${v_found}
|
||||||
fi
|
fi
|
||||||
"${gradle_version_dir}/${v_found}/bin/gradle" "${args[@]}"
|
echo "Running ${gradle_version_dir}/${v_found}/bin/gradle ${args[@]}"
|
||||||
exit $?
|
"${gradle_version_dir}/${v_found}/bin/gradle" "${args[@]}"
|
||||||
|
exit $?
|
||||||
}
|
}
|
||||||
|
|
||||||
download_gradle() {
|
download_gradle() {
|
||||||
@ -41,8 +42,8 @@ download_gradle() {
|
|||||||
else
|
else
|
||||||
tmpdir=$(mktemp -d)
|
tmpdir=$(mktemp -d)
|
||||||
fi
|
fi
|
||||||
curl -o "${tmpdir}/gradle.zip" --silent --fail --show-error --location "${URL}"
|
curl -o "${tmpdir}/gradle-$1-bin.zip" --silent --fail --show-error --location "${URL}"
|
||||||
gradle_zip="${tmpdir}/gradle.zip"
|
gradle_zip="${tmpdir}/gradle-$1-bin.zip"
|
||||||
fi
|
fi
|
||||||
echo "${shasum} ${gradle_zip}" | sha256sum -c -
|
echo "${shasum} ${gradle_zip}" | sha256sum -c -
|
||||||
if [ $? != 0 ]; then
|
if [ $? != 0 ]; then
|
||||||
@ -111,11 +112,11 @@ get_sha() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
contains() {
|
contains() {
|
||||||
local e
|
local e
|
||||||
for e in $2; do
|
for e in $2; do
|
||||||
[[ $e == $1 ]] && return 0;
|
[[ $e == $1 ]] && return 0;
|
||||||
done
|
done
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
# key-value pairs of what gradle version (value) each gradle plugin version
|
# key-value pairs of what gradle version (value) each gradle plugin version
|
||||||
@ -132,66 +133,66 @@ v_all=${plugin_v[@]}
|
|||||||
|
|
||||||
# Earliest takes priority
|
# Earliest takes priority
|
||||||
for f in {.,..}/gradle/wrapper/gradle-wrapper.properties; do
|
for f in {.,..}/gradle/wrapper/gradle-wrapper.properties; do
|
||||||
[[ -f $f ]] || continue
|
[[ -f $f ]] || continue
|
||||||
while read l; do
|
while read l; do
|
||||||
if [[ $l == 'distributionUrl='* ]]; then
|
if [[ $l == 'distributionUrl='* ]]; then
|
||||||
wrapper_ver=$(echo -n "$l" | sed "s/.*gradle-\\([0-9\\.\\+]\\+\\).*/\\1/")
|
wrapper_ver=$(echo -n "$l" | sed "s/.*gradle-\\([0-9\\.\\+]\\+\\).*/\\1/")
|
||||||
fi
|
fi
|
||||||
done < $f
|
done < $f
|
||||||
done
|
done
|
||||||
|
|
||||||
if [[ -n $wrapper_ver ]]; then
|
if [[ -n $wrapper_ver ]]; then
|
||||||
v_found=$wrapper_ver
|
v_found=$wrapper_ver
|
||||||
echo "Found $v_found via distributionUrl"
|
echo "Found $v_found via distributionUrl"
|
||||||
run_gradle
|
run_gradle
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Earliest takes priority
|
# Earliest takes priority
|
||||||
for f in {.,..}/build.gradle; do
|
for f in {.,..}/build.gradle; do
|
||||||
[[ -f $f ]] || continue
|
[[ -f $f ]] || continue
|
||||||
while read l; do
|
while read l; do
|
||||||
if [[ -z "$plugin_pver" && $l == *'com.android.tools.build:gradle:'* ]]; then
|
if [[ -z "$plugin_pver" && $l == *'com.android.tools.build:gradle:'* ]]; then
|
||||||
plugin_pver=$(echo -n "$l" | sed "s/.*com.android.tools.build:gradle:\\([0-9\\.\\+]\\+\\).*/\\1/")
|
plugin_pver=$(echo -n "$l" | sed "s/.*com.android.tools.build:gradle:\\([0-9\\.\\+]\\+\\).*/\\1/")
|
||||||
elif [[ -z "$wrapper_ver" && $l == *'gradleVersion = '* ]]; then
|
elif [[ -z "$wrapper_ver" && $l == *'gradleVersion = '* ]]; then
|
||||||
wrapper_ver=$(echo -n "$l" | sed "s/.*gradleVersion *=* *[\"']\\([0-9\\.]\\+\\)[\"'].*/\\1/")
|
wrapper_ver=$(echo -n "$l" | sed "s/.*gradleVersion *=* *[\"']\\([0-9\\.]\\+\\)[\"'].*/\\1/")
|
||||||
fi
|
fi
|
||||||
done < $f
|
done < $f
|
||||||
done
|
done
|
||||||
|
|
||||||
if [[ -n $wrapper_ver ]]; then
|
if [[ -n $wrapper_ver ]]; then
|
||||||
v_found=$wrapper_ver
|
v_found=$wrapper_ver
|
||||||
echo "Found $v_found via gradleVersion"
|
echo "Found $v_found via gradleVersion"
|
||||||
run_gradle
|
run_gradle
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -n $plugin_pver ]]; then
|
if [[ -n $plugin_pver ]]; then
|
||||||
i=0
|
i=0
|
||||||
match=false
|
match=false
|
||||||
for k in ${d_plugin_k[@]}; do
|
for k in ${d_plugin_k[@]}; do
|
||||||
if [[ $plugin_pver == ${k}* ]]; then
|
if [[ $plugin_pver == ${k}* ]]; then
|
||||||
plugin_ver=${d_plugin_v[$i]}
|
plugin_ver=${d_plugin_v[$i]}
|
||||||
match=true
|
match=true
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
let i++
|
let i++
|
||||||
done
|
done
|
||||||
if $match; then
|
if $match; then
|
||||||
v_found=$plugin_ver
|
v_found=$plugin_ver
|
||||||
echo "Found $v_found via gradle plugin version $k"
|
echo "Found $v_found via gradle plugin version $k"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Find the highest version available
|
# Find the highest version available
|
||||||
for v in ${plugin_v[*]}; do
|
for v in ${plugin_v[*]}; do
|
||||||
if contains $v "${v_all[*]}"; then
|
if contains $v "${v_all[*]}"; then
|
||||||
v_def=$v
|
v_def=$v
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
if [[ -z $v_found ]]; then
|
if [[ -z $v_found ]]; then
|
||||||
echo "No suitable gradle version found - defaulting to $v_def"
|
echo "No suitable gradle version found - defaulting to $v_def"
|
||||||
v_found=$v_def
|
v_found=$v_def
|
||||||
fi
|
fi
|
||||||
|
|
||||||
run_gradle
|
run_gradle
|
||||||
|
Loading…
Reference in New Issue
Block a user