Tools and Frameworks Setup

  1. Apache Maven
    Hint: Maven is a Java tool, so you must have Java installed in order to proceed
    1. Install Apache Maven 3.0 using an appropriate package manager with package name homebrew/versions/maven30. We have had issues with newer versions of maven, so it is advisable to install 3.0.
    2. Create/Update settings.xml file1 at <maven directory> (<user_home_directory>/.m2 on Mac OS X)
    3. Increase maven permgen size by creating an environment variable called MAVEN_OPTS with value “-XX:MaxPermSize=256m -Xmx512m”. On Mac OS X this can be done by adding export MAVEN_OPTS="-XX:MaxPermSize=256m -Xmx512m" to bash_rc or bash_profile
  1. Android SDK
    1. Download and install Android SDK.
    2. Launch Android SDK Manager by using android command. Install the below mentioned components
      Hint: To launch Android SDK Manager on Android Studio, cd to the tools folder and use the command: ./android sdk
      1. Tools –> Android SDK Tools
      2. Tools –> Android SDK Platform Tools
      3. Android 4.1.2 (API 16) –> SDK Platform
      4. Android 4.1.2 (API 16) –> ARM EABI v7a System Image
    3. Create an environment variable ANDROID_HOME pointing to the SDK root path
  2. JDK Setup
    1. Install JDK 1.6 and 1.7 from Oracle website
    2. Create an environment variable JAVA_HOME which points to home directory of JDK 1.7. On Mac OS X, this may be located at /Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home. But we have found the path to vary across machines, so please find the location for your machine and use that.
  3. Node modules setup. Note: Some of these commands may require sudo permissions.
    1. Install NodeJS using an appropriate package manager with package name node and version 0.10.17
    2. Install npm using an appropriate package manager with package namenpm and version 1.3.8
    3. Install PhantomJS using npm install -g phantomjs@1.9.8
    4. Install Karma using npm install -g karma@0.12.31
    5. Install Handlebars using npm install -g handlebars@1.0.12
    6. Install Grunt Command Line Tool using npm install grunt-cli@0.1.9
    7. Install CORS Proxy using npm install corsproxy@0.2.14
  4. Install ActiveMQ using an appropriate package manager with package nameactivemq and version 5.7.0
    1. ActiveMQ needs to be started for Dristhi server to build, so follow the instructions at the end of the installation to start it the way you prefer
    2. ActiveMQ by default has only 1MB memory limit. This is usually not sufficient. Increase ActiveMQ memory by updating ActiveMQ configuration2. ActiveMQ configuration can be found at <activemq_install_location>/conf/activemq.xml
  5. Install PostgreSQL using an appropriate package manager with package namepostgresql and version 9.2.1
    1. PostgreSQL needs to be started for Dristhi server to build, so follow the instructions at the end of the installation to start it the way you prefer
    2. Create a user called ‘postgres’ by using createuser -P postgres. Set the password as ‘password’. This is required for building server
    3. Login to database using psql -U postgres. Create a database called ‘drishti’ using CREATE DATABASE drishti
  6. Install CouchDB using an appropriate package manager with package namecouchdb and version 1.2.0
  7. Install Git using an appropriate package manager with package name git