| #!/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} |