Last Published : April 23 2010

Code setup on development environment


If you have reached this point,this may mean you are interested in either contributing or extending the source code. Find a brief description of what needs to be done in order for you to get started

Anonymous download


If you are not planning to be contributor , instead just want to look at the code for learning purpose or for extending, you might as well download the source release accompanying any versioned releases. This generally means you can replicate the code expectations by testing the binary builds. However if you want to checkout the latest head version you may use the following cvs proxy mobchannel.sourceforge.net , use pserver as the connection method and do an anonymous download of the source code

Developer Download


This assumes you are enrolled as a developer to this project and you have your sourceforge unix id and password. WinCVS is a popular windows tool for downloading files , if you are using the eclipse IDE then use the File->Import->CVS->Project From CVS. Provide the host name as mobchannel.sourceforge.net , the cvsroot for the project is /cvsroot/mobchannel. Please use extssh as the protocol and not pserver.

Environment Setup


The workbench for this project requires ANT 1.6 or later and JBOSS 4.2.2 for compilation. For tests to run successfully a MySQL Installation is required, MySQL 5.2 is Recommended.

Setting up project home


CPS_PROJECT_HOME environment should be defined to point to your project root directory. Most of the developers in this project use C:\mobchannel as the CPS_PROJECT_HOME path. In order for the deploy scripts to work property JBOSS_HOME or TOMCAT_HOME should be deployed depending on whether you want to build an ear binary or a war binary.

The master make project


Use CVS commandline or any CVS client to download the 'make' project. The repository path for this pojrect is /cvsroot/mobchannel/make cvs -d:pserver:anonymous@mobchannel.cvs.sourceforge.net:/cvsroot/mobchannel login
cvs -z3 -d:pserver:anonymous@mobchannel.cvs.sourceforge.net:/cvsroot/mobchannel co -P make
Once the make project is downloaded run the install-libs task to setup the binary library dependencies
Download and add jsch jar to the classpath * Make sure you are using apache-ant-1.6.5 and jsch-0.1.29.jar in the classpath. apache-ant-1.7.0 hangs with scp task.

Run the install-source

Setting up the db


Download the mobchannelDATA project and execute the ant target setup-db to initialize your db with the mobchannel schema. This assumes you have Installed MySQL.

Download the library repository


Run the install-libs target from the make project , to download the repositories to build the project.

Test the pesistence manager project


Download the mobchannel-persistence-manager from cvs. Also download the mobchannel-persistence-manager-test project as this contains the test run dependencies. Run the test-execute ant target to see whether your setup has succeeded.

Build mobchannelWEB


Download mobchannelWEB from the cvs repository. Execute the ant build target and you should get the mobchannelWEB.war in the build directory. While it is possible to use mobchannelWEB.war as a standalone. Alternately you can first run the ant dist target on the persistence-manager-project and then do a dist-lite on the mobchannelWebProject,which will build a generic war archive that can be deployed on any generic web container like Tomcat.

Building mobchannelEAR.ear


Download the mobchannelEAR project and execute the default target, this will build both mobchannelWEB and mobchannel-persistence-manager projects if they are not already built. Execute the start-server target,assuming you have set the JBOSS_HOME environment variable correctly the server should start and you should be able to see the home webpage by hitting the http://localhost:port url for your jBoss installation.You can stop the server using the stop-server project.

The master make project


While the .ear artifact is the primary artifiact the the previous build process completes the software build, ther are such onerous tasks as building this documentation. The master make project downloadable as 'make' is one beast that does things we don't want to give funky names to in addition to directing the build of primary and secondary artifacts.

The Road Ahead


While ant continues to be our favourite build toolchain , the java world is abuzz with maven, we've been considering migrating to maven as well with the possiblity of using ant for specific tasks that can't be contained. Along with easier management of dependencies maven enforces a standard pattern for managing builds which sounds irresistible but we haven't decided when you make the plunge, if you are maven fan and willing to help us with this do let us know.