WSO2 invites you to contribute by checking out the source from the source control system, building the product and making changes, and then committing your changes back to the source repository. The following sections describe this process:
Building from source is optional. Users who do not want to make changes to the source code can simply download the binary distribution of WSO2 ESB and install it.
Checking out the source
You can download the complete WSO2 Carbon platform, which is recommended if you intend to modify the source. You can check out the complete source anonymously from Subversion (SVN) with the following commands (replace x.x.x with the version of Carbon you want to build). The Carbon project comes in three sub projects: Orbit, Kernel, and Platform. Download and build them in that particular order.
Orbit:
$ svn checkout https://svn.wso2.org/repos/wso2/carbon/orbit/tags/x.x.x Orbit
Kernel:
$ svn checkout https://svn.wso2.org/repos/wso2/carbon/kernel/tags/x.x.x Kernel
Platform:
$ svn checkout https://svn.wso2.org/repos/wso2/carbon/platform/tags/x.x.x Platform
Access through a firewall
If you are behind a corporate firewall that is blocking HTTP access to the Subversion repository, you can try the developer connection:
$ svn checkout https://svn.wso2.org/repos/wso2/trunk/carbon carbon
Access through a proxy
The Subversion client can be configured to access through a proxy. Specify the proxy to use in the "servers" configuration file in:
- "~/.subversion" directory for Linux/Unix
- "%APPDATA%\Subversion" hidden directory for Windows. (Try "echo %APPDATA%")
The comments in the file explain what to do. If you don't have this file, get the latest Subversion client and run any command. It will create the configuration directory and template files.
For example, edit the 'servers' file and add something similar to the following:
[global] http-proxy-host = your.proxy.name http-proxy-port = 3128
Building the product
Following are the commands you can run to create complete release artifacts of WSO2 ESB, including the binary and source distributions. If you only want to build the ESB, use the -Dproduct=esb
option as shown. If you want to build the entire Carbon core project, omit the -Dproduct=esb
option.
Before you build:
- Install Maven and JDK. See Installation Prerequisites for compatible versions.
- Set the environment variable
MAVEN_OPTS=”-Xms768m -Xmx3072m -XX:MaxPermSize=1200m
” to avoid the MavenOutOfMemoryError.
- Make sure the build server has an active Internet connection to download dependencies while building.
This command... | Creates... |
---|---|
mvn clean install -Dproduct=esb | The binary and source distributions |
mvn clean install -Dmaven.test.skip=true -Dproduct=esb | The binary and source distributions, without running any of the unit tests. |
mvn clean install -Dmaven.test.skip=true -Dproduct=esb -o | The binary and source distributions, without running any of the unit tests, in offline mode. This can be done only if you've already built the source at least once. |
Setting up your development environment
Before you edit the source code in your IDE, set up your development environment by running one of the following commands:
If you are using this IDE... | Run this command... | Additional information |
---|---|---|
Eclipse | mvn eclipse:eclipse | http://maven.apache.org/plugins/maven-eclipse-plugin/ |
IntelliJ IDEA | mvn idea:idea | http://maven.apache.org/plugins/maven-idea-plugin/ |
Committing your changes
If you are a committer, you can commit your changes using the following command (SVN will prompt you for your password):
$ svn commit --username your-username -m "A message"