50 lines
1.0 KiB
Bash
Executable File
50 lines
1.0 KiB
Bash
Executable File
#!/bin/bash -e
|
|
|
|
if [ -z "$1" ]; then
|
|
cat << 'EOF'
|
|
Usage: garlic-add-copyright <copyright file> files...
|
|
|
|
This tool prepends the content of the copyright file to the list of given files.
|
|
The word 'copyright' is used to determine if a file already has a copyright
|
|
notice or not.
|
|
|
|
Example:
|
|
|
|
Given the following HEADER file:
|
|
|
|
$ cat HEADER
|
|
/*
|
|
* This file is part of NBody and is licensed under the terms contained
|
|
* in the LICENSE file.
|
|
*
|
|
* Copyright (C) 2021 Barcelona Supercomputing Center (BSC)
|
|
*/
|
|
|
|
It can be prepended to all files ending in .c or .h with:
|
|
|
|
$ garlic-add-copyright HEADER $(find * -type f | grep -Ei '\.(c|h)$')
|
|
|
|
EOF
|
|
exit 1
|
|
fi
|
|
|
|
header_file="$1"
|
|
shift
|
|
|
|
if ! grep -qi copyright "$header_file"; then
|
|
>&2 echo "The header file '$header_file' doesn't contain the word 'copyright'"
|
|
exit 1
|
|
fi
|
|
|
|
for f in "${@}"; do
|
|
if grep -qi copyright "$f"; then
|
|
echo "$f: Contains copyright word, skipping"
|
|
continue
|
|
fi
|
|
|
|
tmp_fn="$f.copyright-being-added"
|
|
|
|
cat "$header_file" "$f" > "$tmp_fn"
|
|
mv "$tmp_fn" "$f"
|
|
done
|