Versions Compared

Key

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

Add this version of the "Building from Source" page for products based on Carbon 4.2.0Note to writers: Copy this content and set intra-space links for 'downloading the binary distribution', 'installation prerequisites' and 'Get Involved'. See Storage Server 1.5.0 documentation for an example.

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 <download the binary distributiondistribution> of the product and install it.

...

Downloading the source
Anchor
checkout
checkout

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 new WSO2 Carbon version (for example, WSO2 Carbon 4.23.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 8 of the Turing platform release contains Carbon 4.2.0 plus Task Server 1.1.0, Data Services Server 3.2.0 and Complex Event Processor 3.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/4.2.0/ <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 including WSO2 BAM 2.5.0, which are based on Chunk 14 of WSO2 Carbon 4.2.0, the command is as follows:

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

Setting up your development environment

Before you  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.

Excerpt
hiddentrue

Note to writers: Add the below line after the above paragraph and complete the below command by giving the URL of the git repo of the respective product. (E.g. git clone https://github.com/wso2/product-apim)

After downloading the source of the Carbon Kernel, execute the following command to download the source of the product: git clone 

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-bam

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.

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. 

  1. To edit the source code in your IDE, set up your development environment by running one of the following commands:

...

  1. IDE

...

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 Removed Add the required changes to the source code. 

Anchor
build
build
Building the product 

...

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

...

Ensure that the following prerequisites are in place before you build:

  1. Make sure the build server has an active Internet connection to download dependencies while building.
  2. Install Maven and JDK. See For compatible versions, see Installation Prerequisites for compatible versions.
  3. Set the environment variable variable  MAVEN_OPTS="-Xms1024m -Xmx4096m -XX:MaxPermSize=1024m"to ” to avoid the Maven Maven OutOfMemoryError.

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

Use the following Maven commands to build your product:

CommandDescription
mvn clean install

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

...

have already built the source at least once.

...

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.

...

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

...

Committing your 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.