Skip to content

Instantly share code, notes, and snippets.

@imesh
Created March 6, 2015 10:11
Show Gist options
  • Save imesh/9b9be2bef0c9efbc269f to your computer and use it in GitHub Desktop.
Save imesh/9b9be2bef0c9efbc269f to your computer and use it in GitHub Desktop.
A script to build Stratos Load Balancer
#!/bin/bash
# -----------------------------------------------------------------
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
# -----------------------------------------------------------------
# Buid Apache Stratos (incubating) load balancer
# -----------------------------------------------------------------
set -e
log=/tmp/apache-stratos-lb-build.log
stratos_path=~/dev/apache/stratos/stratos
if [ -f $log ]; then
rm $log
fi;
validate() {
if grep -q "BUILD FAILURE" "$log"; then
echo "BUILD FAILED! Please check the log"
exit
fi
}
echo "Compiling load balancer components..."
pushd $stratos_path/components/org.apache.stratos.common/
mvn clean install -o | tee -a $log
popd
validate
pushd $stratos_path/components/org.apache.stratos.messaging/
mvn clean install -o | tee -a $log
popd
validate
pushd $stratos_path/components/org.apache.stratos.load.balancer.common/
mvn clean install -o | tee -a $log
popd
validate
pushd $stratos_path/components/org.apache.stratos.load.balancer/
mvn clean install -o | tee -a $log
popd
validate
echo "Compiling messaging feature..."
pushd $stratos_path/features/messaging/
mvn clean install -o | tee -a $log
popd
validate
echo "Compiling load balancer features..."
pushd $stratos_path/features/load-balancer/
mvn clean install -o | tee -a $log
popd
validate
echo "Compiling load balancer product..."
pushd $stratos_path/products/load-balancer/
mvn clean install -o | tee -a $log
popd
validate
echo "Build completed successfully"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment