chiark / gitweb /
makebuildserver: use original names for downloaded SDK components
[fdroidserver.git] / buildserver / cookbooks / android-sdk / recipes / default.rb
index a50848e06139661b6dd7041aaaaf94133ec0c89d..82d68972c7e24d9b1928307996dc112d420eecf9 100644 (file)
@@ -8,14 +8,24 @@ script "setup-android-sdk" do
   user user
   cwd "/tmp"
   code "
-    tar zxvf /vagrant/cache/android-sdk_r22.3-linux.tgz
-    mv android-sdk-linux #{sdk_loc}
-    #{sdk_loc}/tools/android update sdk --no-ui -t platform-tool
-    #{sdk_loc}/tools/android update sdk --no-ui -t tool
+    tools=`ls -1 /vagrant/cache/tools_*.zip | sort -n | tail -1`
+    unzip $tools
+    mkdir #{sdk_loc}
+    mkdir #{sdk_loc}/platforms
+    mkdir #{sdk_loc}/build-tools
+    mv tools #{sdk_loc}/
   "
   not_if "test -d #{sdk_loc}"
 end
 
+script "setup-sdk-dirs" do
+  interpreter "bash"
+  user user
+  code "
+    mkdir -p #{sdk_loc}/build-tools
+  "
+end
+
 execute "add-android-sdk-path" do
   user user
   path = "#{sdk_loc}/tools:#{sdk_loc}/platform-tools"
@@ -23,103 +33,61 @@ execute "add-android-sdk-path" do
   not_if "grep PATH-SDK /home/#{user}/.bsenv"
 end
 
-execute "add-android-home" do
-  user user
-  command "echo \"export ANDROID_HOME=#{sdk_loc}\" >> /home/#{user}/.bsenv"
-  not_if "grep ANDROID_HOME /home/#{user}/.bsenv"
-end
-
-%w{18.1.1}.each do |ver|
-
-  script "add_build_tools_#{ver}" do
+%w{
+    platform-tools
+    extra-android-m2repository
+}.each do |pkg|
+  script "add_pkg_#{pkg}" do
     interpreter "bash"
     user user
-    cwd "/tmp"
     code "
-      if [ -f /vagrant/cache/build-tools/#{ver}.tar.gz ] ; then
-        echo Installing from cache
-        mkdir #{sdk_loc}/build-tools
-        tar -C #{sdk_loc}/build-tools -z -x -f /vagrant/cache/build-tools/#{ver}.tar.gz
-      else
-        #{sdk_loc}/tools/android update sdk --no-ui -a -t build-tools-#{ver} <<X
+      #{sdk_loc}/tools/android update sdk --no-ui -a -t #{pkg} <<X
 y
 
 X
-      fi
     "
-    not_if "test -d #{sdk_loc}/build-tools/#{ver}"
   end
 end
 
-# This is currently 18.0.1
-script "add_platform_tools" do
+script "add-platforms" do
   interpreter "bash"
   user user
   cwd "/tmp"
   code "
-    if [ -f /vagrant/cache/platform-tools.tar.gz ] ; then
-      echo Installing from cache
-      mkdir #{sdk_loc}/platform-tools
-      tar -C #{sdk_loc}/platform-tools -z -x -f /vagrant/cache/platform-tools.tar.gz
-    else
-      #{sdk_loc}/tools/android update sdk --no-ui -a -t platform-tools <<X
-y
-
-X
-    fi
+    rm -rf current-platform
+    mkdir current-platform
+    cd current-platform
+    for f in `ls -1 /vagrant/cache/android-[0-9]*.zip /vagrant/cache/platform-[0-9]*.zip`; do
+      unzip $f
+      sdk=`sed -n 's,^ro.build.version.sdk=,,p' */build.prop`
+      rm -rf #{sdk_loc}/platforms/android-$sdk
+      mv * #{sdk_loc}/platforms/android-$sdk
+    done
   "
-  not_if "test -d #{sdk_loc}/platform-tools"
-end
-
-%w{android-3 android-4 android-7 android-8 android-10 android-11
-   android-12 android-13 android-14 android-15 android-16 android-17
-   android-18 android-19
-   extra-android-support extra-android-m2repository}.each do |sdk|
-
-  script "add_sdk_#{sdk}" do
-    interpreter "bash"
-    user user
-    cwd "/tmp"
-    code "
-      if [ -f /vagrant/cache/platforms/#{sdk}.tar.gz ] ; then
-        echo Installing from cache
-        tar -C #{sdk_loc}/platforms -z -x -f /vagrant/cache/platforms/#{sdk}.tar.gz
-      else
-        echo Installing via 'android'
-        #{sdk_loc}/tools/android update sdk --no-ui -a -t #{sdk} <<X
-y
-
-X
-      fi
-    "
-    not_if "test -d #{sdk_loc}/platforms/#{sdk}"
-  end
-
 end
 
-%w{addon-google_apis-google-7 addon-google_apis-google-10 addon-google_apis-google-15 addon-google_apis-google-16 addon-google_apis-google-17}.each do |sdk|
-
-  script "add_addon_#{sdk}" do
+%w{17 18.0.1 18.1 18.1.1 19 19.0.1 19.0.2 19.0.3 19.1 20 21 21.0.1 21.0.2 21.1
+   21.1.1 21.1.2 22 22.0.1 23 23.0.1 23.0.2 23.0.3
+}.each do |ver|
+  script "add_btools_#{ver}" do
     interpreter "bash"
     user user
     cwd "/tmp"
     code "
-      if [ -f /vagrant/cache/add-ons/#{sdk}.tar.gz ] ; then
-        echo Installing from cache
-        tar -C #{sdk_loc}/add-ons -z -x -f /vagrant/cache/add-ons/#{sdk}.tar.gz
-      else
-        echo Installing via 'android'
-        #{sdk_loc}/tools/android update sdk --no-ui -a -t #{sdk} <<X
-y
-
-X
-      fi
+      unzip /vagrant/cache/build-tools_r#{ver}-linux.zip
+      case `echo #{ver} | wc -c` in
+        3)
+            dirver=#{ver}.0.0
+            ;;
+        5)
+            dirver=#{ver}.0
+            ;;
+        7)
+            dirver=#{ver}
+            ;;
+      esac
+      rm -rf #{sdk_loc}/build-tools/${dirver}
+      mv android-*/ #{sdk_loc}/build-tools/${dirver}
     "
-
-    not_if "test -d #{sdk_loc}/add-ons/#{sdk}"
-
   end
-
 end
-
-