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, refer 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 Business Rules Server and install it.
Checking out the source
WSO2 products are built on top of WSO2 Carbon Kernel, which contains 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.2.0).
A WSO2 platform release is a set of WSO2 products based on the same Carbon release. For example, Turing
is the platform release name for WSO2 Carbon 4.2.0 and the WSO2 products that are based on it. Usually, not all products in a platform get released at the same time, so they are released in chunks, each of which contains the Carbon release and a subset of products. For example, chunk 11 of the Turing
platform release contains Carbon 4.2.0 plus BRS 2.1.0 and other products. When you want to build a product from source, you download and build the appropriate platform chunk. (To determine which chunk to use for a specific product version, refer the Release Matrix).
BRS 2.1.0 is released in Turing
chunk 11, which you can download using the checkout command as shown below (replace <localDir>
with a meaningful name, such as wso2carbon-platform
):
$ svn checkout https://svn.wso2.org/repos/wso2/carbon/platform/tags/turing-chunk11 <local-platform-directory>
Building the product
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 build:
- Make sure the build server has an active Internet connection to download dependencies while building.
- 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.
Command | Description |
---|---|
mvn clean install -Dproduct=brs | The binary and source distributions |
mvn clean install -Dmaven.test.skip=true | The binary and source distributions, without running any of the unit tests. |
mvn clean install -Dmaven.test.skip=true -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:
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/ |
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"