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