blob: 0ef1bdf26d989c3694f4ccf800f9d4c53feac9d2 [file] [log] [blame]
#!/usr/bin/env 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.
# This script gets a list of the changed files from git, and matches
# that list against a set of regexes, each of which corresponds to a
# test group. For each set of matches, a flag is set to let github
# actions know to run that test group.
# Downloads Node.js for multiple platforms (Linux, Mac)
set -u -o pipefail
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
cd "${DIR}/../.." || exit 1
: ${REPO_DIR:="${HOME}/.m2/repository"}
mkdir -p "${REPO_DIR}"
declare -i rc=1
if [[ -z "${NODEJS_VERSION:-}" ]]; then
NODEJS_VERSION=$(mvn help:evaluate -Dexpression=nodejs.version -q -DforceStdout -Dscan=false)
fi
if [[ -n "${NODEJS_VERSION}" ]]; then
rc=0
for platform in darwin-x64 linux-x64; do
url="https://nodejs.org/dist/v${NODEJS_VERSION}/node-v${NODEJS_VERSION}-${platform}.tar.gz"
output="${REPO_DIR}/com/github/eirslett/node/${NODEJS_VERSION}/node-${NODEJS_VERSION}-${platform}.tar.gz"
mkdir -pv "$(dirname "${output}")"
irc=1
for i in 1 2 3; do
echo "Downloading ${url}, attempt ${i}"
if curl --location --continue-at - -o "${output}" "${url}"; then
irc=0
break
fi
sleep 2
done
if [[ ${rc} -eq 0 ]]; then
rc=${irc}
fi
done
fi
exit ${rc}