Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

WSO2 invites you to contribute by by checking out the source from  from the Subversion (SVN) 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 see http://svnbook.red-bean.com/.) The following sections describe this process:

Table of Contents
maxLevel3

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 ESB and install it.

Checking out the source source
Anchor
checkout
checkout

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 and <local-x-directory>with meaningful names, such as: svn checkout contains the Kernel libraries used by all products.  A WSO2 platform release is a set of WSO2 products based on the same Carbon release. When there are changes in the Carbon Kernel, they are bundled and released in a new WSO2 Carbon version (for example, WSO2 Carbon 4.1.0).

Checking out the patches

Before checking out the product source, you need to checkout the patches related to the Carbon chunk using the following command.

$ svn checkout https://svn.wso2.org/repos/wso2/carbon/

...

kernel/branches/<WSO2-Carbon-version>/ <local-platform-directory-1>
Info

Replace <local-platform-directory-1> with a meaningful name, such as wso2carbon-platform.

Info

Also replace <WSO2-Carbon-version> in the above command with the WSO2 Carbon version, on which a specific product version is based. To find out the WSO2 Carbon version, see the Release Matrix. For example, for products based on WSO2 Carbon 4.1.0

...

, the command is as follows:

$ svn checkout https://svn.wso2.org/repos/wso2/carbon/

...

kernel/

...

branches/

...

4.

...

1.0/patches/ <local-platform-

...

Kernel:

...

directory-1>

Downloading the product source

Download the product source using the checkout command as shown below.

$ svn checkout https://svn.wso2.org/repos/wso2/carbon/

...

platform/tags

...

Platform:

...

/<WSO2-Carbon-version>/products/ <local-platform-directory-2>

Info

Replace <local-platform-directory-2> with a meaningful name, such as wso2carbon-platform.

Info

To find out on the WSO2 Carbon version, which a specific product version is based on, see the Release Matrix. Replace <WSO2-Carbon-version> in the above command with it. For example, for products based on WSO2 Carbon 4.1.0, the command is as follows:

$ svn checkout https://svn.wso2.org/repos/wso2/carbon/platform/tags/

...

4.

...

1.

...

0/ <local-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 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

directory-2>

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
Eclipsemvn eclipse:eclipse http://maven.apache.org/plugins/maven-eclipse-plugin
IntelliJ IDEAmvn idea:idea http://maven.apache.org/plugins/maven-idea-plugin

If you are using a later Eclipse version and if you get errors (library path etc.) when trying to import the source code using the Existing Projects into Workspace, follow the steps below to solve them by importing the source code as a Maven project.

  1. Build the source using the command: mvn clean install
  2. Open Eclipse and click Import in the File menu and then click Existing Maven Projects as shown below: 
    Image Added

Building the product 
Anchor
build
build

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:

Follow the instructions below to build the product after editing the source code:

Info
Make sure the build server has an active Internet connection to download dependencies while building.
  1. Install Maven and JDK.

...

  1. See Installation Prerequisites

...

  1.  for compatible versions. 
  2. Set the environment

...

  1. variable  MAVEN_OPTS=

...

  1. "-

...

  1. Xms1024m -

...

  1. Xmx4096m -XX:MaxPermSize=

...

  1. 1024mto avoid the

...

  1. Maven OutOfMemoryError.

...

  1. Navigate to each folder representing the patches within the  <local-platform-directory-1> and run the following Apache Maven commands to build the patches. For information on the patches, which are applicable for the respective Carbon chunk release, go to Release Matrix

    This command...Creates...
    mvn clean install

...

  1. The binary and source distributions of the chunk release.

    mvn clean install -Dmaven.test.skip=true

...

  1. The binary and source distributions, without running any of the unit tests.
    mvn clean install -Dmaven.test.skip=true

...

  1. -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:

...

  1. To create complete release artifacts of the products released with this chunk version, including the binary and source distributions, go to  <local-platform-directory-2>/repos/wso2/carbon/platform/tags/<WSO2-Carbon-version>/products/ directory  and run the Apache Maven commands stated in the above step. To build only a selected product/s, open  <local-platform-directory-2>/repos/wso2/carbon/platform/tags/<WSO2-Carbon-version>/products/pom.xml file, and comment out the products you do not want to build and run the relevant Maven command. 

Info

After building the source, you can find the artifacts/product binary distribution package of the product in the <local-platform-directory-2>/products/<product_name>/<product_release_version>/modules/distribution/target/ directory.

Committing your changes 
Anchor
commit
commit

...