#!/bin/sh
#
# Copyright (C) 2009 Karel Zak <kzak@redhat.com>
#

# find all git-tracked and existing *.c and *.h files
# exclude some (sub)directories
# sort the list

if [ ! -f "po/Makevars" ]; then
	echo "error: update-potfiles must run in the top-level directory" >&2
	exit 1
fi

# find all git-tracked files
source_files=$(git ls-files . 2>/dev/null)
if [ $? -ne 0 ] || [ -z "$source_files" ]; then
	echo "$0: warning: update-potfiles requires git" >&2
	# we still go through the rest of this script to provide at least an empty
	# list or remove non-existing (deleted) files
	source_files=$(cat po/POTFILES.in 2>/dev/null)
fi

# apply include/exclude patterns
source_files=$(
	echo "$source_files" \
	| sed \
		-e '/\(\.h\|\.c\)$/!d' \
		-e '/^tests\//d' \
		-e '/\/samples\//d' \
		-e '/^Documentation\//d' \
)

# throw away non-existing files (dirty git repo)
echo "$source_files" \
	| xargs -r find 2>/dev/null \
	| sort \
	> po/POTFILES.in

# if this script is broken then we have probably an empty list
[ -s po/POTFILES.in ] || echo "$0: warning: po/POTFILES.in is empty" >&2
