mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-10-03 17:50:11 +02:00
buildserver: unpack gradle versions with provisioning shell script
This was not using anything special from chef, so do it in a shell script instead. This makes the script easier for the python/shell people, and probably uses less memory, since chef is a memory hog. This might even make the provision go faster since it uploads the whole script as a file to the VM, then runs it there. I think chef sends each command via SSH.
This commit is contained in:
parent
02a835ff95
commit
6ea2508127
@ -1,42 +0,0 @@
|
|||||||
|
|
||||||
user = node[:settings][:user]
|
|
||||||
|
|
||||||
gradle_script = IO.read(File.join(
|
|
||||||
File.expand_path(File.dirname(__FILE__)), "gradle"))
|
|
||||||
|
|
||||||
script "add-gradle-bindir" do
|
|
||||||
cwd "/tmp"
|
|
||||||
interpreter "bash"
|
|
||||||
code "mkdir -p /opt/gradle/bin"
|
|
||||||
not_if "test -d /opt/gradle/bin"
|
|
||||||
end
|
|
||||||
|
|
||||||
script "add-gradle-verdir" do
|
|
||||||
cwd "/tmp"
|
|
||||||
interpreter "bash"
|
|
||||||
code "mkdir -p /opt/gradle/versions"
|
|
||||||
not_if "test -d /opt/gradle/versions"
|
|
||||||
end
|
|
||||||
|
|
||||||
%w{1.4 1.6 1.7 1.8 1.9 1.10 1.11 1.12 2.1 2.2.1 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 2.13}.each do |ver|
|
|
||||||
script "install-gradle-#{ver}" do
|
|
||||||
cwd "/tmp"
|
|
||||||
interpreter "bash"
|
|
||||||
code "
|
|
||||||
unzip /vagrant/cache/gradle-#{ver}-bin.zip
|
|
||||||
mv gradle-#{ver} /opt/gradle/versions/#{ver}
|
|
||||||
"
|
|
||||||
not_if "test -d /opt/gradle/versions/#{ver}"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
script "add-gradle-wrapper" do
|
|
||||||
cwd "/tmp"
|
|
||||||
interpreter "bash"
|
|
||||||
code "
|
|
||||||
cat << \"EOF\" > /opt/gradle/bin/gradle
|
|
||||||
#{gradle_script}
|
|
||||||
EOF
|
|
||||||
chmod a+x /opt/gradle/bin/gradle
|
|
||||||
"
|
|
||||||
end
|
|
20
buildserver/provision-gradle
Normal file
20
buildserver/provision-gradle
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
test -e /opt/gradle/versions || mkdir -p /opt/gradle/versions
|
||||||
|
cd /opt/gradle/versions
|
||||||
|
for f in /vagrant/cache/gradle-*.zip; do
|
||||||
|
ver=`echo $f | sed 's,.*gradle-\([0-9][0-9.]*\).*\.zip,\1,'`
|
||||||
|
if [ ! -d /opt/gradle/versions/${ver} ]; then
|
||||||
|
unzip -qq $f
|
||||||
|
mv gradle-${ver} /opt/gradle/versions/${ver}
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
chmod -R a+rX /opt/gradle
|
||||||
|
|
||||||
|
test -e /opt/gradle/bin || mkdir -p /opt/gradle/bin
|
||||||
|
touch /opt/gradle/bin/gradle
|
||||||
|
chown vagrant.vagrant /opt/gradle/bin/gradle
|
||||||
|
chmod 0755 /opt/gradle/bin/gradle
|
@ -392,12 +392,14 @@ vagrantfile += """
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
chef.add_recipe "fdroidbuild-general"
|
chef.add_recipe "fdroidbuild-general"
|
||||||
chef.add_recipe "gradle"
|
|
||||||
chef.add_recipe "kivy"
|
chef.add_recipe "kivy"
|
||||||
end
|
end
|
||||||
|
|
||||||
config.vm.provision "shell", path: "provision-android-sdk"
|
config.vm.provision "shell", path: "provision-android-sdk"
|
||||||
config.vm.provision "shell", path: "provision-android-ndk"
|
config.vm.provision "shell", path: "provision-android-ndk"
|
||||||
|
config.vm.provision "shell", path: "provision-gradle"
|
||||||
|
config.vm.provision "file", source: "gradle",
|
||||||
|
destination: "/opt/gradle/bin/gradle"
|
||||||
|
|
||||||
end
|
end
|
||||||
""" % (config['debian_mirror'],
|
""" % (config['debian_mirror'],
|
||||||
|
Loading…
Reference in New Issue
Block a user