WSO2 invites you to contribute by checking out the source from the Subversion (SVN) source control system, building the product and making changes, and then committing your changes back to the source repository. (For more information on Subversion, see http://svnbook.red-bean.com/.) 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. The Carbon project comes in three sub projects: Orbit, Kernel, and Platform. Download and build them in that specific order. You can check out the source code anonymously using the checkout
command as shown in the following examples. Replace x.x.x
with the version of Carbon you want to build and <local-x-directory>
with meaningful names, such as: svn checkout https://svn.wso2.org/repos/wso2/carbon/orbit/tags/4.1.0 wso2carbon-orbit
Orbit:
$ svn checkout https://svn.wso2.org/repos/wso2/carbon/orbit/tags/x.x.x <local-orbit-directory>
Kernel:
$ svn checkout https://svn.wso2.org/repos/wso2/carbon/kernel/tags/x.x.x <local-kernel-directory>
Platform:
$ svn checkout https://svn.wso2.org/repos/wso2/carbon/platform/tags/x.x.x <local-platform-directory>
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 to the trunk. For example:
$ svn checkout https://svn.wso2.org/repos/wso2/trunk/carbon wso2carbon
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 Apache Maven 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"