This is an automated email from the ASF dual-hosted git repository. lidavidm pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/arrow-adbc.git
The following commit(s) were added to refs/heads/main by this push: new a8b2893 ci: only run Apache RAT on staged/committed files (#325) a8b2893 is described below commit a8b28933499c5d01030d1d6e01b667a762c4a93d Author: David Li <li.david...@gmail.com> AuthorDate: Mon Jan 9 11:49:52 2023 -0500 ci: only run Apache RAT on staged/committed files (#325) Fixes #313. --- .pre-commit-config.yaml | 2 +- ci/scripts/run_rat_local.sh | 48 +++++++++++++++++++++++++++++++++++++++ dev/release/rat_exclude_files.txt | 3 +++ 3 files changed, 52 insertions(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 5bece5d..8523fa2 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -82,6 +82,6 @@ repos: name: Check for unapproved licenses language: script pass_filenames: false - entry: "./dev/release/run-rat.sh ." + entry: "./ci/scripts/run_rat_local.sh" exclude: "^c/vendor/.*" diff --git a/ci/scripts/run_rat_local.sh b/ci/scripts/run_rat_local.sh new file mode 100755 index 0000000..4a68c99 --- /dev/null +++ b/ci/scripts/run_rat_local.sh @@ -0,0 +1,48 @@ +#!/usr/bin/env bash +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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. +# + +# Run Apache RAT on the local repository to check for licenses + +set -e + +main() { + local -r source_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + local -r source_top_dir="$(cd "${source_dir}/../../" && pwd)" + + pushd "${source_top_dir}" + + # Generate a temporary archive and validate that, ignores build + # artifacts (RAT itself doesn't respect .gitignore) + export ARCHIVE=$(mktemp adbc.ratXXXXXXXX) + trap 'rm -f "$ARCHIVE"' ERR EXIT INT TERM + + # Need to prefix with directory since check-rat-report.py always removes one layer + if [[ "$(uname)" = "Darwin" ]]; then + git ls-files | tar -s '|.*|adbc/~|' --files-from=- --create --gzip --file="${ARCHIVE}" + else + git ls-files | tar --transform='s|^|adbc/|' --files-from=- --create --gzip --file="${ARCHIVE}" + fi + + "${source_top_dir}/dev/release/run-rat.sh" "${ARCHIVE}" + + popd +} + +main "$@" diff --git a/dev/release/rat_exclude_files.txt b/dev/release/rat_exclude_files.txt index 2b1587e..9d68138 100644 --- a/dev/release/rat_exclude_files.txt +++ b/dev/release/rat_exclude_files.txt @@ -3,6 +3,9 @@ ci/linux-packages/changelog ci/linux-packages/*.install dev/release/rat_exclude_files.txt filtered_rat.txt +go/adbc/drivermgr/adbc.h +go/adbc/drivermgr/adbc_driver_manager.cc +go/adbc/drivermgr/adbc_driver_manager.h go/adbc/status_string.go go/adbc/go.sum rat.txt