| #!/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 -u # run with unset flag error so that missing parameters cause build failure |
| set -e # error out on any failed commands |
| # set -x # echo all commands used for debugging purposes |
| |
| # Point ourselves to the script's directory (so it can be run "out-of-tree") |
| DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) |
| |
| ## |
| # This script is reused by other projects, if so, COREPROJECT should be set |
| # to the project to use a basis for project settings |
| ## |
| : ${COREPROJECT:=core/org.eclipse.cdt.core} |
| |
| tmpfile=$(mktemp /tmp/check_license.XXXXXX) |
| git ls-files -- \*\*/.project | while read i ; do |
| d=$(dirname $i); |
| natures=$(xmllint --xpath 'string(//projectDescription/natures)' $i) |
| |
| if [[ $natures == *"org.eclipse.pde.PluginNature"* ]]; then |
| build_properties=$d/build.properties |
| about_html=$d/about.html |
| |
| cat $build_properties | sed -z '-es,\\\n,,g' > $tmpfile |
| if [ -z "$(grep bin.includes $tmpfile | grep about.html)" ]; then |
| echo "$build_properties is missing bin.includes reference to about.html" |
| exit 1 |
| fi |
| if [ -z "$(grep src.includes $tmpfile | grep about.html)" ]; then |
| echo "$build_properties is missing src.includes reference to about.html" |
| exit 1 |
| fi |
| |
| if [ ! -e "$about_html" ]; then |
| echo "$about_html is missing" |
| exit 1 |
| elif ! cmp $COREPROJECT/about.html $about_html > /dev/null ; then |
| echo "$about_html differs from $COREPROJECT/about.html" |
| exit 1 |
| fi |
| fi |
| done |