| #!/bin/bash |
| ############################################################################### |
| # Copyright (c) 2020 Kichwa Coders Canada Inc and others. |
| # |
| # This program and the accompanying materials |
| # are made available under the terms of the Eclipse Public License 2.0 |
| # which accompanies this distribution, and is available at |
| # https://www.eclipse.org/legal/epl-2.0/ |
| # |
| # SPDX-License-Identifier: EPL-2.0 |
| ############################################################################### |
| |
| set -e |
| |
| # This script is used to check the current status of all CDT dependencies to make sure no |
| # CQs need to be filed. |
| |
| |
| echo Generate the list of dependencies according to Maven |
| ${MVN:-mvn} -B -V package dependency:list -DappendOutput=true -DoutputFile=$PWD/deps-raw.log >mvn-dependency-list.log 2>&1 |
| echo Clean out the lines and whitespace that are not actually dependencies |
| cat deps-raw.log | grep -v "The following files have been resolved" | grep -v " none" | grep -Poh '[^ ]*' > deps-stripped.log |
| echo Sort and uniqify and store all deps in deps.log that will be passed to the tool |
| cat deps-stripped.log | sort -u > deps.log |
| |
| if test -e dash-licenses; then |
| echo Pull and build Dash Licenses |
| (cd dash-licenses && git pull) >git-pull.log 2>&1 |
| else |
| echo Clone and build Dash Licenses |
| git clone https://github.com/eclipse/dash-licenses.git >git-clone.log 2>&1 |
| fi |
| ${MVN:-mvn} -B -V -f dash-licenses clean package >dash-build.log 2>&1 |
| |
| echo Run the license check |
| exit_code=0 |
| if ! java -jar dash-licenses/core/target/org.eclipse.dash.licenses-*-SNAPSHOT.jar deps.log >dash-licenses.log 2>&1; then |
| echo Some licenses appear to have failed a check, review output below. |
| exit_code=1 |
| fi |
| |
| echo See *.log for various outputs. The key one is dash-licenses.log which is the summary and repeated below: |
| echo ============ dash-licenses.log ============ |
| cat dash-licenses.log |
| |
| exit $exit_code |