chiark / gitweb /
makebuildserver: use original names for downloaded SDK components
[fdroidserver.git] / buildserver / cookbooks / android-sdk / recipes / default.rb
index b2a6c601e361df6f4079850b17cef9a230ab23cb..82d68972c7e24d9b1928307996dc112d420eecf9 100644 (file)
@@ -8,89 +8,86 @@ script "setup-android-sdk" do
   user user
   cwd "/tmp"
   code "
-    tar zxvf /vagrant/cache/android-sdk_r21.0.1-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
 
-execute "add-android-sdk-path" do
-  user user
-  path = "#{sdk_loc}/tools:#{sdk_loc}/platform-tools"
-  command "echo \"export PATH=\\$PATH:#{path}\" >> /home/#{user}/.bashrc"
-  not_if "grep #{sdk_loc} /home/#{user}/.bashrc"
-end
-
-script "add_build_tools" do
+script "setup-sdk-dirs" do
   interpreter "bash"
   user user
-  cwd "/tmp"
   code "
-    if [ -f /vagrant/cache/build-tools/17.0.0.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/17.0.0.tar.gz
-    else
-      #{sdk_loc}/tools/android update sdk --no-ui -a -t build-tools-17.0.0 <<X
-y
-
-X
-    fi
+    mkdir -p #{sdk_loc}/build-tools
   "
-  not_if "test -d #{sdk_loc}/build-tools/17.0.0"
 end
 
+execute "add-android-sdk-path" do
+  user user
+  path = "#{sdk_loc}/tools:#{sdk_loc}/platform-tools"
+  command "echo \"export PATH=\\$PATH:#{path} #PATH-SDK\" >> /home/#{user}/.bsenv"
+  not_if "grep PATH-SDK /home/#{user}/.bsenv"
+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
-   extra-android-support}.each do |sdk|
-
-  script "add_sdk_#{sdk}" 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/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
+      #{sdk_loc}/tools/android update sdk --no-ui -a -t #{pkg} <<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-platforms" do
+  interpreter "bash"
+  user user
+  cwd "/tmp"
+  code "
+    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
+  "
+end
 
-  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
-
-