github.com/stefanmcshane/helm@v0.0.0-20221213002717-88a4a2c6e77d/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 -o -wholename '*third_party*' \ 25 \) -prune \ 26 \) \ 27 \( -name '*.go' -o -name '*.sh' \) 28 } 29 30 # Use "|| :" to ignore the error code when grep returns empty 31 failed_license_header=($(find_files | xargs grep -L 'Licensed under the Apache License, Version 2.0 (the "License")' || :)) 32 if (( ${#failed_license_header[@]} > 0 )); then 33 echo "Some source files are missing license headers." 34 printf '%s\n' "${failed_license_header[@]}" 35 exit 1 36 fi 37 38 # Use "|| :" to ignore the error code when grep returns empty 39 failed_copyright_header=($(find_files | xargs grep -L 'Copyright The Helm Authors.' || :)) 40 if (( ${#failed_copyright_header[@]} > 0 )); then 41 echo "Some source files are missing the copyright header." 42 printf '%s\n' "${failed_copyright_header[@]}" 43 exit 1 44 fi