| #!/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. |
| |
| # Expect maven log as the first argument. |
| # There are two requirements for the maven log: |
| # 1. It needs to be produced by a recent maven version (such as 3.5.4 installed by |
| # bin/bootstrap_system.sh). This is required because recent maven outputs line like: |
| # [INFO] Downloading from {repo}: {url} |
| # [INFO] Downloaded from {repo}: {url} |
| # Older maven (e.g. 3.3.9) omits the "from {repo}" part. |
| # 2. Maven needs to run in batch mode (-B). This keeps the output from using special |
| # characters to format things on the console (e.g. carriage return ^M). |
| set -euo pipefail |
| |
| MVN_LOG=$1 |
| |
| # Dump how many artifacts were downloaded from each repo |
| echo "Number of artifacts downloaded from each repo:" |
| cat "${MVN_LOG}" | grep "Downloaded from" | sed 's|.* Downloaded from ||' \ |
| | cut -d: -f1 | sort | uniq -c |
| |
| # Dump how many artifacts we tried to download from each repo |
| echo |
| echo "Number of download attempts (successful or unsuccessful) per repo:" |
| cat "${MVN_LOG}" | grep "Downloading from" | sed 's|.* Downloading from ||' \ |
| | cut -d: -f1 | sort | uniq -c |