2 # This file is part of NIT ( http://www.nitlanguage.org ).
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
8 # http://www.apache.org/licenses/LICENSE-2.0
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
16 # Check missing "This file is part of NIT…" comment in committed scripts.
18 # Usage: checklicense.sh from to
22 from
=${1:-origin/master}
27 cd `git rev-parse --show-toplevel`
29 echo "checklicense $from (`git rev-parse "$from"`) .. $to (`git rev-parse "$to"`)"
30 git
diff --name
-status
$from..
$to -- "*.nit" "*.sh" |
sed -n
's/^A\s*//p' > checklicense_new_files.out
31 if test \
! -s checklicense_new_files.out
; then
35 grep -L
'\(^\|\b\)# [Tt]his file is part of NIT ' `cat checklicense_new_files.out` 2>/dev
/null
> checklicense_missing.out || true
36 if test -s checklicense_missing.out
; then
37 echo "These files are missing their licence:"
39 cat checklicense_missing.out
41 echo "Please double check that the licence text (i.e. \`This file is part of NIT...\`) is included at the begin of these files."
44 echo "All `cat checklicense_new_files.out | wc -l` checked new files have a correct license."