Added Vagrant support (#123)

This makes installation easier, esp for those that do not know
the toolchain.
master
Jeroen De Dauw 7 years ago committed by Colin Jones
parent 247e5d0351
commit a3fb3b5bc8

3
.gitignore vendored

@ -201,3 +201,6 @@ local.properties
# sftp configuration file
sftp-config.json
# Vagrant
.vagrant/
ubuntu-xenial-16.04-cloudimg-console.log

@ -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

@ -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
Loading…
Cancel
Save