###Prepare Before you start, make sure you have the following software on your machine:
- java 7
- maven 3
- node.js
- ruby (required for sass/compass)
- git (even if you download this as ZIP, git is needed in the PATH because some bower dependencies are fetched via git)
####install compass This project uses sass and compass, install it via rubygems:
gem install compass
####install grunt, bower and yeoman Install these tools via the node packaging manager npm:
npm install -g grunt-cli bower yo
####special steps for windows
- add an environment variable CHROME_BIN pointing to chrome.exe (needed for karma)
- make sure the bin folder of your rubygems repo is in your PATH (more information here)
###Run To build and deploy the application locally in a jetty server, run:
mvn jetty:run-war
(Note: the goal jetty:run will only start the backend and not serve the client application)
In the root directory:
mvn install
####Build client only In /src/main/js
npm install && bower update && grunt
After you have done this once and the npm packages and bower dependencies are installed you only have to run
grunt
###Develop For development you may want to run the server and client parts independenly. This allows you to deploy the WAR in your favorite IDE in a local servlet container (maybe even with JRebel!) and run the grunt 'server' task with live-reload at the same time.
- make sure you run your servlet container on port 8080 and set the context path to '/' (The grunt task 'server' will forward all requests to http://localhost/rest to this port, you can change this in Gruntfile.js)
- deploy the war and start the server
- in src/main/js run
grunt server