mirror of
				https://github.com/f-droid/fdroidserver.git
				synced 2025-11-04 14:30:30 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			167 lines
		
	
	
	
		
			4.4 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			167 lines
		
	
	
	
		
			4.4 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
#!/bin/bash
 | 
						|
 | 
						|
echo $0
 | 
						|
set -e
 | 
						|
set -x
 | 
						|
 | 
						|
if [ -z $ANDROID_HOME ]; then
 | 
						|
    echo "ANDROID_HOME env var must be set!"
 | 
						|
    exit 1
 | 
						|
fi
 | 
						|
 | 
						|
# disable the repositories of proprietary stuff
 | 
						|
disabled="
 | 
						|
@version@=1
 | 
						|
@disabled@https\://dl.google.com/android/repository/extras/intel/addon.xml=disabled
 | 
						|
@disabled@https\://dl.google.com/android/repository/glass/addon.xml=disabled
 | 
						|
@disabled@https\://dl.google.com/android/repository/sys-img/android/sys-img.xml=disabled
 | 
						|
@disabled@https\://dl.google.com/android/repository/sys-img/android-tv/sys-img.xml=disabled
 | 
						|
@disabled@https\://dl.google.com/android/repository/sys-img/android-wear/sys-img.xml=disabled
 | 
						|
@disabled@https\://dl.google.com/android/repository/sys-img/google_apis/sys-img.xml=disabled
 | 
						|
"
 | 
						|
test -d ${HOME}/.android || mkdir ${HOME}/.android
 | 
						|
# there are currently zero user repos
 | 
						|
echo 'count=0' > ${HOME}/.android/repositories.cfg
 | 
						|
for line in $disabled; do
 | 
						|
    echo $line >> ${HOME}/.android/sites-settings.cfg
 | 
						|
done
 | 
						|
 | 
						|
# Include old makebuildserver cache that is a Vagrant synced_folder
 | 
						|
# for sdkmanager to use.
 | 
						|
cachedir=$HOME/.cache/sdkmanager
 | 
						|
mkdir -p $cachedir
 | 
						|
pushd $cachedir
 | 
						|
for f in /vagrant/cache/*.zip; do
 | 
						|
    test -e $f && ln -s $f
 | 
						|
done
 | 
						|
popd
 | 
						|
 | 
						|
# TODO do not preinstall 'tools' or 'platform-tools' at all, app builds don't need them
 | 
						|
packages="
 | 
						|
  tools;25.2.5
 | 
						|
  platform-tools
 | 
						|
  build-tools;19.1.0
 | 
						|
  build-tools;20.0.0
 | 
						|
  build-tools;21.1.2
 | 
						|
  build-tools;22.0.1
 | 
						|
  build-tools;23.0.1
 | 
						|
  build-tools;23.0.2
 | 
						|
  build-tools;23.0.3
 | 
						|
  build-tools;24.0.0
 | 
						|
  build-tools;24.0.1
 | 
						|
  build-tools;24.0.2
 | 
						|
  build-tools;24.0.3
 | 
						|
  build-tools;25.0.0
 | 
						|
  build-tools;25.0.1
 | 
						|
  build-tools;25.0.2
 | 
						|
  build-tools;25.0.3
 | 
						|
  build-tools;26.0.0
 | 
						|
  build-tools;26.0.1
 | 
						|
  build-tools;26.0.2
 | 
						|
  build-tools;26.0.3
 | 
						|
  build-tools;27.0.0
 | 
						|
  build-tools;27.0.1
 | 
						|
  build-tools;27.0.2
 | 
						|
  build-tools;27.0.3
 | 
						|
  build-tools;28.0.0
 | 
						|
  build-tools;28.0.1
 | 
						|
  build-tools;28.0.2
 | 
						|
  build-tools;28.0.3
 | 
						|
  build-tools;29.0.2
 | 
						|
  build-tools;29.0.3
 | 
						|
  build-tools;30.0.0
 | 
						|
  build-tools;30.0.1
 | 
						|
  build-tools;30.0.2
 | 
						|
  build-tools;30.0.3
 | 
						|
  build-tools;31.0.0
 | 
						|
  build-tools;32.0.0
 | 
						|
  build-tools;33.0.0
 | 
						|
  platforms;android-10
 | 
						|
  platforms;android-11
 | 
						|
  platforms;android-12
 | 
						|
  platforms;android-13
 | 
						|
  platforms;android-14
 | 
						|
  platforms;android-15
 | 
						|
  platforms;android-16
 | 
						|
  platforms;android-17
 | 
						|
  platforms;android-18
 | 
						|
  platforms;android-19
 | 
						|
  platforms;android-20
 | 
						|
  platforms;android-21
 | 
						|
  platforms;android-22
 | 
						|
  platforms;android-23
 | 
						|
  platforms;android-24
 | 
						|
  platforms;android-25
 | 
						|
  platforms;android-26
 | 
						|
  platforms;android-27
 | 
						|
  platforms;android-28
 | 
						|
  platforms;android-29
 | 
						|
  platforms;android-30
 | 
						|
  platforms;android-31
 | 
						|
  platforms;android-32
 | 
						|
  platforms;android-33
 | 
						|
"
 | 
						|
 | 
						|
if [ $# -gt 0 ]; then
 | 
						|
    echo found args
 | 
						|
    packages=$@
 | 
						|
fi
 | 
						|
 | 
						|
# temporary test of whether this script ran. It will change once
 | 
						|
# 'tools' is no longer installed by default.
 | 
						|
if [ ! -x $ANDROID_HOME/tools/bin/sdkmanager ]; then
 | 
						|
    mkdir -p ${ANDROID_HOME}/
 | 
						|
    sdkmanager $packages
 | 
						|
fi
 | 
						|
 | 
						|
# this hacked cache should not end up in the Vagrant box or Docker image
 | 
						|
rm -rf $cachedir
 | 
						|
 | 
						|
mkdir -p $ANDROID_HOME/licenses/
 | 
						|
 | 
						|
cat << EOF > $ANDROID_HOME/licenses/android-sdk-license
 | 
						|
 | 
						|
8933bad161af4178b1185d1a37fbf41ea5269c55
 | 
						|
 | 
						|
d56f5187479451eabf01fb78af6dfcb131a6481e
 | 
						|
 | 
						|
24333f8a63b6825ea9c5514f83c2829b004d1fee
 | 
						|
EOF
 | 
						|
 | 
						|
cat <<EOF > $ANDROID_HOME/licenses/android-sdk-preview-license
 | 
						|
 | 
						|
84831b9409646a918e30573bab4c9c91346d8abd
 | 
						|
EOF
 | 
						|
 | 
						|
cat <<EOF > $ANDROID_HOME/licenses/android-sdk-preview-license-old
 | 
						|
 | 
						|
79120722343a6f314e0719f863036c702b0e6b2a
 | 
						|
 | 
						|
84831b9409646a918e30573bab4c9c91346d8abd
 | 
						|
EOF
 | 
						|
 | 
						|
cat <<EOF > $ANDROID_HOME/licenses/intel-android-extra-license
 | 
						|
 | 
						|
d975f751698a77b662f1254ddbeed3901e976f5a
 | 
						|
EOF
 | 
						|
 | 
						|
chmod a+X $(dirname $ANDROID_HOME/)
 | 
						|
chmod -R a+rX $ANDROID_HOME/
 | 
						|
chgrp vagrant $ANDROID_HOME
 | 
						|
chmod g+w $ANDROID_HOME
 | 
						|
find $ANDROID_HOME/ -type f -executable -print0 | xargs -0 chmod a+x
 | 
						|
 | 
						|
# allow gradle to install newer build-tools and platforms
 | 
						|
mkdir -p $ANDROID_HOME/{build-tools,platforms}
 | 
						|
chgrp vagrant $ANDROID_HOME/{build-tools,platforms}
 | 
						|
chmod g+w $ANDROID_HOME/{build-tools,platforms}
 | 
						|
 | 
						|
# allow gradle/sdkmanager to install into the new m2repository
 | 
						|
test -d $ANDROID_HOME/extras/m2repository || mkdir -p $ANDROID_HOME/extras/m2repository
 | 
						|
find $ANDROID_HOME/extras/m2repository -type d | xargs chgrp vagrant
 | 
						|
find $ANDROID_HOME/extras/m2repository -type d | xargs chmod g+w
 | 
						|
 | 
						|
# allow gradle/sdkmanager to install extras;android;m2repository
 | 
						|
test -d $ANDROID_HOME/extras/android || mkdir -p $ANDROID_HOME/extras/android
 | 
						|
find $ANDROID_HOME/extras/android -type d | xargs chgrp vagrant
 | 
						|
find $ANDROID_HOME/extras/android -type d | xargs chmod g+w
 |