Posts

Showing posts from May, 2015

WSO2 carbon building process

WSO2 carbon [1] server which serves as the base for all the WSO2 products is built based on OSGi technology [2]. This blog post aims to briefly explain the code spaces that involves when building carbon server from source. Steps to be followed to build WSO2 carbon 4.2.0 code base is explained in "Building from source" page [3]. After building kernel code space you can find the working carbon server pack at the <local-kernel-directory>/distribution/product/modules/distribution/target directory. User do not have to build platform code space to get the base carbon server, platform space needs to be built only if user needs another specific product like WSO2 ESB. When user issues maven command with necessary build phases (Ex - mvn clean install) in their terminal from location <local-kernel-directory>, maven build process starts building checked out code in the following order. dependencies parent service-stubs core features samples distribution Thes

Structure of WSO2 code repository

Image
This blog post targets explaining the structure of WSO2 code repository used until release of WSO2 carbon 4.2.0 release. Until carbon 4.2.0 release, WSO2 maintained code repository [1] based on svn. Carbon code repository is consist of 3 spaces named, orbit kernel platform Orbit Orbit space [2] contains 3rd party libraries that are not maintained by WSO2, but are used by WSO2 products in operations. Kernel Kernel space [3] builds the base of all WSO2 products, WSO2 carbon server [4]. All other WSO2 products are produced by adding some specific functionality to generic WSO2 carbon server. Kernel space contains generic functionality shared by all WSO2 products such as caching, clustering, management console UI and 3rd party libraries that are necessary to support these generic functionalities. Unlike 3rd party libraries included in orbit space these 3rd party libraries are maintained by WSO2. Therefore these 3rd party libraries have two part version numbers like X.Y