

## Temporarily using ANT compile the Aurora Management code.
## TODO: integrate with maven build system, instead of using ANT

#In the following directory run the compilation command:
airavata/modules/cloud/MarathonIntegration/src

#Compilation command
ant all

#Run command
## TODO: add the command to run and test the code

## Add sample output that shows the Marathon code working

