Engwar

Chintana Wilamuna's weblog

Building WSO2 Carbon from source

with 4 comments

Recently I built WSO2 Carbon. Here’s how I did it with some help from the carbon mailing list :-) Do stick to the same build order. I did this on an Ubuntu machine. If you happen to see maven complaining about running out of memory just do,

$ export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=128m"

First step, build Axis2 1.4.1 from the custom branch

$ svn co http://svn.wso2.org/repos/wso2/branches/axis2/v1.4.1 axis2-1.4.1-branch

Next find the revision of the branch,

$ cd axis2-1.4.1-branch
$ svn info
Path: .
URL: http://svn.wso2.org/repos/wso2/branches/axis2/v1.4.1
Repository Root: http://svn.wso2.org/repos/wso2
Repository UUID: a5903396-d722-0410-b921-86c7d4935375
Revision: 32422
Node Kind: directory
Schedule: normal
Last Changed Author: amila
Last Changed Rev: 30518
Last Changed Date: 2009-02-06 10:39:03 +0530 (Fri, 06 Feb 2009)

Revision 30518 have an inconsistency in modules/addressing/pom.xml where the addressing artefact ID is wrong. You have to get this patch and apply it. Download, save it somewhere and do the following to apply the patch.

$ cd modules/addressing
$ patch -p0 < /home/chintana/addressing-pom.patch
$ cd ../..

Now you're at the Axis2 root level. Before building at the root level you have to build two plugins,

$ cd modules/tool/axis2-mar-maven-plugin
$ mvn clean install
$ cd ../axis2-aar-maven-plugin/
$ mvn clean install
$ cd ../../..

Back at the root level, now you can build the project,

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

Next step is to build Rampart from the custom branch,

$ svn co http://svn.wso2.org/repos/wso2/branches/rampart/1.4.wso2 rampart-custom
$ cd rampart-custom
$ mvn clean install -Dmaven.test.skip=true

Build Sandesha from the custom branch,

$ svn co http://svn.wso2.org/repos/wso2/branches/sandesha2/1.4.wso2 sandesha-custom
$ cd sandesha-custom
$ mvn clean install -Dmaven.test.skip=true

Next up is Savan, again from a custom branch,

$ svn co https://svn.wso2.org/repos/wso2/branches/savan/1.0wso2v1 savan-custom
$ cd savan-custom
$ mvn clean install -Dmaven.test.skip=true

Now all the prerequisites are complete for the Carbon platform. Let's go ahead and build Carbon. It has 3 parts. carbon-orbit, carbon and carbon-components (for carbon I had to change the addressing.version property in root level pom.xml to 1.4.1),

$ svn co http://svn.wso2.org/repos/wso2/trunk/carbon-orbit
$ cd carbon-orbit
$ mvn clean install -Dmaven.test.skip=true
$ cd ..
$ svn co http://svn.wso2.org/repos/wso2/trunk/carbon
$ cd carbon
$ mvn clean install -Dmaven.test.skip=true
$ cd ..
$ svn co http://svn.wso2.org/repos/wso2/trunk/carbon-components
$ mvn clean install -Dmaven.test.skip=true

All righty! After this you can go ahead and build other products which are designed on top of Carbon such as WSO2 WSAS, WSO2 ESB etc...

Written by Chintana

March 27th, 2009 at 5:36 pm

Posted in carbon, wso2

4 Responses to 'Building WSO2 Carbon from source'

Subscribe to comments with RSS or TrackBack to 'Building WSO2 Carbon from source'.

  1. I think if you use -Dmaven.test.skip=true flag when building carbon-orbit and carbon you need the -DfailIfNoTests=false flag as well.

    Asanka Abeysinghe

    28 Mar 09 at 2:53 am

  2. @Asanka: Hmmm, that was not necessary actually. I can build without that flag.

    Chintana

    28 Mar 09 at 2:08 pm

  3. if you use the flag -Dtest=false or -Dtest=skip to skip the tests , you need the -DfailIfNoTests=false flag

    But with -Dmaven.test.skip=true flag -DfailIfNoTests=false flag is not needed

    Charith Wickramarachchi

    12 May 09 at 8:13 am

  4. Tech Question:
    Q

    Rosa L. DeLauro

    1 Jan 10 at 8:40 am

Leave a Reply