├── README.md ├── provision.sh ├── LICENSE └── Vagrantfile /README.md: -------------------------------------------------------------------------------- 1 | # vagrantScala 2 | A vagrant + provision for scala development 3 | This machine use 1024mb memory and has 2 cpus -------------------------------------------------------------------------------- /provision.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | #JAVA 3 | sudo add-apt-repository ppa:webupd8team/java 4 | sudo apt-get update 5 | echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections 6 | sudo apt-get install oracle-java8-set-default 7 | #SCALA 8 | wget http://downloads.typesafe.com/scala/2.11.6/scala-2.11.6.tgz 9 | tar -zxvf scala-2.11.6.tgz 10 | mv scala-2.11.6 /usr/local/share/scala 11 | export SCALA_HOME /usr/local/share/scala 12 | export PATH=$PATH:$SCALA_HOME/bin 13 | #SBT 14 | echo "deb http://dl.bintray.com/sbt/debian /" | sudo tee -a /etc/apt/sources.list.d/sbt.list 15 | sudo apt-get update 16 | sudo apt-get install sbt -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Fabio Oliveira Costa 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /Vagrantfile: -------------------------------------------------------------------------------- 1 | # -*- mode: ruby -*- 2 | # vi: set ft=ruby : 3 | 4 | # Vagrantfile API/syntax version. Don't touch unless you know what you're doing! 5 | VAGRANTFILE_API_VERSION = "2" 6 | 7 | Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| 8 | # All Vagrant configuration is done here. The most common configuration 9 | # options are documented and commented below. For a complete reference, 10 | # please see the online documentation at vagrantup.com. 11 | 12 | # Every Vagrant virtual environment requires a box to build off of. 13 | config.vm.box = "trusty64" 14 | config.vm.box_url = "https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box" 15 | config.vm.provision :shell, path: "provision.sh" 16 | 17 | # Disable automatic box update checking. If you disable this, then 18 | # boxes will only be checked for updates when the user runs 19 | # `vagrant box outdated`. This is not recommended. 20 | # config.vm.box_check_update = false 21 | 22 | # Create a forwarded port mapping which allows access to a specific port 23 | # within the machine from a port on the host machine. In the example below, 24 | # accessing "localhost:8080" will access port 80 on the guest machine. 25 | # config.vm.network "forwarded_port", guest: 80, host: 8080 26 | 27 | # Create a private network, which allows host-only access to the machine 28 | # using a specific IP. 29 | # config.vm.network "private_network", ip: "192.168.33.10" 30 | 31 | # Create a public network, which generally matched to bridged network. 32 | # Bridged networks make the machine appear as another physical device on 33 | # your network. 34 | # config.vm.network "public_network" 35 | 36 | # If true, then any SSH connections made will enable agent forwarding. 37 | # Default value: false 38 | # config.ssh.forward_agent = true 39 | 40 | # Share an additional folder to the guest VM. The first argument is 41 | # the path on the host to the actual folder. The second argument is 42 | # the path on the guest to mount the folder. And the optional third 43 | # argument is a set of non-required options. 44 | # config.vm.synced_folder "../data", "/vagrant_data" 45 | 46 | # Provider-specific configuration so you can fine-tune various 47 | # backing providers for Vagrant. These expose provider-specific options. 48 | config.vm.provider "virtualbox" do |vb| 49 | v.memory = 1024 50 | v.cpus = 2 51 | # # Don't boot with headless mode 52 | # vb.gui = true 53 | # 54 | # # Use VBoxManage to customize the VM. For example to change memory: 55 | # vb.customize ["modifyvm", :id, "--memory", "1024"] 56 | end 57 | # 58 | # View the documentation for the provider you're using for more 59 | # information on available options. 60 | 61 | # Enable provisioning with CFEngine. CFEngine Community packages are 62 | # automatically installed. For example, configure the host as a 63 | # policy server and optionally a policy file to run: 64 | # 65 | # config.vm.provision "cfengine" do |cf| 66 | # cf.am_policy_hub = true 67 | # # cf.run_file = "motd.cf" 68 | # end 69 | # 70 | # You can also configure and bootstrap a client to an existing 71 | # policy server: 72 | # 73 | # config.vm.provision "cfengine" do |cf| 74 | # cf.policy_server_address = "10.0.2.15" 75 | # end 76 | 77 | # Enable provisioning with Puppet stand alone. Puppet manifests 78 | # are contained in a directory path relative to this Vagrantfile. 79 | # You will need to create the manifests directory and a manifest in 80 | # the file default.pp in the manifests_path directory. 81 | # 82 | # config.vm.provision "puppet" do |puppet| 83 | # puppet.manifests_path = "manifests" 84 | # puppet.manifest_file = "default.pp" 85 | # end 86 | 87 | # Enable provisioning with chef solo, specifying a cookbooks path, roles 88 | # path, and data_bags path (all relative to this Vagrantfile), and adding 89 | # some recipes and/or roles. 90 | # 91 | # config.vm.provision "chef_solo" do |chef| 92 | # chef.cookbooks_path = "../my-recipes/cookbooks" 93 | # chef.roles_path = "../my-recipes/roles" 94 | # chef.data_bags_path = "../my-recipes/data_bags" 95 | # chef.add_recipe "mysql" 96 | # chef.add_role "web" 97 | # 98 | # # You may also specify custom JSON attributes: 99 | # chef.json = { mysql_password: "foo" } 100 | # end 101 | 102 | # Enable provisioning with chef server, specifying the chef server URL, 103 | # and the path to the validation key (relative to this Vagrantfile). 104 | # 105 | # The Opscode Platform uses HTTPS. Substitute your organization for 106 | # ORGNAME in the URL and validation key. 107 | # 108 | # If you have your own Chef Server, use the appropriate URL, which may be 109 | # HTTP instead of HTTPS depending on your configuration. Also change the 110 | # validation key to validation.pem. 111 | # 112 | # config.vm.provision "chef_client" do |chef| 113 | # chef.chef_server_url = "https://api.opscode.com/organizations/ORGNAME" 114 | # chef.validation_key_path = "ORGNAME-validator.pem" 115 | # end 116 | # 117 | # If you're using the Opscode platform, your validator client is 118 | # ORGNAME-validator, replacing ORGNAME with your organization name. 119 | # 120 | # If you have your own Chef Server, the default validation client name is 121 | # chef-validator, unless you changed the configuration. 122 | # 123 | # chef.validation_client_name = "ORGNAME-validator" 124 | end 125 | --------------------------------------------------------------------------------