
------------------------------------------------------------
 About this README
------------------------------------------------------------

This README is intended to provide quick and to-the-point documentation for
technical users intending to compile parts of Guacamole themselves.

Distribution-specific packages are available from the files section of the main
project page:
 
    http://sourceforge.net/projects/guacamole/files/

Distribution-specific documentation is provided on the Guacamole wiki:

    http://guac-dev.org/


------------------------------------------------------------
 What is Guacamole?
------------------------------------------------------------

Guacamole is an HTML5 web application that provides access to your desktop using
remote desktop protocols. A centralized server acts as a tunnel and proxy,
allowing access to multiple desktops through a web browser; no plugins needed.
The client requires nothing more than a web browser supporting HTML5 and AJAX.

The Guacamole project maintains this web application and the Java and C
libraries and programs it depends on. These libraries and programs are
separate in order to enable others to implement other applications using the
same underlying technology.

All components and dependencies of Guacamole are free and open source.


------------------------------------------------------------
 Compiling and installing Guacamole
------------------------------------------------------------

Guacamole is built using Maven. Building Guacamole compiles all classes and
packages them into a deployable .war file. This .war file can be installed
and deployed under servlet containers like Apache Tomcat or Jetty.

1) Run mvn package

    $ mvn package

    Maven will download any needed dependencies for building the .jar file.
    Once all dependencies have been downloaded, the .war file will be
    created in the target/ subdirectory of the current directory.

2) Copy the .war file as directed in the instructions provided with
   your servlet container.

   Apache Tomcat, Jetty, and other servlet containers have specific and
   varying locations that .war files must be placed for the web
   application to be deployed.

   You will likely need to do this as root.


------------------------------------------------------------
 Reporting problems
------------------------------------------------------------

Please report any bugs encountered by opening a new ticket at the Trac system
hosted at:
    
    http://guac-dev.org/trac/

