Files
haikuports/.github/lint-new-recipes.sh
Peter van Dijk ffacfef852 lint updated recipes as well, and move script (#7926)
* also lint changed recipes

example commit taken from a recent PR:

$ git diff  HEAD HEAD~ --numstat
7   7   media-sound/freac/{freac-1.1.7.recipe => freac-1.1.6.recipe}

-> lint-new-recipes.sh tries to find `media-sound/freac/{freac-1.1.7.recipe` which does not exist

$ git diff --no-renames HEAD HEAD~ --numstat
98  0   media-sound/freac/freac-1.1.6.recipe
0   98  media-sound/freac/freac-1.1.7.recipe

-> lint-new-recipes.sh skips over 1.1.6 (because it is gone) and lints 1.1.7

* move lint-new-recipes.sh into .github/
2023-03-08 10:18:23 +01:00

20 lines
628 B
Bash
Executable File

#!/bin/bash
# Lints all the recipes created / modified since upstream HEAD.
git remote add real_origin https://github.com/haikuports/haikuports.git || true
git fetch real_origin
files=$(git diff --no-renames $(git rev-parse --abbrev-ref HEAD) real_origin/master --numstat | awk '{print $3}')
for file in $files; do
if [ -e "$file" ] && [[ "$file" == *recipe ]]; then
LINES=$(grep -l '[[:blank:]]$' $file)
if [ ! -z "$LINES" ]; then
echo "Trailing whitespace in '$file'."; exit 1
fi
baseName=$(basename $file)
portName=${baseName::-7}
haikuporter $@ --lint $portName
if [ $? -ne 0 ]; then exit 1; fi
fi
done