github.com/uhthomas/helm@v3.0.0-beta.3+incompatible/scripts/validate-license.sh (about) 1 #!/usr/bin/env bash 2 3 # Copyright The Helm Authors. 4 # 5 # Licensed under the Apache License, Version 2.0 (the "License"); 6 # you may not use this file except in compliance with the License. 7 # You may obtain a copy of the License at 8 # 9 # http://www.apache.org/licenses/LICENSE-2.0 10 # 11 # Unless required by applicable law or agreed to in writing, software 12 # distributed under the License is distributed on an "AS IS" BASIS, 13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 # See the License for the specific language governing permissions and 15 # limitations under the License. 16 set -euo pipefail 17 IFS=$'\n\t' 18 19 find_files() { 20 find . -not \( \ 21 \( \ 22 -wholename './vendor' \ 23 -o -wholename '*testdata*' \ 24 \) -prune \ 25 \) \ 26 \( -name '*.go' -o -name '*.sh' \) 27 } 28 29 mapfile -t failed_license_header < <(find_files | xargs grep -L 'Licensed under the Apache License, Version 2.0 (the "License")') 30 if (( ${#failed_license_header[@]} > 0 )); then 31 echo "Some source files are missing license headers." 32 printf '%s\n' "${failed_license_header[@]}" 33 exit 1 34 fi 35 36 mapfile -t failed_copyright_header < <(find_files | xargs grep -L 'Copyright The Helm Authors.') 37 if (( ${#failed_copyright_header[@]} > 0 )); then 38 echo "Some source files are missing the copyright header." 39 printf '%s\n' "${failed_copyright_header[@]}" 40 exit 1 41 fi