== CS 4120 VM ==================================================================

We provide this virtual machine to avoid cross-platform issues. It comes
with Java 8, Scala, (Ant, Maven, sbt), JFlex, OCaml (Opam, Oasis), and 
Python 2/3 preinstalled.

It also comes with the test harness (xth) preinstalled. To execute it, simple
execute `xth` inside the VM.

Note that the folder 'shared' is mounted at the path '~/shared' in the VM to
facilitate easy sharing of project files. You can do all editing etc. on your
physical machine and use the virtual machine only to build and run your
application.

To get started, refer to the INSTALL file.



-- FAQ -------------------------------------------------------------------------

How can I mount my xic folder on the physical machine to the virtual machine?

  Create a file "Vagrantfile.local" in the vagrant directory and add the
  following command to it:
    config.vm.synced_folder "<path on physical machine>", "/home/vagrant/xic"
  Then run `vagrant reload`.


The VM on the course website has been updated. How do I update my machine?

  Just override the vagrant folder with the newest version, making sure not to
  loose files in the shared folder. Then run `vagrant reload --provision`.


How can I make my compiler executable by typing just `xic` instead of
`<path>/xic`?

  Your xic executable must be on the PATH. The easiest way to achieve this is to
  execute
    ln -s <absolute path to xic> ~/bin
  which creates a symbolic link to xic in the folder ~/bin; ~/bin is on the PATH
  by default.


I want to use a custom Vagrant file!

  Sure. Create the file "Vagrantfile.local" in the vagrant folder and freely
  add any vagrant commands you want. Execute `vagrant reload` to restart the VM
  and reload the Vagrantfiles.


--------------------------------------------------------------------------------
 - Feb 2016
