chiark / gitweb /
Download platforms via makebuildserver
authorDaniel Martí <mvdan@mvdan.cc>
Fri, 20 Nov 2015 14:43:47 +0000 (06:43 -0800)
committerDaniel Martí <mvdan@mvdan.cc>
Fri, 20 Nov 2015 20:21:31 +0000 (12:21 -0800)
buildserver/cookbooks/android-sdk/recipes/default.rb
makebuildserver

index 42b8b9881d11c8c919e865301ca77bae6b70a9d2..929268dc5a6c710cd545f86cabdc8d955a26ea0e 100644 (file)
@@ -10,8 +10,6 @@ script "setup-android-sdk" do
   code "
     tar zxvf /vagrant/cache/android-sdk_r24.4.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
   "
   not_if "test -d #{sdk_loc}"
 end
@@ -23,71 +21,56 @@ execute "add-android-sdk-path" do
   not_if "grep PATH-SDK /home/#{user}/.bsenv"
 end
 
-script "add_build_tools" do
-  interpreter "bash"
-  user user
-  ver = "23.0.2"
-  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
+%w{
+    tools
+    platform-tools
+    build-tools-17.0.0
+    build-tools-18.0.1
+    build-tools-18.1.0
+    build-tools-18.1.1
+    build-tools-19.0.0
+    build-tools-19.0.1
+    build-tools-19.0.2
+    build-tools-19.0.3
+    build-tools-19.1.0
+    build-tools-20.0.0
+    build-tools-21.0.0
+    build-tools-21.0.1
+    build-tools-21.0.2
+    build-tools-21.1.0
+    build-tools-21.1.1
+    build-tools-21.1.2
+    build-tools-22.0.0
+    build-tools-22.0.1
+    build-tools-23.0.0
+    build-tools-23.0.1
+    build-tools-23.0.2
+    extra-android-support
+    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
-    fi
-       sed -i '/BTPATH/d' /home/#{user}/.bsenv
-       echo \"export PATH=\\$PATH:#{sdk_loc}/build-tools/#{ver} #BTPATH\" >> /home/#{user}/.bsenv
-  "
-  not_if "test -d #{sdk_loc}/build-tools/#{ver}"
-end
-
-script "add_platform_tools" 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
+    "
+  end
 
-X
-    fi
-  "
-  not_if "test -d #{sdk_loc}/platform-tools"
 end
 
-%w{android-3 android-4 android-5 android-6 android-7 android-8 android-9
-   android-10 android-11 android-12 android-13 android-14 android-15
-   android-16 android-17 android-18 android-19 android-20 android-21
-   android-22 android-23
-   extra-android-support extra-android-m2repository}.each do |sdk|
-
-  script "add_sdk_#{sdk}" do
+%w{3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23}.each do |api|
+  script "add_sdk_#{api}" 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
+      unzip /vagrant/cache/android-platform-#{api}.zip
+      mv android-*/ #{sdk_loc}/platforms/android-#{api}
     "
-    not_if "test -d #{sdk_loc}/platforms/#{sdk}"
+    not_if "test -d #{sdk_loc}/platforms/android-#{api}"
   end
-
 end
 
index f5fb345c9631f77eb4a6f46a09d724511bd368fe..01bf50bdf6f277c8e4e3a69162578adf4d722f95 100755 (executable)
@@ -67,6 +67,69 @@ cachefiles = [
     ('android-sdk_r24.4.1-linux.tgz',
      'https://dl.google.com/android/android-sdk_r24.4.1-linux.tgz',
      'e16917ad685c1563ccbc5dd782930ee1a700a1b6a6fd3e44b83ac694650435e9'),
+    ('android-platform-3.zip',
+     'https://dl.google.com/android/repository/android-1.5_r04-linux.zip',
+     '85b6c8f9797e56aa415d3a282428bb640c96b0acb17c11d41621bb2a5302fe64'),
+    ('android-platform-4.zip',
+     'https://dl.google.com/android/repository/android-1.6_r03-linux.zip',
+     'a8c4e3b32269c6b04c2adeabd112fce42f292dab1a40ef3b08ea7d4212be0df4'),
+    ('android-platform-5.zip',
+     'https://dl.google.com/android/repository/android-2.0_r01-linux.zip',
+     'e70e2151b49613f23f40828c771ab85e241eed361cab037c6312df77f2612f0a'),
+    ('android-platform-6.zip',
+     'https://dl.google.com/android/repository/android-2.0.1_r01-linux.zip',
+     'f47b46177b17f6368461f85bc2a27d0d2c437929f588ea27105712bc3185f664'),
+    ('android-platform-7.zip',
+     'https://dl.google.com/android/repository/android-2.1_r03-linux.zip',
+     'b9cc140a9b879586181b22cfc7d4aa18b979251e16e9b17771c5d0acb71ba940'),
+    ('android-platform-8.zip',
+     'https://dl.google.com/android/repository/android-2.2_r03-linux.zip',
+     '7c9ea1bd7cb225504bd085d7c93ae27d52bd88d29b621d28108f82fef68177c0'),
+    ('android-platform-9.zip',
+     'https://dl.google.com/android/repository/android-2.3.1_r02-linux.zip',
+     'b2ab4896d0a4857e4f688f69eb08b0e1a8074709d4445a92a83ece7ec7cd198c'),
+    ('android-platform-10.zip',
+     'https://dl.google.com/android/repository/android-2.3.3_r02-linux.zip',
+     '54bdb0f1ca06ba5747061ddeea20f431af72c448334fd4d3d7f84ea2ccd29fea'),
+    ('android-platform-11.zip',
+     'https://dl.google.com/android/repository/android-3.0_r02-linux.zip',
+     '1cacae7b6e1b5a5d73c06f5d29d2ea92d16674df8fd5507681290e77d1647a1c'),
+    ('android-platform-12.zip',
+     'https://dl.google.com/android/repository/android-3.1_r03-linux.zip',
+     '7570c86a86488a146aa2141a65a24d81800959c1907ff4f1d2c13bbafab230c5'),
+    ('android-platform-13.zip',
+     'https://dl.google.com/android/repository/android-3.2_r01-linux.zip',
+     'ff6b26ad34d7060a72ba504b0314cef8ba3138005561705adec5ad470a073d9b'),
+    ('android-platform-14.zip',
+     'https://dl.google.com/android/repository/android-14_r04.zip',
+     'da1af15c77ba41d062eb6d0ef5921cc424ab6167587033b830609d65f04802b6'),
+    ('android-platform-15.zip',
+     'https://dl.google.com/android/repository/android-15_r05.zip',
+     '5bc1f93aae86b4336ffc4cae9eb8ec41a9a8fd677582dd86a9629798f019bed9'),
+    ('android-platform-16.zip',
+     'https://dl.google.com/android/repository/android-16_r05.zip',
+     'fd7f269a423d1f1d079eabf9f918ceab49108702a1c6bb2589d57c23393503d3'),
+    ('android-platform-17.zip',
+     'https://dl.google.com/android/repository/android-17_r03.zip',
+     'b66e73fb2639f8c916fde4369aa29012a5c531e156dbb205fe3788fe998fbbe8'),
+    ('android-platform-18.zip',
+     'https://dl.google.com/android/repository/android-18_r03.zip',
+     '166ae9cf299747a5faa8f04168f0ee47cd7466a975d8b44acaaa62a43e767568'),
+    ('android-platform-19.zip',
+     'https://dl.google.com/android/repository/android-19_r04.zip',
+     '5efc3a3a682c1d49128daddb6716c433edf16e63349f32959b6207524ac04039'),
+    ('android-platform-20.zip',
+     'https://dl.google.com/android/repository/android-20_r02.zip',
+     'ef08c453e16ab6e656cf5d9413ef61cb8c650607d33b24ee4ce08dafdfe965a7'),
+    ('android-platform-21.zip',
+     'https://dl.google.com/android/repository/android-21_r02.zip',
+     'a76cd7ad3080ac6ce9f037cb935b399a1bad396c0605d4ff42f693695f1dcefe'),
+    ('android-platform-22.zip',
+     'https://dl.google.com/android/repository/android-22_r02.zip',
+     '45eb581bbe53c9256f34c26b2cea919543c0079140897ac721cf88c0b9f6789e'),
+    ('android-platform-23.zip',
+     'https://dl.google.com/android/repository/android-23_r01.zip',
+     '16e828bec35521f5529c998a6d312aaa6155cd4aabb5507d9eb2d4b3c9a1aff0'),
     ('gradle-1.4-bin.zip',
      'https://services.gradle.org/distributions/gradle-1.4-bin.zip',
      'cd99e85fbcd0ae8b99e81c9992a2f10cceb7b5f009c3720ef3a0078f4f92e94e'),
@@ -159,7 +222,7 @@ for f, src, shasum in cachefiles:
     relpath = os.path.join(cachedir, f)
     if not os.path.exists(relpath):
         print "Downloading " + f + " to cache"
-        if subprocess.call(['wget', src], cwd=cachedir) != 0:
+        if subprocess.call(['wget', src, '-O', f], cwd=cachedir) != 0:
             print "...download of " + f + " failed."
             sys.exit(1)
     if shasum: