From 1fd23dda91e01550be1a421de307e6fedb2035a9 Mon Sep 17 00:00:00 2001 From: Ben Clayton Date: Tue, 21 Jul 2020 15:19:54 +0100 Subject: [PATCH] Add license checker config and kokoro presubmit `license-checker` is a tool that verifies each file has contains a permitted license header. See https://github.com/ben-clayton/license-checker for more information. Also add missing licenses to presubmit scripts. --- clang-format-all.sh | 16 +++++++++++++- kokoro/license-check/presubmit-docker.sh | 19 +++++++++++++++++ kokoro/license-check/presubmit.cfg | 4 ++++ kokoro/license-check/presubmit.sh | 27 ++++++++++++++++++++++++ kokoro/macos/presubmit.sh | 16 +++++++++++++- kokoro/ubuntu/presubmit-docker.sh | 16 +++++++++++++- kokoro/ubuntu/presubmit.sh | 14 ++++++++++++ kokoro/windows/presubmit.bat | 14 ++++++++++++ license-checker.cfg | 24 +++++++++++++++++++++ 9 files changed, 147 insertions(+), 3 deletions(-) create mode 100755 kokoro/license-check/presubmit-docker.sh create mode 100644 kokoro/license-check/presubmit.cfg create mode 100755 kokoro/license-check/presubmit.sh create mode 100644 license-checker.cfg diff --git a/clang-format-all.sh b/clang-format-all.sh index 908fde8..d23d534 100755 --- a/clang-format-all.sh +++ b/clang-format-all.sh @@ -1,7 +1,21 @@ +# Copyright 2020 The Marl Authors. +# +# 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 +# +# https://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. + ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" SRC_DIR=${ROOT_DIR}/src CLANG_FORMAT=${CLANG_FORMAT:-clang-format} # Double clang-format, as it seems that one pass isn't always enough find ${SRC_DIR} -iname "*.h" -o -iname "*.cpp" | xargs ${CLANG_FORMAT} -i -style=file -find ${SRC_DIR} -iname "*.h" -o -iname "*.cpp" | xargs ${CLANG_FORMAT} -i -style=file \ No newline at end of file +find ${SRC_DIR} -iname "*.h" -o -iname "*.cpp" | xargs ${CLANG_FORMAT} -i -style=file diff --git a/kokoro/license-check/presubmit-docker.sh b/kokoro/license-check/presubmit-docker.sh new file mode 100755 index 0000000..31e39f3 --- /dev/null +++ b/kokoro/license-check/presubmit-docker.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +# Copyright 2020 The Marl Authors. +# +# 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 +# +# https://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 # Fail on any error. + +license-checker diff --git a/kokoro/license-check/presubmit.cfg b/kokoro/license-check/presubmit.cfg new file mode 100644 index 0000000..bacde18 --- /dev/null +++ b/kokoro/license-check/presubmit.cfg @@ -0,0 +1,4 @@ +# Format: //devtools/kokoro/config/proto/build.proto + +build_file: "cppdap/kokoro/license-check/presubmit.sh" + diff --git a/kokoro/license-check/presubmit.sh b/kokoro/license-check/presubmit.sh new file mode 100755 index 0000000..76afcd9 --- /dev/null +++ b/kokoro/license-check/presubmit.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +# Copyright 2020 Google LLC +# +# 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 +# +# https://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 # Fail on any error. + +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd )" +ROOT_DIR="$( cd "${SCRIPT_DIR}/../.." >/dev/null 2>&1 && pwd )" + +docker run --rm -i \ + --volume "${ROOT_DIR}:${ROOT_DIR}" \ + --volume "${KOKORO_ARTIFACTS_DIR}:/mnt/artifacts" \ + --workdir "${ROOT_DIR}" \ + --entrypoint "${SCRIPT_DIR}/presubmit-docker.sh" \ + "gcr.io/shaderc-build/radial-build:latest" diff --git a/kokoro/macos/presubmit.sh b/kokoro/macos/presubmit.sh index cdf9eb1..d74e485 100755 --- a/kokoro/macos/presubmit.sh +++ b/kokoro/macos/presubmit.sh @@ -1,5 +1,19 @@ #!/bin/bash +# Copyright 2020 Google LLC +# +# 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 +# +# https://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 # Fail on any error. set -x # Display commands being run. @@ -20,4 +34,4 @@ if [ "$BUILD_SYSTEM" == "cmake" ]; then else echo "Unknown build system: $BUILD_SYSTEM" exit 1 -fi \ No newline at end of file +fi diff --git a/kokoro/ubuntu/presubmit-docker.sh b/kokoro/ubuntu/presubmit-docker.sh index 82c64f0..491b9ab 100755 --- a/kokoro/ubuntu/presubmit-docker.sh +++ b/kokoro/ubuntu/presubmit-docker.sh @@ -1,5 +1,19 @@ #!/bin/bash +# Copyright 2020 Google LLC +# +# 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 +# +# https://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 # Fail on any error. . /bin/using.sh # Declare the bash `using` function for configuring toolchains. @@ -36,4 +50,4 @@ if [ "$BUILD_SYSTEM" == "cmake" ]; then else echo "Unknown build system: $BUILD_SYSTEM" exit 1 -fi \ No newline at end of file +fi diff --git a/kokoro/ubuntu/presubmit.sh b/kokoro/ubuntu/presubmit.sh index b69d40d..3fe2af7 100755 --- a/kokoro/ubuntu/presubmit.sh +++ b/kokoro/ubuntu/presubmit.sh @@ -1,5 +1,19 @@ #!/bin/bash +# Copyright 2020 Google LLC +# +# 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 +# +# https://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 # Fail on any error. ROOT_DIR=`pwd` diff --git a/kokoro/windows/presubmit.bat b/kokoro/windows/presubmit.bat index 7d0a825..dd34943 100644 --- a/kokoro/windows/presubmit.bat +++ b/kokoro/windows/presubmit.bat @@ -1,3 +1,17 @@ +REM Copyright 2020 Google LLC +REM +REM Licensed under the Apache License, Version 2.0 (the "License"); +REM you may not use this file except in compliance with the License. +REM You may obtain a copy of the License at +REM +REM https://www.apache.org/licenses/LICENSE-2.0 +REM +REM Unless required by applicable law or agreed to in writing, software +REM distributed under the License is distributed on an "AS IS" BASIS, +REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +REM See the License for the specific language governing permissions and +REM limitations under the License. + @echo on SETLOCAL ENABLEDELAYEDEXPANSION diff --git a/license-checker.cfg b/license-checker.cfg new file mode 100644 index 0000000..aa86ef2 --- /dev/null +++ b/license-checker.cfg @@ -0,0 +1,24 @@ +{ + "licenses": [ + "Apache-2.0-Header" + ], + "paths": [ + { + "exclude": [ + ".clang-format", + ".gitignore", + ".gitmodules", + ".vscode/*.json", + "**.md", + "CONTRIBUTING", + "LICENSE", + "build/**", + "examples/vscode/package.json", + "fuzz/**", + "kokoro/**.cfg", + "third_party/googletest/**", + "third_party/json/**" + ] + } + ] +}