chiark / gitweb /
Fix b315968b (at least to the extent that it's now possible to make a buildserver...
[fdroidserver.git] / buildserver / cookbooks / android-sdk / recipes / default.rb
1
2 sdk_loc = node[:settings][:sdk_loc]
3 user = node[:settings][:user]
4
5 script "setup-android-sdk" do
6   timeout 14400
7   interpreter "bash"
8   user user
9   cwd "/tmp"
10   code "
11     tar zxvf /vagrant/cache/android-sdk_r21.0.1-linux.tgz
12     mv android-sdk-linux #{sdk_loc}
13     #{sdk_loc}/tools/android update sdk --no-ui -t platform-tool
14     #{sdk_loc}/tools/android update sdk --no-ui -t tool
15   "
16   not_if "test -d #{sdk_loc}"
17 end
18
19 execute "add-android-sdk-path" do
20   user user
21   path = "#{sdk_loc}/tools:#{sdk_loc}/platform-tools"
22   command "echo \"export PATH=\\$PATH:#{path} #PATH-SDK\" >> /home/#{user}/.bsenv"
23   not_if "grep PATH-SDK /home/#{user}/.bsenv"
24 end
25
26 execute "add-android-home" do
27   user user
28   command "echo \"export ANDROID_HOME=#{sdk_loc}\" >> /home/#{user}/.bsenv"
29   not_if "grep ANDROID_HOME /home/#{user}/.bsenv"
30 end
31
32 execute "add-maven-support-repo" do
33   user user
34   command "mkdir /home/#{user}/.m2 && echo \"
35 <settings><activeProfiles><activeProfile>android</activeProfile></activeProfiles>
36 <profiles><profile><id>android</id><repositories><repository><id>android-support-repository</id>
37 <url>file:///opt/android/sdk/extras/android/m2repository/</url>
38 </repository></repositories></profile></profiles></settings>
39 \" > /home/#{user}/.m2/settings.xml"
40   not_if "grep m2repository /home/#{user}/.m2/settings.xml"
41 end
42
43 %w{17.0.0 18.0.1}.each do |ver|
44
45   script "add_build_tools_#{ver}" do
46     interpreter "bash"
47     user user
48     cwd "/tmp"
49     code "
50       if [ -f /vagrant/cache/build-tools/#{ver}.tar.gz ] ; then
51         echo Installing from cache
52         mkdir #{sdk_loc}/build-tools
53         tar -C #{sdk_loc}/build-tools -z -x -f /vagrant/cache/build-tools/#{ver}.tar.gz
54       else
55         #{sdk_loc}/tools/android update sdk --no-ui -a -t build-tools-#{ver} <<X
56 y
57
58 X
59       fi
60     "
61     not_if "test -d #{sdk_loc}/build-tools/#{ver}"
62   end
63 end
64
65 %w{android-3 android-4 android-7 android-8 android-10 android-11
66    android-12 android-13 android-14 android-15 android-16 android-17 android-18
67    extra-android-support extra-android-m2repository}.each do |sdk|
68
69   script "add_sdk_#{sdk}" do
70     interpreter "bash"
71     user user
72     cwd "/tmp"
73     code "
74       if [ -f /vagrant/cache/platforms/#{sdk}.tar.gz ] ; then
75         echo Installing from cache
76         tar -C #{sdk_loc}/platforms -z -x -f /vagrant/cache/platforms/#{sdk}.tar.gz
77       else
78         echo Installing via 'android'
79         #{sdk_loc}/tools/android update sdk --no-ui -a -t #{sdk} <<X
80 y
81
82 X
83       fi
84     "
85     not_if "test -d #{sdk_loc}/platforms/#{sdk}"
86   end
87
88 end
89
90 %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|
91
92   script "add_addon_#{sdk}" do
93     interpreter "bash"
94     user user
95     cwd "/tmp"
96     code "
97       if [ -f /vagrant/cache/add-ons/#{sdk}.tar.gz ] ; then
98         echo Installing from cache
99         tar -C #{sdk_loc}/add-ons -z -x -f /vagrant/cache/add-ons/#{sdk}.tar.gz
100       else
101         echo Installing via 'android'
102         #{sdk_loc}/tools/android update sdk --no-ui -a -t #{sdk} <<X
103 y
104
105 X
106       fi
107     "
108
109     not_if "test -d #{sdk_loc}/add-ons/#{sdk}"
110
111   end
112
113 end
114
115