Added Vagrant support (#123)
This makes installation easier, esp for those that do not know the toolchain.
This commit is contained in:
		
				
					committed by
					
						
						Colin Jones
					
				
			
			
				
	
			
			
			
						parent
						
							247e5d0351
						
					
				
				
					commit
					a3fb3b5bc8
				
			
							
								
								
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -201,3 +201,6 @@ local.properties
 | 
			
		||||
# sftp configuration file
 | 
			
		||||
sftp-config.json
 | 
			
		||||
 | 
			
		||||
# Vagrant
 | 
			
		||||
.vagrant/
 | 
			
		||||
ubuntu-xenial-16.04-cloudimg-console.log
 | 
			
		||||
							
								
								
									
										33
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										33
									
								
								README.md
									
									
									
									
									
								
							@@ -5,7 +5,7 @@ experience assumed or required.  Just follow the instructions below to start
 | 
			
		||||
making tests pass!
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### Getting Started
 | 
			
		||||
## Getting Started
 | 
			
		||||
 | 
			
		||||
The easiest and fastest way to get the koans up and running is to [download the
 | 
			
		||||
latest zip file from Github](https://github.com/functional-koans/clojure-koans/releases).
 | 
			
		||||
@@ -20,6 +20,23 @@ your own branch - that way if you pull back the latest koans from master, it'll
 | 
			
		||||
be a bit easier to manage the inevitable conflicts if we make changes to
 | 
			
		||||
exercises you've already completed.
 | 
			
		||||
 | 
			
		||||
You can install the dependencies for the koans (such as Clojure) on your machine,
 | 
			
		||||
or you can use Vagrant and the configuration in this repository to have everything
 | 
			
		||||
you need set up in a virtual machine.
 | 
			
		||||
 | 
			
		||||
### Installation with Vagrant
 | 
			
		||||
 | 
			
		||||
Make sure you have [Vagrant](https://www.vagrantup.com/) and
 | 
			
		||||
[VirtualBox](https://www.virtualbox.org) installed.
 | 
			
		||||
In the root directory of the project, execute:
 | 
			
		||||
 | 
			
		||||
    vagrant up
 | 
			
		||||
    vagrant ssh
 | 
			
		||||
    cd /vagrant
 | 
			
		||||
    lein koan run
 | 
			
		||||
 | 
			
		||||
### Installation on Your Machine
 | 
			
		||||
 | 
			
		||||
The only things you'll need to run the Clojure Koans are:
 | 
			
		||||
 | 
			
		||||
- JRE 1.6 or higher
 | 
			
		||||
@@ -30,8 +47,6 @@ automatically install the Clojure jar in the right place. Leiningen will also
 | 
			
		||||
get you a couple more jarfiles, including JLine, which allows you some of the
 | 
			
		||||
functionality of readline (command-line history, for example).
 | 
			
		||||
 | 
			
		||||
### Installing dependencies
 | 
			
		||||
 | 
			
		||||
Dependencies are installed automatically with lein 2, but if for some reason
 | 
			
		||||
you're on lein 1 and can't upgrade, you'll need to run
 | 
			
		||||
 | 
			
		||||
@@ -41,7 +56,7 @@ which will download all dependencies you need to run the Clojure koans.
 | 
			
		||||
 | 
			
		||||
I strongly recommend that you upgrade to lein 2 instead!
 | 
			
		||||
 | 
			
		||||
### Running the Koans
 | 
			
		||||
## Running the Koans
 | 
			
		||||
 | 
			
		||||
If you're running from the zipfile, simply run
 | 
			
		||||
 | 
			
		||||
@@ -83,7 +98,7 @@ things pass, you should work thoughtfully, making sure you understand why the
 | 
			
		||||
answer is what it is.  Enjoy your path to Clojure enlightenment!
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### Trying more things out
 | 
			
		||||
## Trying more things out
 | 
			
		||||
 | 
			
		||||
There's a REPL (Read-Evaluate-Print Loop) included in the Clojure Koans. Just
 | 
			
		||||
run:
 | 
			
		||||
@@ -114,7 +129,7 @@ will show you what those commands mean.
 | 
			
		||||
You can exit the REPL with `CTRL-d` on any OS.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### Contributing
 | 
			
		||||
## Contributing
 | 
			
		||||
 | 
			
		||||
Patches are encouraged!  Make sure the answer sheet still passes
 | 
			
		||||
(`lein koan test`), and send a pull request.
 | 
			
		||||
@@ -132,12 +147,12 @@ Feel free to contact me (Colin Jones / trptcolin) on Github or elsewhere if you
 | 
			
		||||
have any questions or want more direction before you start pitching in.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### Contributors
 | 
			
		||||
## Contributors
 | 
			
		||||
 | 
			
		||||
https://github.com/functional-koans/clojure-koans/contributors
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### Credits
 | 
			
		||||
## Credits
 | 
			
		||||
 | 
			
		||||
These exercises were started by [Aaron Bedra](http://github.com/abedra) of
 | 
			
		||||
[Relevance, Inc.](http://github.com/relevance) in early 2010, as a learning
 | 
			
		||||
@@ -150,7 +165,7 @@ learning a programming language started with the
 | 
			
		||||
[Ruby Koans](http://rubykoans.com) by [EdgeCase](http://github.com/edgecase).
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### License
 | 
			
		||||
## License
 | 
			
		||||
 | 
			
		||||
The use and distribution terms for this software are covered by the
 | 
			
		||||
Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										31
									
								
								Vagrantfile
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								Vagrantfile
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,31 @@
 | 
			
		||||
Vagrant.configure("2") do |config|
 | 
			
		||||
  config.vm.box = "ubuntu/xenial64"
 | 
			
		||||
 | 
			
		||||
  config.vm.network "private_network", ip: "192.168.33.33"
 | 
			
		||||
 | 
			
		||||
  config.vm.provider "virtualbox" do |vb|
 | 
			
		||||
    vb.memory = "1024"
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  config.vm.provision "shell", inline: <<-SHELL
 | 
			
		||||
    set -x
 | 
			
		||||
 | 
			
		||||
    #apt-get update
 | 
			
		||||
    #apt-get upgrade -y
 | 
			
		||||
    apt-get install -y openjdk-8-jdk
 | 
			
		||||
  SHELL
 | 
			
		||||
 | 
			
		||||
  config.vm.provision "shell", privileged: false, inline: <<-SHELL
 | 
			
		||||
      pwd
 | 
			
		||||
      mkdir bin
 | 
			
		||||
      echo "PATH=\$PATH:~/bin" >> .bashrc
 | 
			
		||||
 | 
			
		||||
      cd bin
 | 
			
		||||
      wget https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein
 | 
			
		||||
      chmod +x lein
 | 
			
		||||
      ./lein
 | 
			
		||||
 | 
			
		||||
      cd /vagrant
 | 
			
		||||
      ~/bin/lein deps
 | 
			
		||||
    SHELL
 | 
			
		||||
end
 | 
			
		||||
		Reference in New Issue
	
	Block a user