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

mgrigorov pushed a commit to branch avro-rs-385-asfv2-license
in repository https://gitbox.apache.org/repos/asf/avro-rs.git

commit f2a99b1c0a81590942ac2d599544660aa152822f
Author: Martin Tzvetanov Grigorov <[email protected]>
AuthorDate: Mon Jan 5 14:57:09 2026 +0200

    Fixes #385: Check that all source files have ASFv2 licence
---
 .github/dependabot.yml                          |  4 +---
 .github/workflows/test-lang-rust-ci.yml         | 25 +++++++++++--------
 avro/src/duration.rs                            |  1 +
 avro/src/serde/mod.rs                           | 17 +++++++++++++
 avro/src/serde/util.rs                          | 17 +++++++++++++
 avro/tests/avro-rs-219.rs                       | 17 +++++++++++++
 avro/tests/avro-rs-285-bytes_deserialization.rs | 17 +++++++++++++
 avro/tests/serde_human_readable_false.rs        | 17 +++++++++++++
 avro/tests/serde_human_readable_true.rs         | 17 +++++++++++++
 build.sh                                        | 32 +++++++++++++------------
 .github/dependabot.yml => licenserc.toml        | 25 +++++++------------
 11 files changed, 144 insertions(+), 45 deletions(-)

diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 273a84d..dec3a14 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -1,4 +1,3 @@
-#
 # 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
@@ -15,10 +14,9 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-#
+
 version: 2
 updates:
-
   - package-ecosystem: "cargo"
     directory: "/"
     schedule:
diff --git a/.github/workflows/test-lang-rust-ci.yml 
b/.github/workflows/test-lang-rust-ci.yml
index 6c84abe..f35a196 100644
--- a/.github/workflows/test-lang-rust-ci.yml
+++ b/.github/workflows/test-lang-rust-ci.yml
@@ -19,9 +19,9 @@ name: Rust Continuous Integration
 on:
   workflow_dispatch:
   push:
-    branches: [ main ]
+    branches: [main]
   pull_request:
-    branches: [ main ]
+    branches: [main]
 
 permissions:
   contents: read
@@ -34,15 +34,21 @@ concurrency:
   cancel-in-progress: true
 
 jobs:
+  license-check:
+    runs-on: ${{ matrix.runner.name }}
+    if: ${{ matrix.runner.target = 'x86_64-unknown-linux-gnu' }}
+    steps:
+      - name: Check License Header
+        uses: korandoru/hawkeye@v6
   ci:
     runs-on: ${{ matrix.runner.name }}
     strategy:
       matrix:
         rust:
-          - 'stable'
-          - 'beta'
-          - 'nightly'
-          - '1.86.0'  # MSRV
+          - "stable"
+          - "beta"
+          - "nightly"
+          - "1.86.0" # MSRV
         runner:
           - name: ubuntu-24.04
             target: x86_64-unknown-linux-gnu
@@ -156,17 +162,17 @@ jobs:
           restore-keys: |
             ${{ runner.os }}-maven-
 
-      - name: 'Setup Temurin JDK 8, 11, 17 & 21'
+      - name: "Setup Temurin JDK 8, 11, 17 & 21"
         uses: actions/setup-java@f2beeb24e141e01a676f977032f5a29d81c9e27e # 
v5.1.0
         with:
-          distribution: 'temurin'
+          distribution: "temurin"
           java-version: |
             8
             11
             17
             21
 
-      - name: 'Setup Maven 3.9.9'
+      - name: "Setup Maven 3.9.9"
         uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # 
v5
         with:
           maven-version: 3.9.9
@@ -215,7 +221,6 @@ jobs:
                                                        Try::Tiny \
                                                        inc::Module::Install
 
-
       - name: Perl reads interop files created by Java and Rust
         working-directory: main-repo/lang/perl
         run: ./build.sh interop-data-test
diff --git a/avro/src/duration.rs b/avro/src/duration.rs
index 4aa6bd5..713c9f8 100644
--- a/avro/src/duration.rs
+++ b/avro/src/duration.rs
@@ -14,6 +14,7 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
+
 /// A struct representing duration that hides the details of endianness and 
conversion between
 /// platform-native u32 and byte arrays.
 #[derive(Debug, Copy, Clone, Eq, PartialEq)]
diff --git a/avro/src/serde/mod.rs b/avro/src/serde/mod.rs
index 509d2e5..efd1032 100644
--- a/avro/src/serde/mod.rs
+++ b/avro/src/serde/mod.rs
@@ -1,3 +1,20 @@
+// 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.
+
 pub mod de;
 pub mod ser;
 pub mod ser_schema;
diff --git a/avro/src/serde/util.rs b/avro/src/serde/util.rs
index 55ea2ea..8967161 100644
--- a/avro/src/serde/util.rs
+++ b/avro/src/serde/util.rs
@@ -1,3 +1,20 @@
+// 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.
+
 use crate::{Error, error::Details};
 use serde::{
     Serialize, Serializer,
diff --git a/avro/tests/avro-rs-219.rs b/avro/tests/avro-rs-219.rs
index 3796fbb..34d503f 100644
--- a/avro/tests/avro-rs-219.rs
+++ b/avro/tests/avro-rs-219.rs
@@ -1,3 +1,20 @@
+// 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.
+
 use serde::Deserialize;
 
 #[test]
diff --git a/avro/tests/avro-rs-285-bytes_deserialization.rs 
b/avro/tests/avro-rs-285-bytes_deserialization.rs
index 1262cea..5ac2688 100644
--- a/avro/tests/avro-rs-285-bytes_deserialization.rs
+++ b/avro/tests/avro-rs-285-bytes_deserialization.rs
@@ -1,3 +1,20 @@
+// 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.
+
 use apache_avro_test_helper::TestResult;
 use serde::{Deserialize, Serialize};
 
diff --git a/avro/tests/serde_human_readable_false.rs 
b/avro/tests/serde_human_readable_false.rs
index 3095657..8e37b04 100644
--- a/avro/tests/serde_human_readable_false.rs
+++ b/avro/tests/serde_human_readable_false.rs
@@ -1,3 +1,20 @@
+// 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.
+
 use apache_avro::{AvroSchema, Schema, SpecificSingleObjectWriter};
 use apache_avro_test_helper::TestResult;
 use serde::{Deserialize, Serialize};
diff --git a/avro/tests/serde_human_readable_true.rs 
b/avro/tests/serde_human_readable_true.rs
index 0b6d665..75a2818 100644
--- a/avro/tests/serde_human_readable_true.rs
+++ b/avro/tests/serde_human_readable_true.rs
@@ -1,3 +1,20 @@
+// 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.
+
 use apache_avro::{AvroSchema, Schema, SpecificSingleObjectWriter};
 use apache_avro_test_helper::TestResult;
 use serde::{Deserialize, Serialize};
diff --git a/build.sh b/build.sh
index 90691be..8b729a9 100755
--- a/build.sh
+++ b/build.sh
@@ -1,21 +1,23 @@
-#!/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 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
+#!/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
 #
-#     https://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.
 
-set -e  # exit on error
+set -euo pipefail
 
 build_dir="../../build/rust"
 dist_dir="../../dist/rust"
diff --git a/.github/dependabot.yml b/licenserc.toml
similarity index 71%
copy from .github/dependabot.yml
copy to licenserc.toml
index 273a84d..2c153a7 100644
--- a/.github/dependabot.yml
+++ b/licenserc.toml
@@ -1,4 +1,3 @@
-#
 # 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
@@ -15,20 +14,12 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-#
-version: 2
-updates:
-
-  - package-ecosystem: "cargo"
-    directory: "/"
-    schedule:
-      interval: "daily"
-    open-pull-requests-limit: 20
-    commit-message:
-      prefix: "chore(deps): "
 
-  - package-ecosystem: "github-actions"
-    directory: "/"
-    schedule:
-      interval: "weekly"
-      day: "sunday"
+headerPath = "Apache-2.0-ASF.txt"
+excludes = [
+  "*.stderr",
+  "*.avro",
+  "NOTICE",
+  "README.tpl",
+  ".requirements-precommit.txt"
+]

Reply via email to