11#! /bin/bash
22
3- # Versions available for testing via binary distributions
4- OFFICIAL_RELEASES=" 0.8.2.2 0.9.0.1 0.10.1.1 0.10.2.1"
5-
6- # Useful configuration vars, with sensible defaults
7- if [ -z " $SCALA_VERSION " ]; then
8- SCALA_VERSION=2.10
9- fi
3+ : ${ALL_RELEASES:= " 0.8.2.2 0.9.0.1 0.10.1.1 0.10.2.1 0.11.0.0" }
4+ : ${SCALA_VERSION:= 2.11}
5+ : ${DIST_BASE_URL:= https:// archive.apache.org/ dist/ kafka/ }
6+ : ${KAFKA_SRC_GIT:= https:// github.com/ apache/ kafka.git}
107
118# On travis CI, empty KAFKA_VERSION means skip integration tests
129# so we don't try to get binaries
1310# Otherwise it means test all official releases, so we get all of them!
1411if [ -z " $KAFKA_VERSION " -a -z " $TRAVIS " ]; then
15- KAFKA_VERSION=$OFFICIAL_RELEASES
16- fi
17-
18- # By default look for binary releases at archive.apache.org
19- if [ -z " $DIST_BASE_URL " ]; then
20- DIST_BASE_URL=" https://archive.apache.org/dist/kafka/"
21- fi
22-
23- # When testing against source builds, use this git repo
24- if [ -z " $KAFKA_SRC_GIT " ]; then
25- KAFKA_SRC_GIT=" https://github.com/apache/kafka.git"
12+ KAFKA_VERSION=$ALL_RELEASES
2613fi
2714
2815pushd servers
@@ -48,27 +35,28 @@ pushd servers
4835 echo
4936 # kafka 0.8.0 is only available w/ scala 2.8.0
5037 if [ " $kafka " == " 0.8.0" ]; then
51- KAFKA_ARTIFACT=" kafka_2.8.0-${kafka} "
38+ KAFKA_ARTIFACT=" kafka_2.8.0-${kafka} .tar.gz "
5239 else
53- KAFKA_ARTIFACT=" kafka_${SCALA_VERSION} -${kafka} "
40+ KAFKA_ARTIFACT=" kafka_${SCALA_VERSION} -${kafka} .tgz "
5441 fi
5542 if [ ! -f " ../$kafka /kafka-bin/bin/kafka-run-class.sh" ]; then
56- echo " Downloading kafka ${kafka} tarball"
57- if hash wget 2> /dev/null; then
58- wget -N https://archive.apache.org/dist/kafka/$kafka /${KAFKA_ARTIFACT} .tgz || wget -N https://archive.apache.org/dist/kafka/$kafka /${KAFKA_ARTIFACT} .tar.gz
43+ if [ -f " ${KAFKA_ARTIFACT} " ]; then
44+ echo " Using cached artifact: ${KAFKA_ARTIFACT} "
5945 else
60- echo " wget not found... using curl"
61- if [ -f " ${KAFKA_ARTIFACT} .tar.gz" ]; then
62- echo " Using cached artifact: ${KAFKA_ARTIFACT} .tar.gz"
46+ echo " Downloading kafka ${kafka} tarball"
47+ TARBALL=${DIST_BASE_URL}${kafka} /${KAFKA_ARTIFACT}
48+ if command -v wget 2> /dev/null; then
49+ wget -N $TARBALL
6350 else
64- curl -f https://archive.apache.org/dist/kafka/$kafka /${KAFKA_ARTIFACT} .tgz -o ${KAFKA_ARTIFACT} .tar.gz || curl -f https://archive.apache.org/dist/kafka/$kafka /${KAFKA_ARTIFACT} .tar.gz -o ${KAFKA_ARTIFACT} .tar.gz
51+ echo " wget not found... using curl"
52+ curl -f $TARBALL -o ${KAFKA_ARTIFACT}
6553 fi
6654 fi
6755 echo
6856 echo " Extracting kafka ${kafka} binaries"
69- tar xzvf ${KAFKA_ARTIFACT} .t * -C ../$kafka /
57+ tar xzvf ${KAFKA_ARTIFACT} -C ../$kafka /
7058 rm -rf ../$kafka /kafka-bin
71- mv ../$kafka /${KAFKA_ARTIFACT} ../$kafka /kafka-bin
59+ mv ../$kafka /${KAFKA_ARTIFACT/% .t */ } ../$kafka /kafka-bin
7260 if [ ! -f " ../$kafka /kafka-bin/bin/kafka-run-class.sh" ]; then
7361 echo " Extraction Failed ($kafka /kafka-bin/bin/kafka-run-class.sh does not exist)!"
7462 exit 1
0 commit comments