#!/bin/bash # /* ***** BEGIN LICENSE BLOCK ***** # * Version: MPL 1.1 # * # * The contents of this file are subject to the Mozilla Public License Version # * 1.1 (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.mozilla.org/MPL/ # * # * Software distributed under the License is distributed on an "AS IS" basis, # * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License # * for the specific language governing rights and limitations under the # * License. # * # * The Original Code is the Gateway. # * # * The Initial Developer of the Original Code is # * the Vermont Department of Taxes. # * Portions created by the Initial Developer are Copyright (C) 2008 # * the Initial Developer. All Rights Reserved. # * # * Contributor(s): # * Tom Cort # * # * ***** END LICENSE BLOCK ***** */ START=$(date +%s) targets=( gateway xmlbeans_maven_pom base_utils base_client base_client_gui config_manager version_bump dbtest sstp_ratelookup_server ora_utils mef_base mef_client_portal mef_server_war mock_objects base_portal logger selenium jaas_sar sql_base_vt gateway_client sstp_base sstp_reg_server sstp_server sstp_server_portal gateway_har maven_vttax_skin sql_server_vt sstp_server_processor gateway_ear_jboss ) gateway=( ) gateway_ear_jboss=( gateway_har dbtest selenium logger sstp_reg_server sstp_server_portal sql_server_vt jaas_sar sstp_server sstp_server_processor ) sstp_server_processor=( sstp_server base_utils ) base_client=( base_utils ) sql_server_vt=( sstp_server sql_base_vt base_utils ) maven_vttax_skin=( gateway ) sstp_server_portal=( sstp_server base_utils logger base_portal ) sstp_reg_server=( logger gateway_har sstp_base base_utils ) gateway_har=( base_portal ) sstp_base=( base_portal base_utils ) sstp_server=( sstp_base logger base_utils gateway_har ) gateway_client=( base_client base_client_gui mef_base base_utils xmlbeans_maven_pom sstp_base sstp_server ) sql_base_vt=( base_utils ) selenium=( gateway ) jaas_sar=( gateway ) logger=( gateway_har ) base_portal=( mock_objects base_utils ) mock_objects=( gateway ) mef_server_war=( base_utils mef_base ) mef_client_portal=( ora_utils base_utils base_portal ) xmlbeans_maven_pom=( gateway ) base_utils=( xmlbeans_maven_pom ) base_client_gui=( base_utils ) config_manager=( base_client xmlbeans_maven_pom base_client_gui ) version_bump=( xmlbeans_maven_pom base_utils ) dbtest=( gateway ) sstp_ratelookup_server=( gateway ) mef_base=( base_utils ) ora_utils=( mef_base base_utils ) if [ "x${1}" == "x" ] then echo "Usage: bash ${0} module_name [profiles]" echo "Valid Modules: ${targets[@]}" exit 1 else exists=0 for TARGET in ${targets[@]} do if [ "x${1}" == "x${TARGET}" ] then exists=1 fi done if [ ${exists} -eq 0 ] then echo "Unknown module: ${1}" echo "Valid Modules: ${targets[@]}" exit 1 fi fi if [ "x${2}" == "xvermont" ] then gateway_client[${#gateway_client[@]}]=ora_utils fi BUILD_LIST=() function depends() { local depend=$1 for DEP in ${depend[@]} do CHILDREN=$(eval echo \${${DEP}[@]}) for CHILD in ${CHILDREN} do depends ${CHILD} done done found=0 for BUILD_ITEM in ${BUILD_LIST[@]} do if [ "x${depend}" == "x${BUILD_ITEM}" ] then found=1 fi done if [ ${found} -eq 0 ] then BUILD_LIST[${#BUILD_LIST[@]}]=${depend} fi } depends $1 echo "" echo "+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+" echo "+-+ Build List: " for MOD in ${BUILD_LIST[@]} do MODULE=$(echo ${MOD} | tr '_' '-') echo "+-+ " ${MODULE} done echo "+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+" echo "" completed=0 for MOD in ${BUILD_LIST[@]} do MODULE=$(echo ${MOD} | tr '_' '-') cd ${MODULE} if [ "x${2}" != "x" ] then echo mvn -P ${2} clean install mvn -P ${2} clean install else echo mvn clean install mvn clean install fi if [ $? != 0 ] then echo "Build Failure" exit 255 fi cd .. completed=$((${completed} + 1)) echo "" echo "+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+" echo "+-+" ${completed} "of" ${#BUILD_LIST[@]} "Modules Built" echo "+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+" echo "" done END=$(date +%s) DIFF=$(( $END - $START )) echo "Script Runtime: $DIFF seconds"