Building from Source
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 WSO2 AS 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.2.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>
If you will not be committing changes, you can use HTTP instead of HTTPS to download the source anonymously, which can be faster. If you are behind a corporate firewall, however, you might need to use HTTPS if your access is blocked.
Access through a proxy
The Subversion client can be configured to access the repository 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 WSO2 AS, including the binary and source distributions. If you only want to build the AS, use the -Dproduct=as
option as shown. If you want to build the entire Carbon core project, omit the -Dproduct=as
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=as | The binary and source distributions |
mvn clean install -Dmaven.test.skip=true -Dproduct=as | The binary and source distributions, without running any of the unit tests. |
mvn clean install -Dmaven.test.skip=true -Dproduct=as -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. |
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"