This is an automated email from the ASF dual-hosted git repository.

wayne pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/datafusion.git


The following commit(s) were added to refs/heads/main by this push:
     new ddee4717af Fix license header (#12008)
ddee4717af is described below

commit ddee4717af08e1cbeddf32f2872c3b6c8d378618
Author: Ruihang Xia <[email protected]>
AuthorDate: Thu Nov 7 17:37:46 2024 +0800

    Fix license header (#12008)
    
    * chore: fix license header and add checker
    
    Signed-off-by: Ruihang Xia <[email protected]>
    
    * add CI checker
    
    Signed-off-by: Ruihang Xia <[email protected]>
    
    * ignore generated files
    
    Signed-off-by: Ruihang Xia <[email protected]>
    
    * replace RAT with hawkeye
    
    Signed-off-by: Ruihang Xia <[email protected]>
    
    * fix new header errors
    
    Signed-off-by: Ruihang Xia <[email protected]>
    
    ---------
    
    Signed-off-by: Ruihang Xia <[email protected]>
---
 .github/workflows/dev.yml                          | 14 +---
 .github/workflows/rust.yml                         |  8 ++
 benchmarks/compare.py                              | 29 ++++----
 datafusion/common-runtime/src/lib.rs               |  1 +
 datafusion/common/src/lib.rs                       |  1 +
 datafusion/core/src/lib.rs                         |  1 +
 .../core/src/physical_optimizer/sanity_checker.rs  |  2 +-
 datafusion/core/src/test/object_store.rs           |  2 +
 .../core/tests/fuzz_cases/equivalence/utils.rs     |  2 +-
 datafusion/core/tests/macro_hygiene/mod.rs         |  2 +
 datafusion/execution/src/lib.rs                    |  1 +
 datafusion/expr/src/lib.rs                         |  1 +
 datafusion/expr/src/logical_plan/display.rs        |  1 +
 datafusion/ffi/src/lib.rs                          |  1 +
 .../functions-aggregate-common/src/tdigest.rs      | 24 +++---
 datafusion/functions-aggregate/src/lib.rs          |  1 +
 datafusion/functions-aggregate/src/min_max.rs      |  1 +
 .../src/min_max/min_max_bytes.rs                   |  1 +
 datafusion/functions-nested/src/lib.rs             |  1 +
 datafusion/functions/src/lib.rs                    |  1 +
 datafusion/optimizer/src/lib.rs                    |  1 +
 datafusion/optimizer/src/push_down_filter.rs       |  3 +
 datafusion/physical-expr-common/src/datum.rs       |  2 +-
 .../physical-expr/src/intervals/cp_solver.rs       |  2 +-
 .../physical-expr/src/intervals/test_utils.rs      |  2 +-
 datafusion/physical-expr/src/intervals/utils.rs    |  2 +-
 datafusion/physical-optimizer/src/lib.rs           |  1 +
 datafusion/proto-common/src/generated/prost.rs     | 87 ++++++++++++----------
 datafusion/proto-common/src/lib.rs                 |  1 +
 datafusion/proto/src/lib.rs                        |  1 +
 datafusion/proto/src/physical_plan/to_proto.rs     |  3 +-
 datafusion/sql/src/lib.rs                          |  1 +
 datafusion/wasmtest/src/lib.rs                     |  1 +
 dev/create_license.py                              | 28 +++----
 dev/release/check-rat-report.py                    |  3 +-
 dev/release/create-tarball.sh                      |  3 -
 dev/release/download-python-wheels.py              | 29 ++++----
 dev/release/generate-changelog.py                  | 27 +++----
 dev/update_arrow_deps.py                           | 29 ++++----
 dev/update_datafusion_versions.py                  | 29 ++++----
 dev/release/run-rat.sh => licenserc.toml           | 35 +++------
 41 files changed, 199 insertions(+), 186 deletions(-)

diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml
index 19af21ec91..cf204b2cd6 100644
--- a/.github/workflows/dev.yml
+++ b/.github/workflows/dev.yml
@@ -23,18 +23,12 @@ concurrency:
   cancel-in-progress: true
 
 jobs:
-  rat:
-    name: Release Audit Tool (RAT)
+  license-header-check:
     runs-on: ubuntu-latest
+    name: Check License Header
     steps:
-      - name: Checkout
-        uses: actions/checkout@v4
-      - name: Setup Python
-        uses: actions/setup-python@v5
-        with:
-          python-version: "3.10"
-      - name: Audit licenses
-        run: ./dev/release/run-rat.sh .
+      - uses: actions/checkout@v4
+      - uses: korandoru/hawkeye@v5
 
   prettier:
     name: Use prettier to check formatting of documents
diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml
index 39b7b2b178..50bebc5b40 100644
--- a/.github/workflows/rust.yml
+++ b/.github/workflows/rust.yml
@@ -39,6 +39,14 @@ on:
   workflow_dispatch:
 
 jobs:
+  # Check license header
+  license-header-check:
+    runs-on: ubuntu-20.04
+    name: Check License Header
+    steps:
+      - uses: actions/checkout@v4
+      - uses: korandoru/hawkeye@v5
+
   # Check crate compiles
   linux-build-lib:
     name: cargo check
diff --git a/benchmarks/compare.py b/benchmarks/compare.py
index 2574c0735c..4b609c744d 100755
--- a/benchmarks/compare.py
+++ b/benchmarks/compare.py
@@ -1,21 +1,20 @@
 #!/usr/bin/env python
+# 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
 #
-# 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
 #
-#    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.
-#
-
+# 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.
 
 from __future__ import annotations
 
diff --git a/datafusion/common-runtime/src/lib.rs 
b/datafusion/common-runtime/src/lib.rs
index 8145bb1104..51cb988ea0 100644
--- a/datafusion/common-runtime/src/lib.rs
+++ b/datafusion/common-runtime/src/lib.rs
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+
 // Make cheap clones clear: https://github.com/apache/datafusion/issues/11143
 #![deny(clippy::clone_on_ref_ptr)]
 
diff --git a/datafusion/common/src/lib.rs b/datafusion/common/src/lib.rs
index 618e88fb83..77e8cd60ed 100644
--- a/datafusion/common/src/lib.rs
+++ b/datafusion/common/src/lib.rs
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+
 // Make cheap clones clear: https://github.com/apache/datafusion/issues/11143
 #![deny(clippy::clone_on_ref_ptr)]
 
diff --git a/datafusion/core/src/lib.rs b/datafusion/core/src/lib.rs
index 63d4fbc0bb..9d1574f515 100644
--- a/datafusion/core/src/lib.rs
+++ b/datafusion/core/src/lib.rs
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+
 #![warn(missing_docs, clippy::needless_borrow)]
 
 //! [DataFusion] is an extensible query engine written in Rust that
diff --git a/datafusion/core/src/physical_optimizer/sanity_checker.rs 
b/datafusion/core/src/physical_optimizer/sanity_checker.rs
index 4d2baf1fe1..01d3cd1aab 100644
--- a/datafusion/core/src/physical_optimizer/sanity_checker.rs
+++ b/datafusion/core/src/physical_optimizer/sanity_checker.rs
@@ -6,7 +6,7 @@
 // "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
+//   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
diff --git a/datafusion/core/src/test/object_store.rs 
b/datafusion/core/src/test/object_store.rs
index 6c0a2fc7be..cac430c5b4 100644
--- a/datafusion/core/src/test/object_store.rs
+++ b/datafusion/core/src/test/object_store.rs
@@ -14,7 +14,9 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+
 //! Object store implementation used for testing
+
 use crate::execution::context::SessionState;
 use crate::execution::session_state::SessionStateBuilder;
 use crate::prelude::SessionContext;
diff --git a/datafusion/core/tests/fuzz_cases/equivalence/utils.rs 
b/datafusion/core/tests/fuzz_cases/equivalence/utils.rs
index 921332bca5..262f68079f 100644
--- a/datafusion/core/tests/fuzz_cases/equivalence/utils.rs
+++ b/datafusion/core/tests/fuzz_cases/equivalence/utils.rs
@@ -14,7 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
-//
+
 use datafusion::physical_plan::expressions::col;
 use datafusion::physical_plan::expressions::Column;
 use datafusion_physical_expr::{ConstExpr, EquivalenceProperties, 
PhysicalSortExpr};
diff --git a/datafusion/core/tests/macro_hygiene/mod.rs 
b/datafusion/core/tests/macro_hygiene/mod.rs
index c35e46c0c5..62f24f5198 100644
--- a/datafusion/core/tests/macro_hygiene/mod.rs
+++ b/datafusion/core/tests/macro_hygiene/mod.rs
@@ -14,9 +14,11 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+
 //! Verifies [Macro Hygene]
 //!
 //! [Macro Hygene]: https://en.wikipedia.org/wiki/Hygienic_macro
+
 mod plan_err {
     // NO other imports!
     use datafusion_common::plan_err;
diff --git a/datafusion/execution/src/lib.rs b/datafusion/execution/src/lib.rs
index 909364fa80..317bd3203a 100644
--- a/datafusion/execution/src/lib.rs
+++ b/datafusion/execution/src/lib.rs
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+
 // Make cheap clones clear: https://github.com/apache/datafusion/issues/11143
 #![deny(clippy::clone_on_ref_ptr)]
 
diff --git a/datafusion/expr/src/lib.rs b/datafusion/expr/src/lib.rs
index 849d960480..701b276853 100644
--- a/datafusion/expr/src/lib.rs
+++ b/datafusion/expr/src/lib.rs
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+
 // Make cheap clones clear: https://github.com/apache/datafusion/issues/11143
 #![deny(clippy::clone_on_ref_ptr)]
 
diff --git a/datafusion/expr/src/logical_plan/display.rs 
b/datafusion/expr/src/logical_plan/display.rs
index 9aea7747c4..84efd85419 100644
--- a/datafusion/expr/src/logical_plan/display.rs
+++ b/datafusion/expr/src/logical_plan/display.rs
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+
 //! This module provides logic for displaying LogicalPlans in various styles
 
 use std::collections::HashMap;
diff --git a/datafusion/ffi/src/lib.rs b/datafusion/ffi/src/lib.rs
index 4a74e65dc6..8e09780edf 100644
--- a/datafusion/ffi/src/lib.rs
+++ b/datafusion/ffi/src/lib.rs
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+
 // Make cheap clones clear: https://github.com/apache/datafusion/issues/11143
 #![deny(clippy::clone_on_ref_ptr)]
 
diff --git a/datafusion/functions-aggregate-common/src/tdigest.rs 
b/datafusion/functions-aggregate-common/src/tdigest.rs
index 786d7ea3e3..13e40a2b99 100644
--- a/datafusion/functions-aggregate-common/src/tdigest.rs
+++ b/datafusion/functions-aggregate-common/src/tdigest.rs
@@ -1,17 +1,19 @@
-// 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
+// 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.
+// 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.
 
 //! An implementation of the [TDigest sketch algorithm] providing approximate
 //! quantile calculations.
diff --git a/datafusion/functions-aggregate/src/lib.rs 
b/datafusion/functions-aggregate/src/lib.rs
index ca0276d326..746873442d 100644
--- a/datafusion/functions-aggregate/src/lib.rs
+++ b/datafusion/functions-aggregate/src/lib.rs
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+
 // Make cheap clones clear: https://github.com/apache/datafusion/issues/11143
 #![deny(clippy::clone_on_ref_ptr)]
 
diff --git a/datafusion/functions-aggregate/src/min_max.rs 
b/datafusion/functions-aggregate/src/min_max.rs
index b4256508e3..b497953bc5 100644
--- a/datafusion/functions-aggregate/src/min_max.rs
+++ b/datafusion/functions-aggregate/src/min_max.rs
@@ -2,6 +2,7 @@
 // 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
 //
diff --git a/datafusion/functions-aggregate/src/min_max/min_max_bytes.rs 
b/datafusion/functions-aggregate/src/min_max/min_max_bytes.rs
index a09d616ec8..25499c2521 100644
--- a/datafusion/functions-aggregate/src/min_max/min_max_bytes.rs
+++ b/datafusion/functions-aggregate/src/min_max/min_max_bytes.rs
@@ -2,6 +2,7 @@
 // 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
 //
diff --git a/datafusion/functions-nested/src/lib.rs 
b/datafusion/functions-nested/src/lib.rs
index 301ddb36fc..c47e4a696a 100644
--- a/datafusion/functions-nested/src/lib.rs
+++ b/datafusion/functions-nested/src/lib.rs
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+
 // Make cheap clones clear: https://github.com/apache/datafusion/issues/11143
 #![deny(clippy::clone_on_ref_ptr)]
 
diff --git a/datafusion/functions/src/lib.rs b/datafusion/functions/src/lib.rs
index 91f9449953..7278fe3ec5 100644
--- a/datafusion/functions/src/lib.rs
+++ b/datafusion/functions/src/lib.rs
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+
 // Make cheap clones clear: https://github.com/apache/datafusion/issues/11143
 #![deny(clippy::clone_on_ref_ptr)]
 
diff --git a/datafusion/optimizer/src/lib.rs b/datafusion/optimizer/src/lib.rs
index f310838311..263770b81f 100644
--- a/datafusion/optimizer/src/lib.rs
+++ b/datafusion/optimizer/src/lib.rs
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+
 // Make cheap clones clear: https://github.com/apache/datafusion/issues/11143
 #![deny(clippy::clone_on_ref_ptr)]
 
diff --git a/datafusion/optimizer/src/push_down_filter.rs 
b/datafusion/optimizer/src/push_down_filter.rs
index acb7ba0fa7..23cd46803c 100644
--- a/datafusion/optimizer/src/push_down_filter.rs
+++ b/datafusion/optimizer/src/push_down_filter.rs
@@ -1,3 +1,6 @@
+// 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
diff --git a/datafusion/physical-expr-common/src/datum.rs 
b/datafusion/physical-expr-common/src/datum.rs
index c47ec9d75d..233deff758 100644
--- a/datafusion/physical-expr-common/src/datum.rs
+++ b/datafusion/physical-expr-common/src/datum.rs
@@ -8,7 +8,7 @@
 //
 //   http://www.apache.org/licenses/LICENSE-2.0
 //
-// UnLt required by applicable law or agreed to in writing,
+// 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
diff --git a/datafusion/physical-expr/src/intervals/cp_solver.rs 
b/datafusion/physical-expr/src/intervals/cp_solver.rs
index 8084a52c78..f5a83c58de 100644
--- a/datafusion/physical-expr/src/intervals/cp_solver.rs
+++ b/datafusion/physical-expr/src/intervals/cp_solver.rs
@@ -6,7 +6,7 @@
 // "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
+//   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
diff --git a/datafusion/physical-expr/src/intervals/test_utils.rs 
b/datafusion/physical-expr/src/intervals/test_utils.rs
index cedf55bccb..fbd018fb9e 100644
--- a/datafusion/physical-expr/src/intervals/test_utils.rs
+++ b/datafusion/physical-expr/src/intervals/test_utils.rs
@@ -6,7 +6,7 @@
 // "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
+//   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
diff --git a/datafusion/physical-expr/src/intervals/utils.rs 
b/datafusion/physical-expr/src/intervals/utils.rs
index b426a656fb..496db7b454 100644
--- a/datafusion/physical-expr/src/intervals/utils.rs
+++ b/datafusion/physical-expr/src/intervals/utils.rs
@@ -6,7 +6,7 @@
 // "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
+//   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
diff --git a/datafusion/physical-optimizer/src/lib.rs 
b/datafusion/physical-optimizer/src/lib.rs
index 6ae55df92d..9a4e4f8524 100644
--- a/datafusion/physical-optimizer/src/lib.rs
+++ b/datafusion/physical-optimizer/src/lib.rs
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+
 // Make cheap clones clear: https://github.com/apache/datafusion/issues/11143
 #![deny(clippy::clone_on_ref_ptr)]
 
diff --git a/datafusion/proto-common/src/generated/prost.rs 
b/datafusion/proto-common/src/generated/prost.rs
index fa77d23a6a..50a3cff5f5 100644
--- a/datafusion/proto-common/src/generated/prost.rs
+++ b/datafusion/proto-common/src/generated/prost.rs
@@ -638,33 +638,27 @@ pub struct ParquetColumnSpecificOptions {
 #[derive(Clone, PartialEq, ::prost::Message)]
 pub struct ParquetColumnOptions {
     #[prost(oneof = "parquet_column_options::BloomFilterEnabledOpt", tags = 
"1")]
-    pub bloom_filter_enabled_opt: ::core::option::Option<
-        parquet_column_options::BloomFilterEnabledOpt,
-    >,
+    pub bloom_filter_enabled_opt:
+        ::core::option::Option<parquet_column_options::BloomFilterEnabledOpt>,
     #[prost(oneof = "parquet_column_options::EncodingOpt", tags = "2")]
     pub encoding_opt: 
::core::option::Option<parquet_column_options::EncodingOpt>,
     #[prost(oneof = "parquet_column_options::DictionaryEnabledOpt", tags = 
"3")]
-    pub dictionary_enabled_opt: ::core::option::Option<
-        parquet_column_options::DictionaryEnabledOpt,
-    >,
+    pub dictionary_enabled_opt:
+        ::core::option::Option<parquet_column_options::DictionaryEnabledOpt>,
     #[prost(oneof = "parquet_column_options::CompressionOpt", tags = "4")]
     pub compression_opt: 
::core::option::Option<parquet_column_options::CompressionOpt>,
     #[prost(oneof = "parquet_column_options::StatisticsEnabledOpt", tags = 
"5")]
-    pub statistics_enabled_opt: ::core::option::Option<
-        parquet_column_options::StatisticsEnabledOpt,
-    >,
+    pub statistics_enabled_opt:
+        ::core::option::Option<parquet_column_options::StatisticsEnabledOpt>,
     #[prost(oneof = "parquet_column_options::BloomFilterFppOpt", tags = "6")]
-    pub bloom_filter_fpp_opt: ::core::option::Option<
-        parquet_column_options::BloomFilterFppOpt,
-    >,
+    pub bloom_filter_fpp_opt:
+        ::core::option::Option<parquet_column_options::BloomFilterFppOpt>,
     #[prost(oneof = "parquet_column_options::BloomFilterNdvOpt", tags = "7")]
-    pub bloom_filter_ndv_opt: ::core::option::Option<
-        parquet_column_options::BloomFilterNdvOpt,
-    >,
+    pub bloom_filter_ndv_opt:
+        ::core::option::Option<parquet_column_options::BloomFilterNdvOpt>,
     #[prost(oneof = "parquet_column_options::MaxStatisticsSizeOpt", tags = 
"8")]
-    pub max_statistics_size_opt: ::core::option::Option<
-        parquet_column_options::MaxStatisticsSizeOpt,
-    >,
+    pub max_statistics_size_opt:
+        ::core::option::Option<parquet_column_options::MaxStatisticsSizeOpt>,
 }
 /// Nested message and enum types in `ParquetColumnOptions`.
 pub mod parquet_column_options {
@@ -769,27 +763,22 @@ pub struct ParquetOptions {
     #[prost(string, tag = "16")]
     pub created_by: ::prost::alloc::string::String,
     #[prost(oneof = "parquet_options::MetadataSizeHintOpt", tags = "4")]
-    pub metadata_size_hint_opt: ::core::option::Option<
-        parquet_options::MetadataSizeHintOpt,
-    >,
+    pub metadata_size_hint_opt:
+        ::core::option::Option<parquet_options::MetadataSizeHintOpt>,
     #[prost(oneof = "parquet_options::CompressionOpt", tags = "10")]
     pub compression_opt: 
::core::option::Option<parquet_options::CompressionOpt>,
     #[prost(oneof = "parquet_options::DictionaryEnabledOpt", tags = "11")]
-    pub dictionary_enabled_opt: ::core::option::Option<
-        parquet_options::DictionaryEnabledOpt,
-    >,
+    pub dictionary_enabled_opt:
+        ::core::option::Option<parquet_options::DictionaryEnabledOpt>,
     #[prost(oneof = "parquet_options::StatisticsEnabledOpt", tags = "13")]
-    pub statistics_enabled_opt: ::core::option::Option<
-        parquet_options::StatisticsEnabledOpt,
-    >,
+    pub statistics_enabled_opt:
+        ::core::option::Option<parquet_options::StatisticsEnabledOpt>,
     #[prost(oneof = "parquet_options::MaxStatisticsSizeOpt", tags = "14")]
-    pub max_statistics_size_opt: ::core::option::Option<
-        parquet_options::MaxStatisticsSizeOpt,
-    >,
+    pub max_statistics_size_opt:
+        ::core::option::Option<parquet_options::MaxStatisticsSizeOpt>,
     #[prost(oneof = "parquet_options::ColumnIndexTruncateLengthOpt", tags = 
"17")]
-    pub column_index_truncate_length_opt: ::core::option::Option<
-        parquet_options::ColumnIndexTruncateLengthOpt,
-    >,
+    pub column_index_truncate_length_opt:
+        ::core::option::Option<parquet_options::ColumnIndexTruncateLengthOpt>,
     #[prost(oneof = "parquet_options::EncodingOpt", tags = "19")]
     pub encoding_opt: ::core::option::Option<parquet_options::EncodingOpt>,
     #[prost(oneof = "parquet_options::BloomFilterFppOpt", tags = "21")]
@@ -872,7 +861,9 @@ pub struct ColumnStats {
     #[prost(message, optional, tag = "4")]
     pub distinct_count: ::core::option::Option<Precision>,
 }
-#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, 
::prost::Enumeration)]
+#[derive(
+    Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, 
::prost::Enumeration,
+)]
 #[repr(i32)]
 pub enum JoinType {
     Inner = 0,
@@ -919,7 +910,9 @@ impl JoinType {
         }
     }
 }
-#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, 
::prost::Enumeration)]
+#[derive(
+    Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, 
::prost::Enumeration,
+)]
 #[repr(i32)]
 pub enum JoinConstraint {
     On = 0,
@@ -945,7 +938,9 @@ impl JoinConstraint {
         }
     }
 }
-#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, 
::prost::Enumeration)]
+#[derive(
+    Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, 
::prost::Enumeration,
+)]
 #[repr(i32)]
 pub enum TimeUnit {
     Second = 0,
@@ -977,7 +972,9 @@ impl TimeUnit {
         }
     }
 }
-#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, 
::prost::Enumeration)]
+#[derive(
+    Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, 
::prost::Enumeration,
+)]
 #[repr(i32)]
 pub enum IntervalUnit {
     YearMonth = 0,
@@ -1006,7 +1003,9 @@ impl IntervalUnit {
         }
     }
 }
-#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, 
::prost::Enumeration)]
+#[derive(
+    Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, 
::prost::Enumeration,
+)]
 #[repr(i32)]
 pub enum UnionMode {
     Sparse = 0,
@@ -1032,7 +1031,9 @@ impl UnionMode {
         }
     }
 }
-#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, 
::prost::Enumeration)]
+#[derive(
+    Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, 
::prost::Enumeration,
+)]
 #[repr(i32)]
 pub enum CompressionTypeVariant {
     Gzip = 0,
@@ -1067,7 +1068,9 @@ impl CompressionTypeVariant {
         }
     }
 }
-#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, 
::prost::Enumeration)]
+#[derive(
+    Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, 
::prost::Enumeration,
+)]
 #[repr(i32)]
 pub enum JoinSide {
     LeftSide = 0,
@@ -1096,7 +1099,9 @@ impl JoinSide {
         }
     }
 }
-#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, 
::prost::Enumeration)]
+#[derive(
+    Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, 
::prost::Enumeration,
+)]
 #[repr(i32)]
 pub enum PrecisionInfo {
     Exact = 0,
diff --git a/datafusion/proto-common/src/lib.rs 
b/datafusion/proto-common/src/lib.rs
index 91e3939154..9272a4e879 100644
--- a/datafusion/proto-common/src/lib.rs
+++ b/datafusion/proto-common/src/lib.rs
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+
 // Make cheap clones clear: https://github.com/apache/datafusion/issues/11143
 #![deny(clippy::clone_on_ref_ptr)]
 
diff --git a/datafusion/proto/src/lib.rs b/datafusion/proto/src/lib.rs
index e7019553f5..9f2973e3c9 100644
--- a/datafusion/proto/src/lib.rs
+++ b/datafusion/proto/src/lib.rs
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+
 // Make cheap clones clear: https://github.com/apache/datafusion/issues/11143
 #![deny(clippy::clone_on_ref_ptr)]
 
diff --git a/datafusion/proto/src/physical_plan/to_proto.rs 
b/datafusion/proto/src/physical_plan/to_proto.rs
index dc94ad075c..e9bae11bad 100644
--- a/datafusion/proto/src/physical_plan/to_proto.rs
+++ b/datafusion/proto/src/physical_plan/to_proto.rs
@@ -13,8 +13,7 @@
 // "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.language governing permissions and
-// limitations under the License.
+// under the License.
 
 use std::sync::Arc;
 
diff --git a/datafusion/sql/src/lib.rs b/datafusion/sql/src/lib.rs
index 956f5e17e2..a5d5389894 100644
--- a/datafusion/sql/src/lib.rs
+++ b/datafusion/sql/src/lib.rs
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+
 // Make cheap clones clear: https://github.com/apache/datafusion/issues/11143
 #![deny(clippy::clone_on_ref_ptr)]
 
diff --git a/datafusion/wasmtest/src/lib.rs b/datafusion/wasmtest/src/lib.rs
index 085064d16d..54b662514c 100644
--- a/datafusion/wasmtest/src/lib.rs
+++ b/datafusion/wasmtest/src/lib.rs
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+
 extern crate wasm_bindgen;
 
 use datafusion_common::{DFSchema, ScalarValue};
diff --git a/dev/create_license.py b/dev/create_license.py
index 241d789d29..0eebb39e5f 100755
--- a/dev/create_license.py
+++ b/dev/create_license.py
@@ -1,20 +1,20 @@
 #!/usr/bin/python
+# 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
 #
-# 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.
+#   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.
 
 import json
 import subprocess
diff --git a/dev/release/check-rat-report.py b/dev/release/check-rat-report.py
index e30d72bddd..a7e0a99a1d 100644
--- a/dev/release/check-rat-report.py
+++ b/dev/release/check-rat-report.py
@@ -1,5 +1,4 @@
 #!/usr/bin/python
-##############################################################################
 # 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
@@ -16,7 +15,7 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-##############################################################################
+
 import fnmatch
 import re
 import sys
diff --git a/dev/release/create-tarball.sh b/dev/release/create-tarball.sh
index 1e59fad269..7d2b7d56bd 100755
--- a/dev/release/create-tarball.sh
+++ b/dev/release/create-tarball.sh
@@ -112,9 +112,6 @@ echo 
"---------------------------------------------------------"
 mkdir -p ${distdir}
 (cd "${SOURCE_TOP_DIR}" && git archive ${release_hash} --prefix ${release}/ | 
gzip > ${tarball})
 
-echo "Running rat license checker on ${tarball}"
-${SOURCE_DIR}/run-rat.sh ${tarball}
-
 echo "Signing tarball and creating checksums"
 gpg --armor --output ${tarball}.asc --detach-sig ${tarball}
 # create signing with relative path of tarball
diff --git a/dev/release/download-python-wheels.py 
b/dev/release/download-python-wheels.py
index ca9789ec67..3f97d0a05c 100644
--- a/dev/release/download-python-wheels.py
+++ b/dev/release/download-python-wheels.py
@@ -1,21 +1,20 @@
 #!/usr/bin/env python
-
-#
-# 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
+# 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
 #
-# 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.
+#   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.
 
 # Script that download python release artifacts from Github
 #
diff --git a/dev/release/generate-changelog.py 
b/dev/release/generate-changelog.py
index 23b5942148..dc25b3dca2 100755
--- a/dev/release/generate-changelog.py
+++ b/dev/release/generate-changelog.py
@@ -1,19 +1,20 @@
 #!/usr/bin/env python
-
-# 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
+# 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
+#   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.
+# 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.
 
 import argparse
 import sys
diff --git a/dev/update_arrow_deps.py b/dev/update_arrow_deps.py
index 268ded38f6..6bd5d47ff0 100755
--- a/dev/update_arrow_deps.py
+++ b/dev/update_arrow_deps.py
@@ -1,21 +1,20 @@
 #!/usr/bin/env python
-
-#
-# 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
+# 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
 #
-# 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.
+#   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.
 
 # Script that updates the arrow dependencies in datafusion locally
 #
diff --git a/dev/update_datafusion_versions.py 
b/dev/update_datafusion_versions.py
index 2e3374cd92..4cb479b6df 100755
--- a/dev/update_datafusion_versions.py
+++ b/dev/update_datafusion_versions.py
@@ -1,21 +1,20 @@
 #!/usr/bin/env python
-
-#
-# 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
+# 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
 #
-# 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.
+#   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.
 
 # Script that updates versions for datafusion crates, locally
 #
diff --git a/dev/release/run-rat.sh b/licenserc.toml
old mode 100755
new mode 100644
similarity index 51%
rename from dev/release/run-rat.sh
rename to licenserc.toml
index 94fa55fbe0..105d969ea5
--- a/dev/release/run-rat.sh
+++ b/licenserc.toml
@@ -1,5 +1,3 @@
-#!/bin/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
@@ -16,28 +14,17 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-#
-
-RAT_VERSION=0.13
-
-# download apache rat
-if [ ! -f apache-rat-${RAT_VERSION}.jar ]; then
-  curl -s 
https://repo1.maven.org/maven2/org/apache/rat/apache-rat/${RAT_VERSION}/apache-rat-${RAT_VERSION}.jar
 > apache-rat-${RAT_VERSION}.jar
-fi
-
-RAT="java -jar apache-rat-${RAT_VERSION}.jar -x "
 
-RELEASE_DIR=$(cd "$(dirname "$BASH_SOURCE")"; pwd)
+headerPath = "Apache-2.0-ASF.txt"
 
-# generate the rat report
-$RAT $1 > rat.txt
-python $RELEASE_DIR/check-rat-report.py $RELEASE_DIR/rat_exclude_files.txt 
rat.txt > filtered_rat.txt
-cat filtered_rat.txt
-UNAPPROVED=`cat filtered_rat.txt  | grep "NOT APPROVED" | wc -l`
+includes = [
+    "*.rs",
+    "*.py",
+    "*.ts",
+]
 
-if [ "0" -eq "${UNAPPROVED}" ]; then
-  echo "No unapproved licenses"
-else
-  echo "${UNAPPROVED} unapproved licences. Check rat report: rat.txt"
-  exit 1
-fi
+excludes = [
+    # generated code
+    "datafusion/proto/src/generated/",
+    "datafusion/proto-common/src/generated/",
+]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


Reply via email to