make gradlew-fdroid a standalone project

https://gitlab.com/fdroid/gradlew-fdroid
This commit is contained in:
Hans-Christoph Steiner 2025-07-22 17:42:22 +02:00 committed by linsui
parent e4b54c9768
commit 5049645003
8 changed files with 11 additions and 443 deletions

View file

@ -62,32 +62,6 @@ for version in sorted(versions.keys()):
with open('makebuildserver', 'w') as fp:
fp.write(makebuildserver_current)
# write out update to gradlew-fdroid
with open('gradlew-fdroid') as fp:
gradlew_fdroid = fp.read()
current = ''
get_sha_pat = re.compile(r""" +'([0-9][0-9.]+[0-9])'\)\s+echo '([0-9a-f]{64})' ;;\n""")
for m in get_sha_pat.finditer(gradlew_fdroid):
current += m.group()
checksum = m.group(2)
if checksum != versions[m.group(1)]:
print(Fore.RED
+ 'ERROR: checksum mismatch:', checksum, versions[m.group(1)]
+ Style.RESET_ALL)
errors += 1
new = ''
for version in sorted(versions.keys(), key=Version):
sha256 = versions[version]
spaces = ''
for i in range(6 - len(version)):
spaces += ' '
new += """ '%s')%s echo '%s' ;;\n""" % (version, spaces, sha256)
gradlew_fdroid = gradlew_fdroid.replace(current, new)
plugin_v = ' '.join(sorted(versions.keys(), key=Version, reverse=True))
plugin_v_pat = re.compile(r'\nplugin_v=\(([0-9. ]+)\)')
with open('gradlew-fdroid', 'w') as fp:
fp.write(plugin_v_pat.sub('\nplugin_v=(%s)' % plugin_v, gradlew_fdroid))
p = subprocess.run(['git', '--no-pager', 'diff'])
errors += p.returncode
sys.exit(errors)

View file

@ -1,75 +0,0 @@
#!/bin/bash
red='\033[0;31m'
green='\033[0;32m'
nocolor='\033[0m'
TEST_VALUE='HELLO WORLD!'
run_test() {
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"
else
printf "${red}ERROR: $2 not found in $1\n"
((exit_value++))
fi
printf $nocolor
}
download_cache_test() {
if $basedir/gradlew-fdroid helloWorld 2>/dev/null | grep -F "$TEST_VALUE"; then
printf "${green}passed: $1\n"
else
printf "${red}ERROR: \n"
$basedir/gradlew-fdroid helloWorld
((exit_value++))
fi
printf $nocolor
}
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
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
cd $tmpdir
mkdir -p download_cache_test/gradle/wrapper
cd download_cache_test
echo 'distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-bin.zip' \
> gradle/wrapper/gradle-wrapper.properties
printf "task helloWorld {\n\tdoLast {\n\t\tprintln '$TEST_VALUE'\n\t}\n}" > build.gradle
export GRADLE_VERSION_DIR=$tmpdir/gradle/versions
mkdir -p $GRADLE_VERSION_DIR
unset https_proxy
printf "download, unpack, and run: "
download_cache_test 7.3
printf "unpack and run: "
rm -rf $GRADLE_VERSION_DIR/7.3/
download_cache_test 7.3
printf "just run: "
download_cache_test 7.3
exit $exit_value