Merge pull request #250 from lavalamp/fix

Make boilerplate hook work for .sh files, too.
pull/6/head
brendandburns 2014-06-26 10:01:46 -07:00
commit 60e2d4b258
12 changed files with 91 additions and 3 deletions

View File

@ -1,3 +1,5 @@
#!/bin/bash
# Copyright 2014 Google Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");

View File

@ -1,3 +1,5 @@
#!/bin/bash
# Copyright 2014 Google Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");

View File

@ -1,3 +1,5 @@
#!/bin/bash
# Copyright 2014 Google Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");

View File

@ -1,3 +1,5 @@
#!/bin/bash
# Copyright 2014 Google Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");

View File

@ -1,3 +1,5 @@
#!/bin/bash
# Copyright 2014 Google Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");

View File

@ -1,3 +1,5 @@
#!/bin/bash
# Copyright 2014 Google Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");

View File

@ -1,3 +1,5 @@
#!/bin/bash
# Copyright 2014 Google Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");

View File

@ -1,12 +1,26 @@
#!/bin/bash
# Copyright 2014 Google Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
REPO_ROOT="$(realpath "$(dirname $0)/..")"
result=0
dirs=("pkg" "cmd")
for dir in ${dirs}; do
for dir in ${dirs[@]}; do
for file in $(grep -r -l "" "${REPO_ROOT}/${dir}/" | grep "[.]go"); do
if [[ "$(${REPO_ROOT}/hooks/boilerplate.sh "${file}")" -eq "0" ]]; then
echo "Boilerplate header is wrong for: ${file}"
@ -15,4 +29,16 @@ for dir in ${dirs}; do
done
done
dirs=("cluster" "hack" "hooks")
for dir in ${dirs[@]}; do
for file in $(grep -r -l "" "${REPO_ROOT}/${dir}/" | grep "[.]sh"); do
if [[ "$(${REPO_ROOT}/hooks/boilerplate.sh "${file}")" -eq "0" ]]; then
echo "Boilerplate header is wrong for: ${file}"
result=1
fi
done
done
exit ${result}

View File

@ -1,9 +1,32 @@
#!/bin/bash
# Copyright 2014 Google Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Print 1 if the file in $1 has the correct boilerplate header, 0 otherwise.
FILE=$1
LINES=$(cat "$(dirname $0)/boilerplate.txt" | wc -l | tr -d ' ')
DIFFER=$(head "-${LINES}" "${FILE}" | diff -q - "$(dirname $0)/boilerplate.txt")
EXT=${FILE#*.}
REF_FILE="$(dirname $0)/boilerplate.${EXT}.txt"
if [[ ! -e "${REF_FILE}" ]]; then
echo "1"
exit 0
fi
LINES=$(cat "${REF_FILE}" | wc -l | tr -d ' ')
DIFFER=$(head "-${LINES}" "${FILE}" | diff -q - "${REF_FILE}")
if [[ -z "${DIFFER}" ]]; then
echo "1"

16
hooks/boilerplate.sh.txt Normal file
View File

@ -0,0 +1,16 @@
#!/bin/bash
# Copyright 2014 Google Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

View File

@ -18,6 +18,15 @@ for file in $(git diff --cached --name-only --diff-filter ACM | grep "\.go" | gr
fi
done
# Check sh files for boilerplate
for file in $(git diff --cached --name-only --diff-filter ACM | grep "\.sh" | grep -v "third_party"); do
# Check for files without the required boilerplate.
boilerplate="$(${KUBE_HOOKS_DIR}/boilerplate.sh ${file})"
if [[ "$boilerplate" -eq "0" ]]; then
files_need_boilerplate="${files_need_boilerplate} ${file}"
fi
done
if [[ -n "${files_need_gofmt}" ]]; then
(
echo