blob: 6cdeec1bcdd590ada9409312c45520bb5f8fc90d [file] [log] [blame]
#!/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