Versions Compared

Key

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

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:

...

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  For example, chunk 7 of the Turing platform release contains Carbon 4.2.0 plus Business Process Server 3.2.0, and Enterprise Service Bus 4.8.1. 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, see the Release Matrix).Business Process Server 3.2.0 is released in Turing chunk 7, which you can download using the  checkout  command as shown below  Anchordirectorydirectory  (replace <local-platform-directory> 

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/4.2.0/patches/ <local-platform-directory-1>
Info

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

...

.

Downloading the product source

For products based on WSO2 Carbon 4.2.0, use the below command to download the product source:

$ svn checkout https://svn.wso2.org/repos/wso2/carbon/platform/tags/turing-<release-chunk>/ <local-platform-directory-2>

Replace <release-chunk> with the release chunk, on which the specific product version is based on. To find out the respective release chunk, see the Release Matrix. For example, for products based on Chunk 07 of WSO2 Carbon 4.2.0, the command is as follows:

$ svn checkout https://svn.wso2.org/repos/wso2/carbon/platform/tags/turing-chunk07/ <local-platform-directory>
-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 Exisiting 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 Exisiting Maven Projects as shown below: 
    Image Added

Building the product 
Anchor
build
build

Before you buildFollow 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. See Installation Prerequisites for compatible versions. 
  2. Set the environment variable  MAVEN_OPTS="-Xms1024m -Xmx4096m -XX:MaxPermSize=1024mto avoid the Maven OutOfMemoryError.

...

  1. Navigate to each folder representing the patches within the <local-platform-

...

  1. directory-1> and run the following Apache Maven commands

...

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

    The binary and source distributions of the chunk release.

    mvn clean install -Dmaven.test.skip=trueThe 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:

...

  1. For products based on Carbon 4.2.0, 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>/product-releases/<release-chunk>/ directory and run the Apache Maven commands stated in the above step. To build only a selected product/s, open <local-platform-directory-2>/product-releases/<release-chunk>/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

If you are a committer, you can commit your changes using the following command (SVN will prompt you for your password):

...