Skip to content
This repository has been archived by the owner on Jun 7, 2023. It is now read-only.

Development environment

Rustam Aliyev edited this page Sep 19, 2013 · 4 revisions

Setup IDE Project (Eclipse)

Following setup guide is for Eclipse, but shouldn't be very different for others. Before you start make sure you have Maven and EGit plugins for Eclipse installed.

Clone github repo (use your own fork) form command line:

git clone [email protected]:elasticinbox/elasticinbox.git elasticinbox

or from Eclipse:

  1. File > Import > Git > Projects form Git > Clone…
  2. Enter [email protected]/elasticinbox/elasticinbox.git (protocol SSH)
  3. Chose destination folder and Finish

Now import Maven project:

  1. File > Import > Maven > Existing Maven Projects
  2. Select path where you cloned git repo into
  3. You will need only following packages: MVN Packages

Finally, update Eclipse with local git repo info:

  1. Select all elasticinbox packages in Package Explorer
  2. Right click on selection > Team > Share Project… > Git
  3. Check "Use or create repository in parent folder or project" and click Finish

Done!

Configuring

You will need Cassandra running on your dev host and create keyspace and column families. See config/elasticinbox.cml for setup instructions.

Next, configure ElasticInbox: config/elasticinbox.yaml

Key points for ElasticInbox config:

  1. Check Cassandra configuration (cassandra_hosts, cassandra_cluster_name, cassandra_keyspace)
  2. For development you may want to use your local file system as a blob store. Make sure blobstore_write_profile points to the filesystem profile and that basedir and container folders exist (container should be subfolder of basedir, i.e. /basedir/container).

Finally you may want to enable DEBUG in config/logback.xml.

Building and Running

ElasticInbox uses OSGi bundles and Pax Tools. To build from source you will need Maven 3 and:

mvn clean install

If you would like to build and run (skipping integration test) use command below. By default it will run using Equinox. Change profile (-P) to use Felix. For profiling use "visualvm" profile.

mvn clean install pax:provision -DskipITs -P[visualvm|felix|equinox]

For integration tests run:

mvn clean integration-test

Note: Currently unit and integration tests require local Cassandra setup.

To build package (package will be available at /assembly/target):

mvn clean package -Passembly

Clone this wiki locally