Getting Started

SCI-Flex is a 100% Open Source project. Below are some important details that will help you get started with SCI-Flex. If you are new to Open Source projects you may consider reading this article to get a better understanding.

 

Obtaining the SCI-Flex Code


You can obtain the code by downloading the source distribution or, more commonly, checking out the source from Subversion (SVN). To checkout the code from Subversion, firstly get subversion installed, then use the following commands:

svn co http://sci-flex.googlecode.com/svn/trunk [path-where-you-want-the-code]

If you are a committer then you need to use the secure version:

svn co https://sci-flex.googlecode.com/svn/trunk [path-where-you-want-the-code]

 

Building


The first thing you need to build the code is JDK1.5 and Maven2 (you need at least version 2.0.7).

Before building, it is important to understand the SCI-Flex includes two major components:
  1. SCI-Flex Core: contains SCI-Flex core code (dir: sci-flex)
  2. SCI-Flex Synapse-Esper Plugin: contains the SCI-Flex Synapse-Esper mediator (dir: seplugin)
To build, each component of SCI-Flex do:

mvn clean install

To build the distribution archive packages do (the distribution archives are created in new folder named target):

mvn assembly:assembly -Drelease

 

Offline builds


The first time you build Maven downloads all the required dependency jars to your local repository, after there has been a successful build you can add the "-o" parameter to the above commands to run in offline mode which avoids going out to remote Maven repositories. The result - the build runs faster.

mvn clean install -o

or

mvn assembly:assembly -Drelease -o



Skipping tests


If you don't want to have all the SCI-Flex test cases run during the build you can add the parameter "-Dmaven.test.skip=true", eg:

mvn clean install -o -Dmaven.test.skip=true


or

mvn assembly:assembly -Drelease -o -Dmaven.test.skip=true

 

Updating Snapshots


Sometimes the trunk build uses snapshot versions of some dependency jars which can go out of date but may not get refreshed in your local Maven repository even when the "-o" parameter is not used. So if you get build failures you can try refreshing any snapshot dependencys with the "-U" parameter, eg:

mvn clean install -U

By default the Maven local repository is in your home directory, you can change this so the build uses use a different local repository with the parameter "-Dmaven.repo.local=", eg:

mvn clean install -Dmaven.repo.local=\MyRepo

 

Eclipse Projects


You can create Eclipse project definitions for SCI-Flex (that can be imported directly into Eclipse). At a top level SCI-Flex component folder run:

mvn eclipse:eclipse

Now within eclipse you can import those SCI-Flex projects into an Eclipse workspace. From Eclipse do File -> Import, expand the "General" toggle and choose "Existing Projects into Workspace", click Next, click Browse and navigate to your top level SCI-Flex folder, click OK and it should find the SCI-Flex projects, click Finish. That should set up the projects and show them in the Package Explorer. There will be lots of compile errors about missing classpath entries, to fix this select Window -> Preferences, expend the Java toggle, then expand the Build Path toggle and select Classpath Variables. Click New and use the name "M2_REPO" and then click Folder and navigate to you local Maven repository (eg C:/Documents and Settings/Administrator/.m2/repository), click OK and again OK and it should rebuild everything with all the compile errors gone.