Skip to content

Commit

Permalink
feat(overlay-build): new script that build overlay files
Browse files Browse the repository at this point in the history
  • Loading branch information
definite committed Jul 13, 2016
1 parent 4268b04 commit ba341ba
Showing 1 changed file with 163 additions and 0 deletions.
163 changes: 163 additions & 0 deletions zanata-overlay-build
@@ -0,0 +1,163 @@
#!/bin/bash -eu
### NAME
### zanata-overlay-build Build overlay zip
###
### SYNOPSIS
### zanata-overlay-build [Options] -a
### zanata-overlay-build [Options] <version>
###
### OPTIONS
### -h: Show this help
###
### -a: Automatic detected
### Version will be detected from latest tag from git.
###
### -w: WAR file
### WAR file to be include in overlay.
###
###
### DESCRIPTION
### This program builds overlay zip from
### zanata-client and zanata-server.
###

SCRIPT_DIR=$(dirname $(readlink -q -f $0))
FUNCTION_SCRIPT_FILE=${SCRIPT_DIR}/zanata-functions
source "${FUNCTION_SCRIPT_FILE}"
trap exit_print_error EXIT
PROGRAM_NAME=$(basename $0)

### ENVIRONMENT
### MYSQL_CONNECTOR_JAVA_VER
: ${MYSQL_CONNECTOR_JAVA_VER:=5.1.19}

DEPENDENFCIES_wildfly=(https://bintray.com/artifact/download/sflanigan/generic/wildfly-module-hibernate-main-4.2.20.Final.zip)


##=== function definition Start ===
function maven_jar_download(){
local name=$1
local version=$2
local relativeDir=${3-}
local destDir=${OverlayWorkDir}/${relativeDir}
mkdir -p $destDir
wget -c -P ${destDir} "http://central.maven.org/maven2/mysql/${name}/${version}/${name}-${version}.jar"
}

function overlay_pack(){
local distro=$1
mkdir -p $OverlayWorkDir/$VersionTag/$distro
cd $OverlayWorkDir/$VersionTag/$distro
print_status -t "overlay $distro" -s "Start"

cp -R ${ModuleDir}/zanata-overlay/common/bin .
cp -R ${ModuleDir}/zanata-overlay/common/standalone .
cp -R ${ModuleDir}/zanata-overlay/distros/$distro/standalone .
mkdir -p standalone/deployments
cp -R ${DeployCommonDir} standalone/
cp ${LocalZanataWar} standalone/deployments
if [[ $distro == wildfly ]];then
for url in ${DEPENDENFCIES_wildfly[@]};do
archFile=$(basename $url)
case $archFile in
*.zip )
unzip -u ${OverlayWorkDir}/$archFile
;;
*.tar.gz | *.gz )
tar xzvf ${OverlayWorkDir}/$archFile
;;
esac
done
fi

zip -x '*.zip' -9 -r ../zanata-$Version-$distro.zip *
}
##=== parsing Start ===
print_status -t parsing -s "Start"
AutoDetect=0
War=

while getopts "haw:" opt;do
case $opt in
h )
zanata_script_help $0
exit ${EXIT_OK}
;;
a )
AutoDetect=1
;;
w )
War=$OPTARG
;;
* )
failed ${EXIT_FATAL_INVALID_OPTIONS} "$opt"
;;
esac
done

shift $((OPTIND-1))
## Get Module
Module=zanata-server

## Get Version
if [ ${AutoDetect} -eq 0 ];then
if [ -z "${1-}" ];then
zanata_script_help $0
EXIT_MSG="Requires version. Please either specify version or use option -a"

exit ${EXIT_FATAL_INVALID_OPTIONS}
fi
Version=$1
else
## Auto detect version
Version=$(detect_module_version ${Module})
print_status " ${Module} version: $Version"

test -n "$Version"
exit_if_failed "$?" ${EXIT_FATAL_FAIL} "Failed to get version from ${Module} git repo"
fi

VersionTag=server-$Version

##=== prepare Start ===
print_status -t prepare -s "Start"
## Ensure repo
ensure_repo $Module
ModuleDir=${WORK_ROOT}/${Module}
cd ${ModuleDir}
git checkout $VersionTag

##=== Download Dependencies Start ===
print_status -t "download dependency" -s "Start"
OverlayWorkDir=${WORK_ROOT}/overlay
create_missing_dir ${OverlayWorkDir}
cd ${OverlayWorkDir}
DeployVerDir=${OverlayWorkDir}/$VersionTag/standalone/deployments
create_missing_dir ${DeployVerDir}

for depUrl in "${DEPENDENFCIES_wildfly[@]}";do
wget -c "$depUrl"
done

DeployCommonDir=${OverlayWorkDir}/deployments
create_missing_dir ${DeployCommonDir}
maven_jar_download mysql-connector-java ${MYSQL_CONNECTOR_JAVA_VER}
cp mysql-connector-java-${MYSQL_CONNECTOR_JAVA_VER}.jar ${DeployCommonDir}/mysql-connector-java.jar

##=== Get War Start ===
print_status -t "Get WAR" -s "Start"
LocalZanataWar=${DeployVerDir}/zanata.war
if [ ! -r ${LocalZanataWar} ];then
if [ -n "${War-}" ];then
cp $War $LocalZanataWar
else
wget -c -P ${VersionTag} https://github.com/zanata/zanata-server/releases/download/${VersionTag}/zanata-war-${Version}.war
cp ${OverlayWorkDir}/$VersionTag/zanata-war-${Version}.war $LocalZanataWar
fi
fi

##=== zip Start ===
print_status -t "zip" -s "Start"
overlay_pack eap-6
overlay_pack wildfly

0 comments on commit ba341ba

Please sign in to comment.