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:
...
Checking out the source
Anchor | ||||
---|---|---|---|---|
|
You can download the complete WSO2 Carbon platform release, which is recommended if you intend to modify the source. You can check out the WSO2 products are built on top of WSO2 Carbon, which contains the core libraries used by all products. When there’s a change in Carbon core, we release a new Carbon version in a specific name. For example, WSO2 Carbon 4.2.0 release is called Turing
. After releasing Carbon core, WSO2 releases the other products that are based on it in chunks. A chunk is a collection of products released together. For example, Turing chunk 1
contains WSO2 DSS
, WSO2 AS
, and WSO2 IS
. Building a chunk automatically downloads Carbon core libraries into your environment and builds all products that are released in the chunk on top of it.
You can download WSO2 Turing chunk 1
source code anonymously using the checkout
command as shown below (replace <local-platform-directory>
with a meaningful name, such as wso2carbon-platform
):
$ svn checkout https://svn.wso2.org/repos/wso2/carbon/platform/tags/turing-chunk01 <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
...
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 |
Building the product
Anchor | ||||
---|---|---|---|---|
|
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=”-Xms1024m -Xmx4096m -XX:MaxPermSize=1024m
” to avoid the MavenOutOfMemoryError
...
.
To create complete release artifacts of the products released with this chunk version, including the binary and source distributions, go to https://svn.wso2.org
<local-platform-directory>
/repos/wso2/carbon/platform/tags/turing-chunk02/product-releases/chunk-01
and run the following Apache Maven commands. To build only a selected product/s, open <local-platform-directory>/repos/wso2/carbon/platform/tags/turing-
chunk01chunk02/product-releases/chunk-01/products/pom.xml
file, comment out the products you do not want to build and run the following Apache Maven command:mvn clean install
relevant maven command.
This command... | Creates... |
---|---|
mvn clean install | The binary and source distributions of the chunk release. |
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've already built the source at least once. |
Setting up your development environment
...