mirror of
				https://github.com/f-droid/fdroidserver.git
				synced 2025-11-04 06:30:27 +03:00 
			
		
		
		
	make gradlew-fdroid a standalone project
https://gitlab.com/fdroid/gradlew-fdroid
This commit is contained in:
		
							parent
							
								
									e4b54c9768
								
							
						
					
					
						commit
						5049645003
					
				
					 8 changed files with 11 additions and 443 deletions
				
			
		| 
						 | 
				
			
			@ -220,21 +220,6 @@ ubuntu_jammy_pip:
 | 
			
		|||
    - LANGUAGE='de' fdroid --help | grep 'Gültige Befehle sind'
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# The gradlew-fdroid tests are isolated from the rest of the test
 | 
			
		||||
# suite, so they run as their own job.
 | 
			
		||||
gradlew-fdroid:
 | 
			
		||||
  image: debian:bookworm-slim
 | 
			
		||||
  <<: *apt-template
 | 
			
		||||
  rules:
 | 
			
		||||
    - changes:
 | 
			
		||||
        - .gitlab-ci.yml
 | 
			
		||||
        - gradlew-fdroid
 | 
			
		||||
        - tests/test_gradlew-fdroid
 | 
			
		||||
  script:
 | 
			
		||||
    - apt-get install ca-certificates curl default-jdk-headless unzip
 | 
			
		||||
    - ./tests/test_gradlew-fdroid
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Run all the various linters and static analysis tools.
 | 
			
		||||
hooks/pre-commit:
 | 
			
		||||
  stage: lint
 | 
			
		||||
| 
						 | 
				
			
			@ -294,11 +279,9 @@ shellcheck:
 | 
			
		|||
  rules:
 | 
			
		||||
    - changes:
 | 
			
		||||
        - .gitlab-ci.yml
 | 
			
		||||
        - gradlew-fdroid
 | 
			
		||||
        - hooks/install-hooks.sh
 | 
			
		||||
        - hooks/pre-commit
 | 
			
		||||
        - tests/run-tests
 | 
			
		||||
        - tests/test_gradlew-fdroid
 | 
			
		||||
  <<: *apt-template
 | 
			
		||||
  script:
 | 
			
		||||
    - apt-get install shellcheck
 | 
			
		||||
| 
						 | 
				
			
			@ -307,10 +290,6 @@ shellcheck:
 | 
			
		|||
        hooks/install-hooks.sh
 | 
			
		||||
        hooks/pre-commit
 | 
			
		||||
        tests/run-tests
 | 
			
		||||
    # TODO make the gradlew things pass the standard above
 | 
			
		||||
    - shellcheck --severity=error --color
 | 
			
		||||
        gradlew-fdroid
 | 
			
		||||
        tests/test_gradlew-fdroid
 | 
			
		||||
 | 
			
		||||
# Check all the dependencies in Debian to mirror production.  CVEs are
 | 
			
		||||
# generally fixed in the latest versions in pip/pypi.org, so it isn't
 | 
			
		||||
| 
						 | 
				
			
			@ -468,7 +447,7 @@ macOS:
 | 
			
		|||
 | 
			
		||||
    - echo "macOS sticks with bash 3.x because of licenses, so avoid new bash syntax"
 | 
			
		||||
    - /bin/bash --version
 | 
			
		||||
    - /bin/bash -n gradlew-fdroid tests/run-tests
 | 
			
		||||
    - /bin/bash -n tests/run-tests
 | 
			
		||||
 | 
			
		||||
    # test fdroidserver from git with current package's dependencies
 | 
			
		||||
    - fdroid="$(brew --prefix fdroidserver)/libexec/bin/python3 $PWD/fdroid" ./tests/run-tests
 | 
			
		||||
| 
						 | 
				
			
			@ -480,7 +459,6 @@ gradle:
 | 
			
		|||
  rules:
 | 
			
		||||
    - changes:
 | 
			
		||||
        - .gitlab-ci.yml
 | 
			
		||||
        - gradlew-fdroid
 | 
			
		||||
        - makebuildserver
 | 
			
		||||
  script:
 | 
			
		||||
    - apt-get install
 | 
			
		||||
| 
						 | 
				
			
			@ -543,6 +521,8 @@ fdroid build:
 | 
			
		|||
          env HOME=$home_vagrant
 | 
			
		||||
          fdroid"
 | 
			
		||||
 | 
			
		||||
    - git -C $home_vagrant/gradlew-fdroid pull
 | 
			
		||||
 | 
			
		||||
    - chown -R vagrant $home_vagrant
 | 
			
		||||
    - chown -R vagrant $fdroidserver/.git
 | 
			
		||||
    - chown vagrant $fdroidserver/
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -25,7 +25,12 @@ fi
 | 
			
		|||
chmod -R a+rX /opt/gradle
 | 
			
		||||
 | 
			
		||||
test -e /opt/gradle/bin || mkdir -p /opt/gradle/bin
 | 
			
		||||
ln -fs /home/vagrant/fdroidserver/gradlew-fdroid /opt/gradle/bin/gradle
 | 
			
		||||
git clone --depth 1 https://gitlab.com/fdroid/gradlew-fdroid.git /home/vagrant/gradlew-fdroid/
 | 
			
		||||
chmod 0755 /home/vagrant/gradlew-fdroid/gradlew-fdroid
 | 
			
		||||
chmod -R u+rwX,a+rX,go-w /home/vagrant/gradlew-fdroid/
 | 
			
		||||
ln -fs /home/vagrant/gradlew-fdroid/gradlew-fdroid /opt/gradle/bin/gradle
 | 
			
		||||
ln -fs /home/vagrant/gradlew-fdroid/gradlew-fdroid /usr/local/bin/
 | 
			
		||||
 | 
			
		||||
chown -h vagrant:vagrant /opt/gradle/bin/gradle
 | 
			
		||||
chown vagrant:vagrant /opt/gradle/versions
 | 
			
		||||
chmod 0755 /opt/gradle/versions
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -155,9 +155,7 @@ def build_server(app, build, vcs, build_dir, output_dir, log_dir, force):
 | 
			
		|||
        ftp.mkdir('fdroidserver')
 | 
			
		||||
        ftp.chdir('fdroidserver')
 | 
			
		||||
        ftp.put(os.path.join(serverpath, '..', 'fdroid'), 'fdroid')
 | 
			
		||||
        ftp.put(os.path.join(serverpath, '..', 'gradlew-fdroid'), 'gradlew-fdroid')
 | 
			
		||||
        ftp.chmod('fdroid', 0o755)  # nosec B103 permissions are appropriate
 | 
			
		||||
        ftp.chmod('gradlew-fdroid', 0o755)  # nosec B103 permissions are appropriate
 | 
			
		||||
        send_dir(os.path.join(serverpath))
 | 
			
		||||
        ftp.chdir(homedir)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -184,7 +184,7 @@ default_config = {
 | 
			
		|||
    'scan_binary': False,
 | 
			
		||||
    'ant': "ant",
 | 
			
		||||
    'mvn3': "mvn",
 | 
			
		||||
    'gradle': os.path.join(FDROID_PATH, 'gradlew-fdroid'),
 | 
			
		||||
    'gradle': shutil.which('gradlew-fdroid'),
 | 
			
		||||
    'sync_from_local_copy_dir': False,
 | 
			
		||||
    'allow_disabled_algorithms': False,
 | 
			
		||||
    'keep_when_not_allowed': False,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										314
									
								
								gradlew-fdroid
									
										
									
									
									
								
							
							
						
						
									
										314
									
								
								gradlew-fdroid
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1,314 +0,0 @@
 | 
			
		|||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
bindir="$(dirname $0)"
 | 
			
		||||
basedir="$(dirname $bindir)"
 | 
			
		||||
# Check if GRADLE_VERSION_DIR/CACHEDIR is set from environment
 | 
			
		||||
if [ -z "$GRADLE_VERSION_DIR" ]; then
 | 
			
		||||
    gradle_version_dir="${basedir}/versions"
 | 
			
		||||
else
 | 
			
		||||
    gradle_version_dir="$GRADLE_VERSION_DIR"
 | 
			
		||||
fi
 | 
			
		||||
BUILDSERVER_CACHEDIR=/vagrant/cache
 | 
			
		||||
if [ -n "$CACHEDIR" ]; then
 | 
			
		||||
    cachedir="$CACHEDIR"
 | 
			
		||||
elif [ -d $BUILDSERVER_CACHEDIR ]; then
 | 
			
		||||
    cachedir=$BUILDSERVER_CACHEDIR
 | 
			
		||||
fi
 | 
			
		||||
args=("$@")
 | 
			
		||||
 | 
			
		||||
run_gradle() {
 | 
			
		||||
    if [ ! -d "${gradle_version_dir}/${v_found}" ]; then
 | 
			
		||||
        download_gradle ${v_found}
 | 
			
		||||
    fi
 | 
			
		||||
    # shellcheck disable=SC2145
 | 
			
		||||
    echo "Running ${gradle_version_dir}/${v_found}/bin/gradle ${args[@]}"
 | 
			
		||||
    "${gradle_version_dir}/${v_found}/bin/gradle" "${args[@]}"
 | 
			
		||||
    exit $?
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
download_gradle() {
 | 
			
		||||
    URL="https://downloads.gradle.org/distributions/gradle-${1}-bin.zip"
 | 
			
		||||
    shasum=$(get_sha $1)
 | 
			
		||||
    if [ $? != 0 ]; then
 | 
			
		||||
        echo "No hash for gradle version $1! Exiting..."
 | 
			
		||||
        exit 1
 | 
			
		||||
    fi
 | 
			
		||||
    if [ -n "${cachedir}" ] && [ -e "${cachedir}/gradle-$1-bin.zip" ]; then
 | 
			
		||||
        echo "Using cached ${cachedir}/gradle-$1-bin.zip ..."
 | 
			
		||||
        gradle_zip="${cachedir}/gradle-$1-bin.zip"
 | 
			
		||||
    else
 | 
			
		||||
        echo "Downloading missing gradle version $1"
 | 
			
		||||
        echo cachedir $cachedir
 | 
			
		||||
        if [[ -n "${cachedir}" && ! -d "${cachedir}" ]]; then
 | 
			
		||||
            mkdir -p "${cachedir}"
 | 
			
		||||
        fi
 | 
			
		||||
        if [[ -n "${cachedir}" && -d "${cachedir}" && -w "${cachedir}" ]]; then
 | 
			
		||||
            tmpdir="${cachedir}"
 | 
			
		||||
        else
 | 
			
		||||
            tmpdir=$(mktemp -d)
 | 
			
		||||
        fi
 | 
			
		||||
        curl -o "${tmpdir}/gradle-$1-bin.zip" --silent --fail --show-error --location --retry 3 --retry-all-errors "${URL}"
 | 
			
		||||
        gradle_zip="${tmpdir}/gradle-$1-bin.zip"
 | 
			
		||||
    fi
 | 
			
		||||
    echo "${shasum} ${gradle_zip}" | sha256sum -c -
 | 
			
		||||
    if [ $? != 0 ]; then
 | 
			
		||||
        echo "gradle download checksum mismatch! Exiting..."
 | 
			
		||||
        exit 1
 | 
			
		||||
    fi
 | 
			
		||||
    mkdir -p "${gradle_version_dir}/"
 | 
			
		||||
    unzip -q -d "${gradle_version_dir}" "${gradle_zip}"
 | 
			
		||||
    mv "${gradle_version_dir}/gradle-$1" "${gradle_version_dir}/${v_found}"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
get_sha() {
 | 
			
		||||
    case $1 in
 | 
			
		||||
        '0.7')    echo '4e354fcb0d5c0b0e7789cd6ee900456edaf993f6dd890c4a1c217d90d2a6a6ad' ;;
 | 
			
		||||
        '0.8')    echo '940e623ea98e40ea9ad398770a6ebb91a61c0869d394dda81aa86b0f4f0025e7' ;;
 | 
			
		||||
        '0.9')    echo '994e46d4b467254a0f25ce92b602618331b9b3ac8b32a094fd84ff0e0ceec135' ;;
 | 
			
		||||
        '0.9.1')  echo '5d48cba95db031ec109ae9ab60561e960b6507046036e8191aa78572ec27e2a5' ;;
 | 
			
		||||
        '0.9.2')  echo 'f94d7642348c558fc05ab5fd6fb947fb1ed8fed5931ddb73dd04fb0de22d669b' ;;
 | 
			
		||||
        '1.0')    echo '894bca0360a7e2040815096788f118a2dd106ff6694221b274efb9c32bce0384' ;;
 | 
			
		||||
        '1.1')    echo '552c1fc9f3a1b9668b79cc447370f0263e664ffb6d5c6e1c21e77ce0c8a20d4c' ;;
 | 
			
		||||
        '1.2')    echo 'eb53da3704d24cabb7565f34a3bf16bcd863c4b0c139917606fb15d4f27c7bdf' ;;
 | 
			
		||||
        '1.3')    echo 'ada68561efbb9f1cae0f9063974cbde15c180351a2f92bc2f1106e39ddcae5ba' ;;
 | 
			
		||||
        '1.4')    echo 'cd99e85fbcd0ae8b99e81c9992a2f10cceb7b5f009c3720ef3a0078f4f92e94e' ;;
 | 
			
		||||
        '1.5')    echo 'a5511a0659caa47d9d74fd2844c9da43157d2f78e63a0223c6289d88f5aaecbe' ;;
 | 
			
		||||
        '1.6')    echo 'de3e89d2113923dcc2e0def62d69be0947ceac910abd38b75ec333230183fac4' ;;
 | 
			
		||||
        '1.7')    echo '360c97d51621b5a1ecf66748c718594e5f790ae4fbc1499543e0c006033c9d30' ;;
 | 
			
		||||
        '1.8')    echo 'a342bbfa15fd18e2482287da4959588f45a41b60910970a16e6d97959aea5703' ;;
 | 
			
		||||
        '1.9')    echo '097ddc2bcbc9da2bb08cbf6bf8079585e35ad088bafd42e8716bc96405db98e9' ;;
 | 
			
		||||
        '1.10')   echo '6e6db4fc595f27ceda059d23693b6f6848583950606112b37dfd0e97a0a0a4fe' ;;
 | 
			
		||||
        '1.11')   echo '07e235df824964f0e19e73ea2327ce345c44bcd06d44a0123d29ab287fc34091' ;;
 | 
			
		||||
        '1.12')   echo '8734b13a401f4311ee418173ed6ca8662d2b0a535be8ff2a43ecb1c13cd406ea' ;;
 | 
			
		||||
        '2.0')    echo 'a1eb880c8755333c4d33c4351b269bebe517002532d3142c0b6164c9e8c081c3' ;;
 | 
			
		||||
        '2.1')    echo '3eee4f9ea2ab0221b89f8e4747a96d4554d00ae46d8d633f11cfda60988bf878' ;;
 | 
			
		||||
        '2.2')    echo '91e5655fe11ef414449f218c4fa2985b3a49b7903c57556da109c84fa26e1dfb' ;;
 | 
			
		||||
        '2.2.1')  echo '420aa50738299327b611c10b8304b749e8d3a579407ee9e755b15921d95ff418' ;;
 | 
			
		||||
        '2.3')    echo '010dd9f31849abc3d5644e282943b1c1c355f8e2635c5789833979ce590a3774' ;;
 | 
			
		||||
        '2.4')    echo 'c4eaecc621a81f567ded1aede4a5ddb281cc02a03a6a87c4f5502add8fc2f16f' ;;
 | 
			
		||||
        '2.5')    echo '3f953e0cb14bb3f9ebbe11946e84071547bf5dfd575d90cfe9cc4e788da38555' ;;
 | 
			
		||||
        '2.6')    echo '18a98c560af231dfa0d3f8e0802c20103ae986f12428bb0a6f5396e8f14e9c83' ;;
 | 
			
		||||
        '2.7')    echo 'cde43b90945b5304c43ee36e58aab4cc6fb3a3d5f9bd9449bb1709a68371cb06' ;;
 | 
			
		||||
        '2.8')    echo 'a88db9c2f104defdaa8011c58cf6cda6c114298ae3695ecfb8beb30da3a903cb' ;;
 | 
			
		||||
        '2.9')    echo 'c9159ec4362284c0a38d73237e224deae6139cbde0db4f0f44e1c7691dd3de2f' ;;
 | 
			
		||||
        '2.10')   echo '66406247f745fc6f05ab382d3f8d3e120c339f34ef54b86f6dc5f6efc18fbb13' ;;
 | 
			
		||||
        '2.11')   echo '8d7437082356c9fd6309a4479c8db307673965546daea445c6c72759cd6b1ed6' ;;
 | 
			
		||||
        '2.12')   echo 'e77064981906cd0476ff1e0de3e6fef747bd18e140960f1915cca8ff6c33ab5c' ;;
 | 
			
		||||
        '2.13')   echo '0f665ec6a5a67865faf7ba0d825afb19c26705ea0597cec80dd191b0f2cbb664' ;;
 | 
			
		||||
        '2.14')   echo '993b4f33b652c689e9721917d8e021cab6bbd3eae81b39ab2fd46fdb19a928d5' ;;
 | 
			
		||||
        '2.14.1') echo 'cfc61eda71f2d12a572822644ce13d2919407595c2aec3e3566d2aab6f97ef39' ;;
 | 
			
		||||
        '3.0')    echo '39c906941a474444afbddc38144ed44166825acb0a57b0551dddb04bbf157f80' ;;
 | 
			
		||||
        '3.1')    echo 'c7de3442432253525902f7e8d7eac8b5fd6ce1623f96d76916af6d0e383010fc' ;;
 | 
			
		||||
        '3.2')    echo '5321b36837226dc0377047a328f12010f42c7bf88ee4a3b1cee0c11040082935' ;;
 | 
			
		||||
        '3.2.1')  echo '9843a3654d3e57dce54db06d05f18b664b95c22bf90c6becccb61fc63ce60689' ;;
 | 
			
		||||
        '3.3')    echo 'c58650c278d8cf0696cab65108ae3c8d95eea9c1938e0eb8b997095d5ca9a292' ;;
 | 
			
		||||
        '3.4')    echo '72d0cd4dcdd5e3be165eb7cd7bbd25cf8968baf400323d9ab1bba622c3f72205' ;;
 | 
			
		||||
        '3.4.1')  echo 'db1db193d479cc1202be843f17e4526660cfb0b21b57d62f3a87f88c878af9b2' ;;
 | 
			
		||||
        '3.5')    echo '0b7450798c190ff76b9f9a3d02e18b33d94553f708ebc08ebe09bdf99111d110' ;;
 | 
			
		||||
        '3.5.1')  echo '8dce35f52d4c7b4a4946df73aa2830e76ba7148850753d8b5e94c5dc325ceef8' ;;
 | 
			
		||||
        '4.0')    echo '56bd2dde29ba2a93903c557da1745cafd72cdd8b6b0b83c05a40ed7896b79dfe' ;;
 | 
			
		||||
        '4.0.1')  echo 'd717e46200d1359893f891dab047fdab98784143ac76861b53c50dbd03b44fd4' ;;
 | 
			
		||||
        '4.0.2')  echo '79ac421342bd11f6a4f404e0988baa9c1f5fabf07e3c6fa65b0c15c1c31dda22' ;;
 | 
			
		||||
        '4.1')    echo 'd55dfa9cfb5a3da86a1c9e75bb0b9507f9a8c8c100793ccec7beb6e259f9ed43' ;;
 | 
			
		||||
        '4.2')    echo '515dd63d32e55a9c05667809c5e40a947529de3054444ad274b3b75af5582eae' ;;
 | 
			
		||||
        '4.2.1')  echo 'b551cc04f2ca51c78dd14edb060621f0e5439bdfafa6fd167032a09ac708fbc0' ;;
 | 
			
		||||
        '4.3')    echo '8dcbf44eef92575b475dcb1ce12b5f19d38dc79e84c662670248dc8b8247654c' ;;
 | 
			
		||||
        '4.3.1')  echo '15ebe098ce0392a2d06d252bff24143cc88c4e963346582c8d88814758d93ac7' ;;
 | 
			
		||||
        '4.4')    echo 'fa4873ae2c7f5e8c02ec6948ba95848cedced6134772a0169718eadcb39e0a2f' ;;
 | 
			
		||||
        '4.4.1')  echo 'e7cf7d1853dfc30c1c44f571d3919eeeedef002823b66b6a988d27e919686389' ;;
 | 
			
		||||
        '4.5')    echo '03f2a43a314ff0fb843a85ef68078e06d181c4549c1e5fb983f289382b59b5e3' ;;
 | 
			
		||||
        '4.5.1')  echo '3e2ea0d8b96605b7c528768f646e0975bd9822f06df1f04a64fd279b1a17805e' ;;
 | 
			
		||||
        '4.6')    echo '98bd5fd2b30e070517e03c51cbb32beee3e2ee1a84003a5a5d748996d4b1b915' ;;
 | 
			
		||||
        '4.7')    echo 'fca5087dc8b50c64655c000989635664a73b11b9bd3703c7d6cabd31b7dcdb04' ;;
 | 
			
		||||
        '4.8')    echo 'f3e29692a8faa94eb0b02ebf36fa263a642b3ae8694ef806c45c345b8683f1ba' ;;
 | 
			
		||||
        '4.8.1')  echo 'af334d994b5e69e439ab55b5d2b7d086da5ea6763d78054f49f147b06370ed71' ;;
 | 
			
		||||
        '4.9')    echo 'e66e69dce8173dd2004b39ba93586a184628bc6c28461bc771d6835f7f9b0d28' ;;
 | 
			
		||||
        '4.10')   echo '248cfd92104ce12c5431ddb8309cf713fe58de8e330c63176543320022f59f18' ;;
 | 
			
		||||
        '4.10.1') echo 'e53ce3a01cf016b5d294eef20977ad4e3c13e761ac1e475f1ffad4c6141a92bd' ;;
 | 
			
		||||
        '4.10.2') echo 'b49c6da1b2cb67a0caf6c7480630b51c70a11ca2016ff2f555eaeda863143a29' ;;
 | 
			
		||||
        '4.10.3') echo '8626cbf206b4e201ade7b87779090690447054bc93f052954c78480fa6ed186e' ;;
 | 
			
		||||
        '5.0')    echo '6157ac9f3410bc63644625b3b3e9e96c963afd7910ae0697792db57813ee79a6' ;;
 | 
			
		||||
        '5.1')    echo '7506638a380092a0406364c79d6c87d03d23017fc25a5770379d1ce23c3fcd4d' ;;
 | 
			
		||||
        '5.1.1')  echo '4953323605c5d7b89e97d0dc7779e275bccedefcdac090aec123375eae0cc798' ;;
 | 
			
		||||
        '5.2')    echo 'ff322863250159595e93b5a4d17a6f0d21c59a1a0497c1e1cf1d53826485503f' ;;
 | 
			
		||||
        '5.2.1')  echo '748c33ff8d216736723be4037085b8dc342c6a0f309081acf682c9803e407357' ;;
 | 
			
		||||
        '5.3')    echo 'bed2bdd3955be5a09ca7e0201e9d131f194f7f6c466e1795a733733ccfb09f25' ;;
 | 
			
		||||
        '5.3.1')  echo '1c59a17a054e9c82f0dd881871c9646e943ec4c71dd52ebc6137d17f82337436' ;;
 | 
			
		||||
        '5.4')    echo 'c8c17574245ecee9ed7fe4f6b593b696d1692d1adbfef425bef9b333e3a0e8de' ;;
 | 
			
		||||
        '5.4.1')  echo '7bdbad1e4f54f13c8a78abc00c26d44dd8709d4aedb704d913fb1bb78ac025dc' ;;
 | 
			
		||||
        '5.5')    echo '8d78b2ed63e7f07ad169c1186d119761c4773e681f332cfe1901045b1b0141bc' ;;
 | 
			
		||||
        '5.5.1')  echo '222a03fcf2fcaf3691767ce9549f78ebd4a77e73f9e23a396899fb70b420cd00' ;;
 | 
			
		||||
        '5.6')    echo '15c02ef5dd3631ec02ac52e8725703e0285d9a7eecbf4e5939aa9e924604d01d' ;;
 | 
			
		||||
        '5.6.1')  echo '0986244820e4a35d32d91df2ec4b768b5ba5d6c8246753794f85159f9963ec12' ;;
 | 
			
		||||
        '5.6.2')  echo '32fce6628848f799b0ad3205ae8db67d0d828c10ffe62b748a7c0d9f4a5d9ee0' ;;
 | 
			
		||||
        '5.6.3')  echo '60a6d8f687e3e7a4bc901cc6bc3db190efae0f02f0cc697e323e0f9336f224a3' ;;
 | 
			
		||||
        '5.6.4')  echo '1f3067073041bc44554d0efe5d402a33bc3d3c93cc39ab684f308586d732a80d' ;;
 | 
			
		||||
        '6.0')    echo '5a3578b9f0bb162f5e08cf119f447dfb8fa950cedebb4d2a977e912a11a74b91' ;;
 | 
			
		||||
        '6.0.1')  echo 'd364b7098b9f2e58579a3603dc0a12a1991353ac58ed339316e6762b21efba44' ;;
 | 
			
		||||
        '6.1')    echo 'd0c43d14e1c70a48b82442f435d06186351a2d290d72afd5b8866f15e6d7038a' ;;
 | 
			
		||||
        '6.1.1')  echo '9d94e6e4a28ad328072ef6e56bce79a810494ae756751fdcedffdeaf27c093b1' ;;
 | 
			
		||||
        '6.2')    echo 'b93a5f30d01195ec201e240f029c8b42d59c24086b8d1864112c83558e23cf8a' ;;
 | 
			
		||||
        '6.2.1')  echo 'a68ca7ba57f3404c3f6fc1f70a02d3a7d78652e6b46bbfaff83fc9a17168c279' ;;
 | 
			
		||||
        '6.2.2')  echo '0f6ba231b986276d8221d7a870b4d98e0df76e6daf1f42e7c0baec5032fb7d17' ;;
 | 
			
		||||
        '6.3')    echo '038794feef1f4745c6347107b6726279d1c824f3fc634b60f86ace1e9fbd1768' ;;
 | 
			
		||||
        '6.4')    echo 'b888659f637887e759749f6226ddfcb1cb04f828c58c41279de73c463fdbacc9' ;;
 | 
			
		||||
        '6.4.1')  echo 'e58cdff0cee6d9b422dcd08ebeb3177bc44eaa09bd9a2e838ff74c408fe1cbcd' ;;
 | 
			
		||||
        '6.5')    echo '23e7d37e9bb4f8dabb8a3ea7fdee9dd0428b9b1a71d298aefd65b11dccea220f' ;;
 | 
			
		||||
        '6.5.1')  echo '50a7d30529fa939721fe9268a0205142f3f2302bcac5fb45b27a3902e58db54a' ;;
 | 
			
		||||
        '6.6')    echo 'e6f83508f0970452f56197f610d13c5f593baaf43c0e3c6a571e5967be754025' ;;
 | 
			
		||||
        '6.6.1')  echo '7873ed5287f47ca03549ab8dcb6dc877ac7f0e3d7b1eb12685161d10080910ac' ;;
 | 
			
		||||
        '6.7')    echo '8ad57759019a9233dc7dc4d1a530cefe109dc122000d57f7e623f8cf4ba9dfc4' ;;
 | 
			
		||||
        '6.7.1')  echo '3239b5ed86c3838a37d983ac100573f64c1f3fd8e1eb6c89fa5f9529b5ec091d' ;;
 | 
			
		||||
        '6.8')    echo 'e2774e6fb77c43657decde25542dea710aafd78c4022d19b196e7e78d79d8c6c' ;;
 | 
			
		||||
        '6.8.1')  echo 'fd591a34af7385730970399f473afabdb8b28d57fd97d6625c388d090039d6fd' ;;
 | 
			
		||||
        '6.8.2')  echo '8de6efc274ab52332a9c820366dd5cf5fc9d35ec7078fd70c8ec6913431ee610' ;;
 | 
			
		||||
        '6.8.3')  echo '7faa7198769f872826c8ef4f1450f839ec27f0b4d5d1e51bade63667cbccd205' ;;
 | 
			
		||||
        '6.9')    echo '765442b8069c6bee2ea70713861c027587591c6b1df2c857a23361512560894e' ;;
 | 
			
		||||
        '6.9.1')  echo '8c12154228a502b784f451179846e518733cf856efc7d45b2e6691012977b2fe' ;;
 | 
			
		||||
        '6.9.2')  echo '8b356fd8702d5ffa2e066ed0be45a023a779bba4dd1a68fd11bc2a6bdc981e8f' ;;
 | 
			
		||||
        '6.9.3')  echo 'dcf350b8ae1aa192fc299aed6efc77b43825d4fedb224c94118ae7faf5fb035d' ;;
 | 
			
		||||
        '6.9.4')  echo '3e240228538de9f18772a574e99a0ba959e83d6ef351014381acd9631781389a' ;;
 | 
			
		||||
        '7.0')    echo 'eb8b89184261025b0430f5b2233701ff1377f96da1ef5e278af6ae8bac5cc305' ;;
 | 
			
		||||
        '7.0.1')  echo 'dccda8aa069563c8ba2f6cdfd0777df0e34a5b4d15138ca8b9757e94f4e8a8cb' ;;
 | 
			
		||||
        '7.0.2')  echo '0e46229820205440b48a5501122002842b82886e76af35f0f3a069243dca4b3c' ;;
 | 
			
		||||
        '7.1')    echo '2debee19271e1b82c6e41137d78e44e6e841035230a1a169ca47fd3fb09ed87b' ;;
 | 
			
		||||
        '7.1.1')  echo 'bf8b869948901d422e9bb7d1fa61da6a6e19411baa7ad6ee929073df85d6365d' ;;
 | 
			
		||||
        '7.2')    echo 'f581709a9c35e9cb92e16f585d2c4bc99b2b1a5f85d2badbd3dc6bff59e1e6dd' ;;
 | 
			
		||||
        '7.3')    echo 'de8f52ad49bdc759164f72439a3bf56ddb1589c4cde802d3cec7d6ad0e0ee410' ;;
 | 
			
		||||
        '7.3.1')  echo '9afb3ca688fc12c761a0e9e4321e4d24e977a4a8916c8a768b1fe05ddb4d6b66' ;;
 | 
			
		||||
        '7.3.2')  echo '23b89f8eac363f5f4b8336e0530c7295c55b728a9caa5268fdd4a532610d5392' ;;
 | 
			
		||||
        '7.3.3')  echo 'b586e04868a22fd817c8971330fec37e298f3242eb85c374181b12d637f80302' ;;
 | 
			
		||||
        '7.4')    echo '8cc27038d5dbd815759851ba53e70cf62e481b87494cc97cfd97982ada5ba634' ;;
 | 
			
		||||
        '7.4.1')  echo 'e5444a57cda4a95f90b0c9446a9e1b47d3d7f69057765bfb54bd4f482542d548' ;;
 | 
			
		||||
        '7.4.2')  echo '29e49b10984e585d8118b7d0bc452f944e386458df27371b49b4ac1dec4b7fda' ;;
 | 
			
		||||
        '7.5')    echo 'cb87f222c5585bd46838ad4db78463a5c5f3d336e5e2b98dc7c0c586527351c2' ;;
 | 
			
		||||
        '7.5.1')  echo 'f6b8596b10cce501591e92f229816aa4046424f3b24d771751b06779d58c8ec4' ;;
 | 
			
		||||
        '7.6')    echo '7ba68c54029790ab444b39d7e293d3236b2632631fb5f2e012bb28b4ff669e4b' ;;
 | 
			
		||||
        '7.6.1')  echo '6147605a23b4eff6c334927a86ff3508cb5d6722cd624c97ded4c2e8640f1f87' ;;
 | 
			
		||||
        '7.6.2')  echo 'a01b6587e15fe7ed120a0ee299c25982a1eee045abd6a9dd5e216b2f628ef9ac' ;;
 | 
			
		||||
        '7.6.3')  echo '740c2e472ee4326c33bf75a5c9f5cd1e69ecf3f9b580f6e236c86d1f3d98cfac' ;;
 | 
			
		||||
        '7.6.4')  echo 'bed1da33cca0f557ab13691c77f38bb67388119e4794d113e051039b80af9bb1' ;;
 | 
			
		||||
        '7.6.5')  echo 'b812fec0edb7d27e0ae35955887bb2954536fa3e44edaf481150da058e154d9a' ;;
 | 
			
		||||
        '7.6.6')  echo '673d9776f303bc7048fc3329d232d6ebf1051b07893bd9d11616fad9a8673be0' ;;
 | 
			
		||||
        '8.0')    echo '4159b938ec734a8388ce03f52aa8f3c7ed0d31f5438622545de4f83a89b79788' ;;
 | 
			
		||||
        '8.0.1')  echo '1b6b558be93f29438d3df94b7dfee02e794b94d9aca4611a92cdb79b6b88e909' ;;
 | 
			
		||||
        '8.0.2')  echo 'ff7bf6a86f09b9b2c40bb8f48b25fc19cf2b2664fd1d220cd7ab833ec758d0d7' ;;
 | 
			
		||||
        '8.1')    echo 'a62c5f99585dd9e1f95dab7b9415a0e698fa9dd1e6c38537faa81ac078f4d23e' ;;
 | 
			
		||||
        '8.1.1')  echo 'e111cb9948407e26351227dabce49822fb88c37ee72f1d1582a69c68af2e702f' ;;
 | 
			
		||||
        '8.2')    echo '38f66cd6eef217b4c35855bb11ea4e9fbc53594ccccb5fb82dfd317ef8c2c5a3' ;;
 | 
			
		||||
        '8.2.1')  echo '03ec176d388f2aa99defcadc3ac6adf8dd2bce5145a129659537c0874dea5ad1' ;;
 | 
			
		||||
        '8.3')    echo '591855b517fc635b9e04de1d05d5e76ada3f89f5fc76f87978d1b245b4f69225' ;;
 | 
			
		||||
        '8.4')    echo '3e1af3ae886920c3ac87f7a91f816c0c7c436f276a6eefdb3da152100fef72ae' ;;
 | 
			
		||||
        '8.5')    echo '9d926787066a081739e8200858338b4a69e837c3a821a33aca9db09dd4a41026' ;;
 | 
			
		||||
        '8.6')    echo '9631d53cf3e74bfa726893aee1f8994fee4e060c401335946dba2156f440f24c' ;;
 | 
			
		||||
        '8.7')    echo '544c35d6bd849ae8a5ed0bcea39ba677dc40f49df7d1835561582da2009b961d' ;;
 | 
			
		||||
        '8.8')    echo 'a4b4158601f8636cdeeab09bd76afb640030bb5b144aafe261a5e8af027dc612' ;;
 | 
			
		||||
        '8.9')    echo 'd725d707bfabd4dfdc958c624003b3c80accc03f7037b5122c4b1d0ef15cecab' ;;
 | 
			
		||||
        '8.10')   echo '5b9c5eb3f9fc2c94abaea57d90bd78747ca117ddbbf96c859d3741181a12bf2a' ;;
 | 
			
		||||
        '8.10.1') echo '1541fa36599e12857140465f3c91a97409b4512501c26f9631fb113e392c5bd1' ;;
 | 
			
		||||
        '8.10.2') echo '31c55713e40233a8303827ceb42ca48a47267a0ad4bab9177123121e71524c26' ;;
 | 
			
		||||
        '8.11')   echo '57dafb5c2622c6cc08b993c85b7c06956a2f53536432a30ead46166dbca0f1e9' ;;
 | 
			
		||||
        '8.11.1') echo 'f397b287023acdba1e9f6fc5ea72d22dd63669d59ed4a289a29b1a76eee151c6' ;;
 | 
			
		||||
        '8.12')   echo '7a00d51fb93147819aab76024feece20b6b84e420694101f276be952e08bef03' ;;
 | 
			
		||||
        '8.12.1') echo '8d97a97984f6cbd2b85fe4c60a743440a347544bf18818048e611f5288d46c94' ;;
 | 
			
		||||
        '8.13')   echo '20f1b1176237254a6fc204d8434196fa11a4cfb387567519c61556e8710aed78' ;;
 | 
			
		||||
        '8.14')   echo '61ad310d3c7d3e5da131b76bbf22b5a4c0786e9d892dae8c1658d4b484de3caa' ;;
 | 
			
		||||
        '8.14.1') echo '845952a9d6afa783db70bb3b0effaae45ae5542ca2bb7929619e8af49cb634cf' ;;
 | 
			
		||||
        '8.14.2') echo '7197a12f450794931532469d4ff21a59ea2c1cd59a3ec3f89c035c3c420a6999' ;;
 | 
			
		||||
        '8.14.3') echo 'bd71102213493060956ec229d946beee57158dbd89d0e62b91bca0fa2c5f3531' ;;
 | 
			
		||||
        *) exit 1
 | 
			
		||||
    esac
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
contains() {
 | 
			
		||||
    local e
 | 
			
		||||
    for e in $2; do
 | 
			
		||||
        [[ $e == $1 ]] && return 0;
 | 
			
		||||
    done
 | 
			
		||||
    return 1
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# key-value pairs of what gradle version (value) each gradle plugin version
 | 
			
		||||
# (key) should accept. plugin versions are actually prefixes and catch sub-
 | 
			
		||||
# versions as well. Pairs are taken from:
 | 
			
		||||
# https://developer.android.com/studio/releases/gradle-plugin#updating-gradle
 | 
			
		||||
d_gradle_plugin_ver_k=(8.11 8.10   8.9    8.8    8.7 8.6 8.5 8.4 8.3 8.2 8.1 8.0 7.4 7.3 7.2   7.1 7.0   4.2   4.1 4.0   3.6   3.5   3.4   3.3    3.2 3.1 3.0 2.3 2.2    2.1.3  2.1  2.0)
 | 
			
		||||
d_plugin_min_gradle_v=(8.13 8.11.1 8.11.1 8.10.2 8.9 8.7 8.7 8.6 8.4 8.2 8.0 8.0 7.5 7.4 7.3.3 7.2 7.0.2 6.7.1 6.5 6.1.1 5.6.4 5.4.1 5.1.1 4.10.1 4.6 4.4 4.1 3.3 2.14.1 2.14.1 2.12 2.12)
 | 
			
		||||
 | 
			
		||||
# All gradle versions we know about
 | 
			
		||||
plugin_v=(8.14.3 8.14.2 8.14.1 8.14 8.13 8.12.1 8.12 8.11.1 8.11 8.10.2 8.10.1 8.10 8.9 8.8 8.7 8.6 8.5 8.4 8.3 8.2.1 8.2 8.1.1 8.1 8.0.2 8.0.1 8.0 7.6.6 7.6.5 7.6.4 7.6.3 7.6.2 7.6.1 7.6 7.5.1 7.5 7.4.2 7.4.1 7.4 7.3.3 7.3.2 7.3.1 7.3 7.2 7.1.1 7.1 7.0.2 7.0.1 7.0 6.9.4 6.9.3 6.9.2 6.9.1 6.9 6.8.3 6.8.2 6.8.1 6.8 6.7.1 6.7 6.6.1 6.6 6.5.1 6.5 6.4.1 6.4 6.3 6.2.2 6.2.1 6.2 6.1.1 6.1 6.0.1 6.0 5.6.4 5.6.3 5.6.2 5.6.1 5.6 5.5.1 5.5 5.4.1 5.4 5.3.1 5.3 5.2.1 5.2 5.1.1 5.1 5.0 4.10.3 4.10.2 4.10.1 4.10 4.9 4.8.1 4.8 4.7 4.6 4.5.1 4.5 4.4.1 4.4 4.3.1 4.3 4.2.1 4.2 4.1 4.0.2 4.0.1 4.0 3.5.1 3.5 3.4.1 3.4 3.3 3.2.1 3.2 3.1 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 2.0 1.12 1.11 1.10 1.9 1.8 1.7 1.6 1.5 1.4 1.3 1.2 1.1 1.0 0.9.2 0.9.1 0.9 0.8 0.7)
 | 
			
		||||
 | 
			
		||||
v_all=${plugin_v[@]}
 | 
			
		||||
 | 
			
		||||
# Earliest file takes priority
 | 
			
		||||
# Last key takes priority if there are duplicates (matching java.util.Properties)
 | 
			
		||||
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
 | 
			
		||||
        if [[ $line == 'distributionUrl='* ]]; then
 | 
			
		||||
            wrapper_ver=${line#*/gradle-}
 | 
			
		||||
            wrapper_ver=${wrapper_ver%-*.zip}
 | 
			
		||||
        fi
 | 
			
		||||
    done < $f
 | 
			
		||||
    [[ -n $wrapper_ver ]] && break
 | 
			
		||||
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{,.kts}; do
 | 
			
		||||
    [[ -f $f ]] || continue
 | 
			
		||||
    while IFS='' read -r line || [ -n "$line" ]; do
 | 
			
		||||
        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%[\'\"]*}
 | 
			
		||||
        elif [[ -z "$wrapper_ver" && $line == *'gradleVersion = '* ]]; then
 | 
			
		||||
            wrapper_ver=${line#*gradleVersion*=*[\'\"]}
 | 
			
		||||
            wrapper_ver=${wrapper_ver%[\'\"]*}
 | 
			
		||||
        fi
 | 
			
		||||
    done < $f
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
if [[ -n $wrapper_ver ]]; then
 | 
			
		||||
    v_found=$wrapper_ver
 | 
			
		||||
    echo "Found $v_found via gradleVersion"
 | 
			
		||||
    run_gradle
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [[ -n $plugin_pver ]]; then
 | 
			
		||||
    i=0
 | 
			
		||||
    match=false
 | 
			
		||||
    for k in "${d_gradle_plugin_ver_k[@]}"; do
 | 
			
		||||
        if [[ $plugin_pver == ${k}* ]]; then
 | 
			
		||||
            plugin_ver=${d_plugin_min_gradle_v[$i]}
 | 
			
		||||
            match=true
 | 
			
		||||
            break
 | 
			
		||||
        fi
 | 
			
		||||
        let i++
 | 
			
		||||
    done
 | 
			
		||||
    if $match; then
 | 
			
		||||
        v_found=$plugin_ver
 | 
			
		||||
        echo "Found $v_found via gradle plugin version $k"
 | 
			
		||||
    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
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
run_gradle
 | 
			
		||||
| 
						 | 
				
			
			@ -11,7 +11,7 @@ if [ -z "$files" ]; then
 | 
			
		|||
    PY_FILES="fdroid makebuildserver setup.py fdroidserver/*.py examples/*.py tests/*-release-checksums.py"
 | 
			
		||||
    PY_TEST_FILES="tests/test_*.py"
 | 
			
		||||
    SH_FILES="hooks/pre-commit"
 | 
			
		||||
    BASH_FILES="gradlew-fdroid jenkins-build-all jenkins-setup-build-environment jenkins-test completion/bash-completion buildserver/provision-*"
 | 
			
		||||
    BASH_FILES="jenkins-build-all jenkins-setup-build-environment jenkins-test completion/bash-completion buildserver/provision-*"
 | 
			
		||||
    RB_FILES="buildserver/Vagrantfile"
 | 
			
		||||
    YML_FILES=".*.yml .yamllint */*.yml */*.yaml"
 | 
			
		||||
else
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue