Browse Source

gradlew-fdroid: fix random failures due to empty $line, closes #815

merge-requests/784/head
Hans-Christoph Steiner 3 months ago
parent
commit
f8a1b45df5
2 changed files with 18 additions and 7 deletions
  1. +2
    -2
      gradlew-fdroid
  2. +16
    -5
      tests/test-gradlew-fdroid

+ 2
- 2
gradlew-fdroid View File

@ -168,7 +168,7 @@ v_all=${plugin_v[@]}
for f in {.,..}/gradle/wrapper/gradle-wrapper.properties; do
[[ -f $f ]] || continue
while IFS='' read -r line || [ -n "$line" ]; do
line=$(printf $line | tr -d '\r') # strip Windows linefeeds
line=$(printf "$line" | tr -d '\r') # strip Windows linefeeds
if [[ $line == 'distributionUrl='* ]]; then
wrapper_ver=${line#*/gradle-}
wrapper_ver=${wrapper_ver%-*.zip}
@ -187,7 +187,7 @@ fi
for f in {.,..}/build.gradle{,.kts}; do
[[ -f $f ]] || continue
while IFS='' read -r line || [ -n "$line" ]; do
line=$(printf $line | tr -d '\r') # strip Windows linefeeds
line=$(printf "$line" | tr -d '\r') # strip Windows linefeeds
if [[ -z "$plugin_pver" && $line == *'com.android.tools.build:gradle:'* ]]; then
plugin_pver=${line#*[\'\"]com.android.tools.build:gradle:}
plugin_pver=${plugin_pver%[\'\"]*}

+ 16
- 5
tests/test-gradlew-fdroid View File

@ -4,7 +4,7 @@ run_test() {
red='\033[0;31m'
green='\033[0;32m'
nocolor='\033[0m'
cd $basedir/tests/source-files/$1
cd $source_files/$1
printf "\n${1}:\n"
if ($basedir/gradlew-fdroid 2>/dev/null || true) | grep -Fo "$2"; then
printf "${green}passed: $1\n"
@ -17,15 +17,26 @@ run_test() {
exit_value=0
basedir=$(cd $(dirname $0)/..; pwd)
source_files=$basedir/tests/source-files
export https_proxy=127.7.7.7:7 # fake proxy to block downloading
# force test file to have Windows linefeeds
sed -i -e $'s/\r$//' -e $'s/$/\r/' \
$basedir/tests/source-files/yuriykulikov/AlarmClock/gradle/wrapper/gradle-wrapper.properties
run_test osmandapp/osmand 2.2.1
run_test com.integreight.onesheeld 3.3
run_test se.manyver/android 5.5
run_test yuriykulikov/AlarmClock 5.1.1
printf "\n\nforce test files to have Windows linefeeds:\n"
tmpdir=`mktemp -d`
cp -a $source_files/osmandapp $source_files/yuriykulikov $tmpdir/
awk 'sub("$", "\r")' \
$source_files/yuriykulikov/AlarmClock/gradle/wrapper/gradle-wrapper.properties \
> $tmpdir/yuriykulikov/AlarmClock/gradle/wrapper/gradle-wrapper.properties
awk 'sub("$", "\r")' \
$source_files/osmandapp/osmand/build.gradle \
> $tmpdir/osmandapp/osmand/build.gradle
source_files=$tmpdir
run_test yuriykulikov/AlarmClock 5.1.1
run_test osmandapp/osmand 2.2.1
exit $exit_value

Loading…
Cancel
Save