#!/bin/bash # Copyright 2010-2011, Asio Software Technologies # Distributed under the terms of the GNU General Public License v3 #------------------------------------------------------------------------------- # Checks whether a supplied variable is defined or not # Parameters: %variable% #------------------------------------------------------------------------------- function isDefined() { [[ ${!1-X} == ${!1-Y} ]] } #------------------------------------------------------------------------------- # Checks whether a supplied variable is enabled or not # Parameters: %variable% #------------------------------------------------------------------------------- function isEnabled() { case "${1}" in [Ee][Nn][Aa][Bb][Ll][Ee][Dd]) return 0 ;; [Tt][Rr][Uu][Ee]) return 0 ;; [Yy][Ee][Ss]) return 0 ;; 1) return 0 ;; esac return 1 } #------------------------------------------------------------------------------- # Checks whether a variable is defined and if value's length > 0 # Parameters: %variable% #------------------------------------------------------------------------------- function isSet() { if isDefined ${1}; then if [[ -n ${!1} ]]; then return 0 fi fi return 1 } #------------------------------------------------------------------------------- # Loads EzBuild configuration #------------------------------------------------------------------------------- function loadConfiguration() { source ${EZROOT}/config/${EZNAME}.conf &> /dev/null || panic source ${EZROOT}/config/layout.conf &> /dev/null || panic source /etc/ezbuild/${EZNAME}.conf &> /dev/null || panic source /etc/ezbuild/layout.conf &> /dev/null || panic } #------------------------------------------------------------------------------- # Loads all EzBuild Libraries #------------------------------------------------------------------------------- function loadLibraries() { source ${EZROOT}/libraries/colors &> /dev/null || panic } #------------------------------------------------------------------------------- # Outputs error message and aborts program execution #------------------------------------------------------------------------------- function panic() { echo -e "FATAL ERROR: Unable to load necessary files!" echo -e "Your EzBuild installation seems to be broken..." exit 1 } #------------------------------------------------------------------------------- # Returns a UNIX timestamp #------------------------------------------------------------------------------- function timestamp() { echo $(date +%s) } #------------------------------------------------------------------------------- # Returns lowercase string # Parameters: %string% #------------------------------------------------------------------------------- function toLower() { echo "${@}" | tr '[:upper:]' '[:lower:]' } #------------------------------------------------------------------------------- # Returns uppercase string # Parameters: %string% #------------------------------------------------------------------------------- function toUpper() { echo "${@}" | tr '[:lower:]' '[:upper:]' } #------------------------------------------------------------------------------- # Returns only the first part of a string, delimited by tabs or spaces # Parameters: %string% #------------------------------------------------------------------------------- function trim() { echo ${1} }