mirror of
				https://github.com/f-droid/fdroidserver.git
				synced 2025-11-04 06:30:27 +03:00 
			
		
		
		
	Vagrantfile is now committed and not changed between configurations. It is configed by translating the python config file's dict to a YAML file, which Vagrantfile now loads and uses. This makes it a lot easier for vagrant users and python programmers to understand, and hopefully makes it easier to maintain and test with.
		
			
				
	
	
		
			70 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
 | 
						|
require 'yaml'
 | 
						|
configfile = YAML.load_file('Vagrantfile.yaml')
 | 
						|
 | 
						|
Vagrant.configure("2") do |config|
 | 
						|
 | 
						|
  if Vagrant.has_plugin?("vagrant-cachier")
 | 
						|
    config.cache.scope = :box
 | 
						|
    config.cache.auto_detect = false
 | 
						|
    config.cache.enable :apt
 | 
						|
    config.cache.enable :chef
 | 
						|
  end
 | 
						|
 | 
						|
  config.vm.box = configfile['basebox']
 | 
						|
  config.vm.box_url = configfile['baseboxurl']
 | 
						|
 | 
						|
  config.vm.provider "virtualbox" do |v|
 | 
						|
    v.customize ["modifyvm", :id, "--memory", configfile['memory']]
 | 
						|
    v.customize ["modifyvm", :id, "--cpus", configfile['cpus']]
 | 
						|
    v.customize ["modifyvm", :id, "--hwvirtex", configfile['hwvirtex']]
 | 
						|
  end
 | 
						|
 | 
						|
  config.vm.boot_timeout = configfile['boot_timeout']
 | 
						|
 | 
						|
  config.vm.provision :shell, :path => "fixpaths.sh"
 | 
						|
 | 
						|
  if configfile.has_key? "aptproxy"
 | 
						|
    config.vm.provision :shell, path: "provision-apt-proxy",
 | 
						|
      args: [configfile["aptproxy"]]
 | 
						|
  end
 | 
						|
 | 
						|
  # buildserver/ is shared to the VM's /vagrant by default so the old
 | 
						|
  # default does not need a custom mount
 | 
						|
  if configfile["cachedir"] != "buildserver/cache"
 | 
						|
    config.vm.synced_folder configfile["cachedir"], '/vagrant/cache',
 | 
						|
      owner: 'root', group: 'root', create: true
 | 
						|
  end
 | 
						|
 | 
						|
  # cache .deb packages on the host via a mount trick
 | 
						|
  if configfile.has_key? "aptcachedir"
 | 
						|
    config.vm.synced_folder configfile["aptcachedir"], "/var/cache/apt/archives",
 | 
						|
      owner: 'root', group: 'root', create: true
 | 
						|
  end
 | 
						|
 | 
						|
  config.vm.provision "shell", path: "setup-env-vars",
 | 
						|
    args: ["/home/vagrant/android-sdk"]
 | 
						|
  config.vm.provision "shell", path: "provision-apt-get-install",
 | 
						|
    args: [configfile['debian_mirror']]
 | 
						|
 | 
						|
  config.vm.provision :chef_solo do |chef|
 | 
						|
    chef.cookbooks_path = "cookbooks"
 | 
						|
    chef.log_level = :debug
 | 
						|
    chef.add_recipe "kivy"
 | 
						|
  end
 | 
						|
 | 
						|
  config.vm.provision "shell", path: "provision-android-sdk"
 | 
						|
  config.vm.provision "shell", path: "provision-android-ndk",
 | 
						|
    args: ["/home/vagrant/android-ndk"]
 | 
						|
  config.vm.provision "shell", path: "provision-pip",
 | 
						|
    args: ["compare-locales"]
 | 
						|
  config.vm.provision "shell", path: "provision-gradle"
 | 
						|
  config.vm.provision "file", source: "gradle",
 | 
						|
    destination: "/opt/gradle/bin/gradle"
 | 
						|
 | 
						|
  # let Ubuntu/trusty's paramiko work with the VM instance
 | 
						|
  if `uname -v`.include? "14.04"
 | 
						|
    config.vm.provision "shell", path: "provision-ubuntu-trusty-paramiko"
 | 
						|
  end
 | 
						|
 | 
						|
end
 |