This documentation is for WSO2 API Manager 1.4.0 View documentation for the latest release.
Building from Source - API Manager 1.4.0 - WSO2 Documentation
||
Skip to end of metadata
Go to start of metadata

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:

Building from source is optional. Users who do not want to make changes to the source code can simply download the binary distribution of the product and install it.

Checking out the source 

You can download the complete WSO2 Carbon platform, 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 https://svn.wso2.org/repos/wso2/carbon/orbit/tags/4.1.0 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:

[global]
http-proxy-host = your.proxy.name
http-proxy-port = 3128

Building the product 

Following are the Apache Maven commands you can run to create complete release artifacts of the product, including the binary and source distributions.

Before you build:

  • Install Maven and JDK. See Installation Prerequisites for compatible versions.
  • Set the environment variable MAVEN_OPTS="-Xms768m -Xmx3072m -XX:MaxPermSize=1200m" to avoid the Maven OutOfMemoryError.
  • Make sure the build server has an active Internet connection to download dependencies while building.
This command...Creates...
mvn clean install -Dproduct=apimgt

The binary and source distributions of only API Manager.

To build the entire Carbon core project, omit the -Dproduct=apimgt option.

mvn clean install -Dmaven.test.skip=true -Dproduct=apimgtThe binary and source distributions, without running any of the unit tests.
mvn clean install -Dmaven.test.skip=true -Dproduct=apimgt -oThe 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:

If you are using this IDE...Run this command...Additional information
Eclipsemvn eclipse:eclipsehttp://maven.apache.org/plugins/maven-eclipse-plugin
IntelliJ IDEAmvn idea:ideahttp://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"
  • No labels