mirror of https://github.com/apache/activemq.git
120 lines
3.3 KiB
Bash
Executable File
120 lines
3.3 KiB
Bash
Executable File
#!/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.
|
|
#
|
|
|
|
export MVN_REPO=https://repo1.maven.org/maven2
|
|
|
|
export CMD_CURL=/usr/bin/curl
|
|
export CMD_MD5SUM=/sbin/md5
|
|
export CMD_SHASUM=/usr/bin/shasum
|
|
export CMD_TAR=/usr/bin/tar
|
|
export CMD_UNZIP=/usr/bin/unzip
|
|
|
|
download_media() {
|
|
|
|
echo -n "Downloading ActiveMQ version: $1 type: $2..."
|
|
CURL_DL_OUT=`$CMD_CURL -s -o apache-activemq-$1-bin.$2 $MVN_REPO/org/apache/activemq/apache-activemq/$1/apache-activemq-$1-bin.$2`
|
|
echo "done"
|
|
|
|
for kind in sha1 md5
|
|
do
|
|
echo -n "Downloading ActiveMQ version: $1 type: $2 $kind checksum ..."
|
|
CURL_DL_CHKSUM_OUT=`$CMD_CURL -s -o apache-activemq-$1-bin.$2.$kind $MVN_REPO/org/apache/activemq/apache-activemq/$1/apache-activemq-$1-bin.$2.$kind`
|
|
echo "done"
|
|
|
|
echo -n "Validating $kind checksum ..."
|
|
|
|
if [ $kind = "sha1" ]; then
|
|
DL_CHKSUM=`$CMD_SHASUM apache-activemq-$1-bin.$2 | cut -f1 -d" "`
|
|
elif [ $kind = "md5" ]; then
|
|
DL_CHKSUM=`$CMD_MD5SUM -q apache-activemq-$1-bin.$2 | cut -f1 -d" "`
|
|
fi
|
|
VL_CHKSUM=`cut -f1 -d" " apache-activemq-$1-bin.$2.$kind`
|
|
|
|
if [[ "$DL_CHKSUM" != "$VL_CHKSUM" ]]; then
|
|
echo "ERROR: $kind checksum mismatch expected: $VL_CHKSUM calculated: $DL_CHKSUM"
|
|
exit 1;
|
|
fi
|
|
echo "done"
|
|
done
|
|
|
|
}
|
|
|
|
extract_media() {
|
|
echo -n "Extracting $2 media ..."
|
|
|
|
if [ $2 = "tar.gz" ]; then
|
|
EXTRACT_OUT=`$CMD_TAR xzf apache-activemq-$1-bin.$2`
|
|
elif [ $2 = "zip" ]; then
|
|
EXTRACT_OUT=`$CMD_UNZIP apache-activemq-$1-bin.$2`
|
|
fi
|
|
|
|
if [[ $? -ne 0 ]]; then
|
|
echo "$2 extract failed!"
|
|
exit 1
|
|
fi
|
|
echo "done"
|
|
}
|
|
|
|
cleanup_media() {
|
|
echo -n "Cleaning up $2 media ...":
|
|
rm apache-activemq-$1-bin.$2.sha1
|
|
rm apache-activemq-$1-bin.$2.md5
|
|
rm apache-activemq-$1-bin.$2
|
|
rm -rf apache-activemq-$1
|
|
echo "done"
|
|
}
|
|
|
|
if [ -z ${1+x} ]; then
|
|
echo "Using default maven repo: $MVN_REPO"
|
|
else
|
|
export MVN_REPO=$1
|
|
echo "Using maven repo: $MVN_REPO"
|
|
fi
|
|
|
|
VERSIONS=()
|
|
CURL_OUT=`$CMD_CURL -o index.html -s $MVN_REPO/org/apache/activemq/apache-activemq/`
|
|
|
|
for i in `grep href index.html | grep -v maven-metadata | grep -v "\.\." | cut -f2 -d= | cut -f1 -d"/" | cut -f2 -d"\"" | sort -rV | grep -v -E '5.1.[0-9+]|5.8'`;
|
|
do
|
|
if [[ $i =~ 5.1[5-9]+ ]]; then
|
|
VERSIONS+=($i)
|
|
fi
|
|
done
|
|
|
|
rm index.html
|
|
|
|
VERSIONS+=("Quit")
|
|
|
|
PS3='Install ActiveMQ version: '
|
|
select opt in "${VERSIONS[@]}"
|
|
do
|
|
case $opt in
|
|
"Quit")
|
|
break;;
|
|
*)
|
|
for type in tar.gz zip
|
|
do
|
|
download_media $opt $type
|
|
extract_media $opt $type
|
|
cleanup_media $opt $type
|
|
done
|
|
break;;
|
|
esac
|
|
done
|
|
|