Script for importing features into any WSO2 Carbon Feature 3.2.0 (Beta)

This is small script that works for importing additional features into an existing feature for WSO2 Carbon 3.2.0. For example, for the BAM (Business Activity Monitor) Data publisher feature I wanted to additionally import the Event UI feature as well. Here’s a small script that I ran to make this simple.


grep "artifactId>.*ui.feature" -Rl . 
|grep -v ".svn" | xargs sed -i -e '

This has been tested for Carbon 3.2.0, but it should work for Carbon 3.1.0 as well.

Script for making a webapp of Carbon 3.2.0 (Beta)

I’m not a script junkie, but I thought I’d spend a bit of time and learn a bit, so that I can do something useful with scripts, i.e. go beyond just executing one or two commands with the script.

So here’s a script I wrote to create a webapp out of a WSO2 BAM product. You have to pass in your extracted distribution location tot he script. Ex: sh ~/wso2/wso2bam-1.3.0-SNAPSHOT.
After running the script, make sure to follow this cool article, on how to configure and deploy it on weblogic ( Now you can skip ahead and start from step 4 – editing the registry.xml part. The steps are more or less the same for other web apps.
Here’s the script: 
echo $bam_dir
if [ ! -d "$bam_dir" ]; then
echo "distro not found"
if [ -d "$webapp_parent" ]; then
echo "deleting $webapp_parent"
rm -rf $webapp_parent
mkdir $webapp_parent
#if [ -f "$curr_dir/wso2bam.war" ]; then
# echo "deleting old war"
echo "Creating WAR"
mkdir $webapp_dir
cp $bam_dir/lib/core/WEB-INF $webapp_dir -r
cp $bam_dir/lib/api/* $webapp_dir/WEB-INF/lib
cp `find $bam_dir/lib/ -iname "*.properties"` $webapp_dir/WEB-INF/classes
cd $webapp_dir
zip -r $webapp_name .
mv $webapp_name $curr_dir
cd $curr_dir
rm -rf $webapp_dir
mv $webapp_name $webapp_parent
echo "War created"
cp $bam_dir/repository $webapp_parent/ -r
echo "repository copied"
sed -i -e "s/\/<\/WebContextRoot>/\/wso2bam<\/WebContextRoot>/g" $webapp_parent/repository/conf/carbon.xml
sed -i -e "s/https:\/\/\${carbon.local.ip}:\${}\${carbon.context}\/services\/<\/ServerURL>/https:\/\/localhost:9444\/wso2bam\/services\/<\/ServerURL>/g" $webapp_parent/repository/conf/carbon.xml
echo "web context root and server URL changed"
grep -Rl "9763" $webapp_parent/repository/ | xargs sed -i -e "s/9763/7001/g"
grep -Rl "9443" $webapp_parent/repository/ | xargs sed -i -e "s/9443/7002/g"
echo "carbon.xml edited; Please edit registry.xml, user-mgt.xml"