1
votes

So far I installed deployment version of wso2 AM. Now I would like to build it from source and try running it instead of the binaries I downloaded from the site.

Based on WSO2 documentation, I understand the steps are: 1) Download the carbon kernel source:

git clone -b 4.4.x https://github.com/wso2/carbon-kernel.git

2) Download the APIM source:

git clone https://github.com/wso2/product-apim

3) Build APIM from source

cd <SOURCE-DIR>\product-apim
mvn clean install

Are these steps sufficient, or am I missing something?

Should I build carbon-kernel in addition to building apim-manager?

On previous stackoverflow question, I read that carbon-kernel is not really necessary, and instead i should download and build carbon-apimgmt. Is this correct?

After I build the sources, how do I "package" all the compiled binaries along with all other necessary artifacts, in order to form an equivalent package to the wso2am-1.10.0.zip which I download from the site? Or is there another way to install and run the built code?

2

2 Answers

2
votes

Github projects related to API manger can be found in following locations

apimgt component repo: 
https://github.com/wso2/carbon-apimgt

This repository contains org.wso2.carbon.apimgt component related source code.

product repo: 
https://github.com/wso2/product-apim

This repository contains all the resources needed to build the product package and intergration tests for the product.

master branch of these repositories are used for current development. (if you open parent pom.xml file you would find SNAPSHOT versions). If you build the default branches you would build the current development version of the api manager. (at this time, 1.10.1-SNAPSHOT). To build already released product you need to build released tag.

Steps to Build API manager 1.10.0

clone product:

git clone https://github.com/wso2/product-apim

Checkout release tag v1.10.0:

git checkout v1.10.0

Build the product:

 mvn clean install (or mvn clean install -Dmaven.test.skip=true to skip integration tests) 

get the product from

product-apim\modules\distribution\product\target

You do not have to build the 'carbon-apimgt' repository because the component build using that is already released and can be found in the nexus repo.

If you want to build the component (say need to provide a fix for a bug) build the 'v5.0.3' tag from the 'carbon-apimgt' repo.

git clone https://github.com/wso2/product-apim
git checkout v5.0.3
1
votes

I'm posting the steps I did:

git clone https://github.com/wso2/carbon-appmgt
git clone https://github.com/wso2/product-apim
cd <SRC>/carbon-appmgt
mvn clean install
cd <SRC>/product-apim
mvn clean install

The ZIP file was found in

<SRC>\product-apim\modules\distribution\product\target

It is similar to the ZIP file that you download from the site.