WSO2 invites you to contribute by checking out downloading the source from the Subversion (SVN) code from the GitHub source control system, building the product and and making changes, and then then committing your changes back back to the source repository. (For more information on Subversion, see http://svnbook.red-bean.com/. ) The following sections describe this process:
...
Info |
---|
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 Business Rules Server the product and install it. |
...
Downloading the
...
source
Anchor | ||||
---|---|---|---|---|
|
You can download the complete WSO2 products are built on top of WSO2 Carbon platformKernel, 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 (Business Rules Server 2.0.0 is based on Carbon 4.0.3) and replace <local-x-directory>
with meaningful names, such as: svn checkout https://svn.wso2.org/repos/wso2/carbon/orbit/tags/4.0.3 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:
Code Block |
---|
[global]
http-proxy-host = your.proxy.name
http-proxy-port = 3128 |
...
Following are the Apache Maven commands you can run to create complete release artifacts of WSO2 Business Rules Server, including the binary and source distributions. If you only want to build Business Rules Server, use the -Dproduct=brs
option as shown. If you want to build the entire Carbon core project, omit the -Dproduct=brs
option.
Before you buildcontains the Kernel libraries used by all products. When there are changes in the Carbon Kernel, they are bundled and released in a new WSO2 Carbon version (for example, WSO2 Carbon 4.3.0). You can download the complete WSO2 Kernel release using the following repository: https://github.com/wso2/carbon4-kernel, which is recommended if you intend to modify the source. After downloading the source of the Carbon Kernel, execute the following command to download the source of the product: git clone https://github.com/wso2/product-brs
Note |
---|
After the source code is downloaded, you can start editing. However, it is recommended to run a build prior to changing the source code to ensure that the download is complete. |
After downloading the source of the Carbon Kernel, execute the following command to download the source of the product: git clone https://github.com/wso2/product-brs
Editing the source code
Now that you have downloaded the source code for the Carbon project from GitHub, you can prepare your development environment and do the required changes to the code.
To edit the source code in your IDE, set up your development environment by running one of the following commands:
IDE 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 - Add the required changes to the source code.
Anchor | ||||
---|---|---|---|---|
|
Ensure that the following prerequisites are in place before you build:
- Make sure the build server has an active Internet connection to download dependencies while building.
- Install Maven and JDK. See For compatible versions, see Installation Prerequisites for compatible versions.
- Set the environment variable variable
MAVEN_OPTS=”-
Xms768mXms1024m -
Xmx3072mXmx4096m -XX:MaxPermSize=
1200m”1024m
” to avoid the Maven MavenOutOfMemoryError.
Use the following Maven commands to build your product:
Command | Description |
---|---|
mvn clean install -Dproduct=brs | The binary and source distributions. |
mvn clean install -Dmaven.test.skip=true -Dproduct=brs | The binary and source distributions, without running any of the unit tests. |
mvn clean install -Dmaven.test.skip=true -Dproduct=brs -o | The binary and source distributions, without running any of the unit tests, in offline mode. This can be done only if you 've have already built the source at least once. |
...
Committing your
...
Before you edit the source code in your IDE, set up your development environment by running one of the following commands:
IDE | 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/ |
...
If you are a committer, you can commit your changes using the following command (SVN will prompt you for your password):
...
changes
You can contribute to WSO2 products by committing your changes to GitHub. Whether you are a committer or a non-committer, you can contribute with your code as explained in the Get Involved section.