Fix the license add for .ts and .css

This patch set does the following:
1.  Combines the add_license.sh and check_copyright into one file
2.  Fixes the oversite in the license add for the html components

Change-Id: Iec9a1acaf5fd64aaa708e532f5db070be80344a0
This commit is contained in:
Schiefelbein, Andrew 2020-09-28 10:14:04 -05:00
parent 36dbe35e49
commit 95875e9200
7 changed files with 148 additions and 131 deletions

View File

@ -177,7 +177,7 @@ tidy-lint:
.PHONY: check-copyright-lint
check-copyright-lint:
@echo "Checking file for copyright statement..."
@./tools/check_copyright
@./tools/license.sh check
@echo "Copyright check completed successfully"
### Helper Installations ###
@ -262,5 +262,5 @@ clean:
.PHONY: add-copyright
add-copyright:
@echo "Adding copyright license to necessary files..."
@./tools/add_license.sh
@./tools/license.sh add
@echo "Copyright license additions completed successfully"

View File

@ -1,59 +0,0 @@
#!/bin/bash
# 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.
set -e
# Find all files of given format and add license if missing
add_license() {
ext=$1
template=$2
# skipping license for testdata and manifests folders
FILES=$(find -L . -name "*.${ext}" | grep -v "testdata" | grep -v "manifests")
for each in $FILES
do
if ! grep -Eq 'Apache License|License-Identifier: Apache' $each
then
echo "Adding license header to $each"
cat tools/${template} $each >$each.new
mv $each.new $each
fi
done
}
add_license_to_bash() {
template=$1
FILES=$(find -L . -name "*.sh" )
NUM_OF_LINES=$(< "tools/$template" wc -l)
for each in $FILES
do
if ! grep -Eq 'Apache License|License-Identifier: Apache' $each
then
if head -1 $each | grep '^#!' > /dev/null
then
echo "Adding license header to $each"
head -n 1 $each >>$each.new
head -n $NUM_OF_LINES tools/$template >>$each.new
tail -n+2 $each >>$each.new
mv $each.new $each
fi
fi
done
}
add_license 'go' 'license_go.txt'
add_license 'yaml' 'license_yaml.txt'
add_license 'yml' 'license_yaml.txt'
add_license_to_bash 'license_bash.txt'

View File

@ -1,42 +0,0 @@
#!/bin/bash
# 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.
declare FILES_MISSING_COPYRIGHT=()
# Find all files of given format and add license if missing
FILES=$(find -L . -type f \( -iname \*.go -o -iname \*.yaml -o -iname \*.yml -o -iname \*.sh -o -iname \*.ts -o -iname \*.css \) \
-not -path "./etc" \
-not -path "./client/dist/*" \
-not -path "./client/node_modules/*" \
-not -path "./tools/*node*" \
| grep -v "testdata" \
| grep -v "manifests")
for each in $FILES
do
if ! grep -Eq 'Apache License|License-Identifier: Apache' $each
then
FILES_MISSING_COPYRIGHT+=($each)
fi
done
if [ ${#FILES_MISSING_COPYRIGHT[@]} -gt 0 ]
then
printf "Copyright header missing for: %s\n" "${FILES_MISSING_COPYRIGHT[@]}"
echo "please run make add-copyright"
exit 1
else
echo "no file with missing copyright header detected, make target completed successfully"
fi

104
tools/license.sh Executable file
View File

@ -0,0 +1,104 @@
#!/bin/bash
# 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.
declare FILES_MISSING_COPYRIGHT=()
# Get the files of interst
getFiles() {
FILES=$(find -L . -type f \( -iname \*.go -o -iname \*.yaml -o -iname \*.yml -o -iname \*.sh -o -iname \*.ts -o -iname \*.css \) \
-not -path "./etc" \
-not -path "./client/dist/*" \
-not -path "./client/node_modules/*" \
-not -path "./tools/*node*" \
| grep -v "testdata" \
| grep -v "manifests")
for each in $FILES
do
if ! grep -Eq 'Apache License|License-Identifier: Apache' $each
then
FILES_MISSING_COPYRIGHT+=($each)
fi
done
}
# Find all files we care about and add licenses if needed
addLicense() {
getFiles
if [ ${#FILES_MISSING_COPYRIGHT[@]} -gt 0 ]
then
for each in $FILES
do
if ! grep -Eq 'Apache License|License-Identifier: Apache' $each
then
echo "Adding license header to $each"
filename=$(basename -- "$each")
case ${filename##*.} in
css)
cat tools/license_html.txt $each >$each.new
;;
go)
cat tools/license_go.txt $each >$each.new
;;
sh)
head -n 1 $each >>$each.new
NUM_OF_LINES=$(< "tools/license_bash.txt" wc -l)
head -n $NUM_OF_LINES tools/license_bash.txt >>$each.new
tail -n+2 $each >>$each.new
;;
ts)
cat tools/license_html.txt $each >$each.new
;;
yaml)
cat tools/license_yaml.txt $each >$each.new
;;
yal)
cat tools/license_yaml.txt $each >$each.new
;;
esac
mv $each.new $each
fi
done
else
echo "no file with missing copyright header detected, make target completed successfully"
fi
}
# Find all files we care about and check if the license is there
checkLicense() {
getFiles
if [ ${#FILES_MISSING_COPYRIGHT[@]} -gt 0 ]
then
printf "Copyright header missing for: %s\n" "${FILES_MISSING_COPYRIGHT[@]}"
echo "please run make add-copyright"
exit 1
else
echo "no file with missing copyright header detected, make target completed successfully"
fi
}
case ${1} in
add)
addLicense
;;
check)
checkLicense
;;
*)
echo "usage: ${0} { add | check }"
exit 1
;;
esac

14
tools/license_html.txt Executable file
View File

@ -0,0 +1,14 @@
/*
# 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.
*/