chiark / gitweb /
makebuildserver: use original names for downloaded SDK components
[fdroidserver.git] / buildserver / cookbooks / android-sdk / recipes / default.rb
index 80c10b8fcaf4ee8aa487cda2e18774464521d9a7..82d68972c7e24d9b1928307996dc112d420eecf9 100644 (file)
@@ -1,44 +1,93 @@
-%w{openjdk-6-jdk}.each do |pkg|
-  package pkg do
-    action :install
-  end
-end
 
 sdk_loc = node[:settings][:sdk_loc]
 user = node[:settings][:user]
 
 script "setup-android-sdk" do
+  timeout 14400
   interpreter "bash"
   user user
   cwd "/tmp"
   code "
-    wget http://dl.google.com/android/android-sdk_r16-linux.tgz
-    tar zxvf android-sdk_r16-linux.tgz
-    mv android-sdk-linux #{sdk_loc}
-    rm android-sdk_r16-linux.tgz
-    #{sdk_loc}/tools/android update sdk --no-ui -t platform-tool
-    #{sdk_loc}/tools/android update sdk --no-ui -t tool
-    #{sdk_loc}/tools/android update sdk --no-ui -t android-3
-    #{sdk_loc}/tools/android update sdk --no-ui -t android-4
-    #{sdk_loc}/tools/android update sdk --no-ui -t android-7
-    #{sdk_loc}/tools/android update sdk --no-ui -t android-8
-    #{sdk_loc}/tools/android update sdk --no-ui -t android-10
-    #{sdk_loc}/tools/android update sdk --no-ui -t android-11
-    #{sdk_loc}/tools/android update sdk --no-ui -t android-13
-    #{sdk_loc}/tools/android update sdk --no-ui -t android-14
-    #{sdk_loc}/tools/android update sdk --no-ui -t android-15
-    #{sdk_loc}/tools/android update sdk --no-ui -t android-16
-    #{sdk_loc}/tools/android update sdk --no-ui -t addon-google_apis-google-16
+    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
   "
-  not_if do
-    File.exists?("#{sdk_loc}")
-  end
 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"
+  command "echo \"export PATH=\\$PATH:#{path} #PATH-SDK\" >> /home/#{user}/.bsenv"
+  not_if "grep PATH-SDK /home/#{user}/.bsenv"
+end
+
+%w{
+    platform-tools
+    extra-android-m2repository
+}.each do |pkg|
+  script "add_pkg_#{pkg}" do
+    interpreter "bash"
+    user user
+    code "
+      #{sdk_loc}/tools/android update sdk --no-ui -a -t #{pkg} <<X
+y
+
+X
+    "
+  end
 end
 
+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
+
+%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 "
+      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}
+    "
+  end
+end