I really don't think it is intentionally difficult to build. The product is huge with tons for developers working on it. Most of the problems seem to be due to erroneous developer commits. I understand that WSO2 will change the development process to make it more reliable (source: Manoj Comment ).
The WSO2 product suite is awesome and well designed. They can be built, but you will need to continue and solve problems along the way.
It took me several days to create a working assembly in my free time. The following is a rough sequence of tasks:
1) Checkout branch 4.0.0:
svn co https://svn.wso2.org/repos/wso2/carbon/orbit/branches/4.0.0 svn co https://svn.wso2.org/repos/wso2/carbon/kernel/branches/4.0.0 svn co https://svn.wso2.org/repos/wso2/carbon/platform/branches/4.0.0
Further information on the top-level structure of the code can be found here: what is wso2 'orbit', 'kernel' and 'platform'?
2) Determine which version of the product you need to build - What version of the patch to build?
3) Create three separate code bases (create the main branch plus versions of the patch release below your required version).
- build orbit 4.0.0 / Then build orbit / patch release / 4.0.x
- build kernel 4.0.0 / Then create kernel / patch-release / 4.0.x
- build platform 4.0.0 / Then create the platform / patch -release / 4.0.x
Note for assembly:
- use Java 6 ( Use Sun / Oracle JDK - not OpenJDK )
- use maven 3
- set MAVEN_OPTS to
-Xms512m -Xmx1024m -XX:MaxPermSize=1024m - you'll probably need to use the following mvn command line:
mvn clean install -Dmaven.test.skip=true
Here you will find the built-in zip file: ROOT/distribution/product/modules/distribution/target/ (source: WSO2 Carbon 4.1.x - how to make a distribution )
Be prepared to set the time to track down and fix problems when you meet them. Most of the problems seem to be related to maven dependency problems. Using Google, you can usually find the answer. You are also posting any problems you need help with on stackoverflow.
Chris snow
source share