Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: apache/avro
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: release-1.11.1
Choose a base ref
...
head repository: apache/avro
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: release-1.11.2
Choose a head ref
Loading
Showing with 12,182 additions and 8,994 deletions.
  1. +6 −0 .github/dependabot.yml
  2. +1 −0 .github/workflows/codeql-csharp-analysis.yml
  3. +65 −0 .github/workflows/maven4.yml
  4. +6 −0 .github/workflows/test-lang-c++.yml
  5. +8 −19 .github/workflows/test-lang-csharp.yml
  6. +2 −1 .github/workflows/test-lang-java.yml
  7. +1 −1 .github/workflows/test-lang-js.yml
  8. +6 −4 .github/workflows/test-lang-py.yml
  9. +4 −2 .github/workflows/test-lang-ruby.yml
  10. +1 −1 .github/workflows/test-lang-rust-audit.yml
  11. +1 −1 .github/workflows/test-lang-rust-ci.yml
  12. +25 −0 .mvn/extensions.xml
  13. +1 −1 BUILD.md
  14. +6 −3 build.sh
  15. +0 −1 doc-deprecated/.gitignore
  16. +0 −330 doc-deprecated/LICENSE
  17. +0 −83 doc-deprecated/NOTICE
  18. +0 −56 doc-deprecated/build.xml
  19. +0 −22 doc-deprecated/forrest.properties
  20. +0 −328 doc-deprecated/src/cli.xconf
  21. +0 −204 doc-deprecated/src/content/htmldocs/canonical-completeness.html
  22. +0 −173 doc-deprecated/src/content/htmldocs/performance-testing.html
  23. +0 −143 doc-deprecated/src/content/mddocs/refactoring-resolution.md
  24. +0 −527 doc-deprecated/src/content/xdocs/gettingstartedjava.xml
  25. +0 −258 doc-deprecated/src/content/xdocs/gettingstartedpython.xml
  26. +0 −525 doc-deprecated/src/content/xdocs/idl.xml
  27. +0 −96 doc-deprecated/src/content/xdocs/index.xml
  28. +0 −580 doc-deprecated/src/content/xdocs/mr.xml
  29. +0 −152 doc-deprecated/src/content/xdocs/sasl.xml
  30. +0 −91 doc-deprecated/src/content/xdocs/site.xml
  31. +0 −1,688 doc-deprecated/src/content/xdocs/spec.xml
  32. +0 −39 doc-deprecated/src/content/xdocs/tabs.xml
  33. BIN doc-deprecated/src/resources/images/apache_feather.gif
  34. BIN doc-deprecated/src/resources/images/avro-logo.png
  35. BIN doc-deprecated/src/resources/images/favicon.ico
  36. +0 −350 doc-deprecated/src/skinconf.xml
  37. +0 −6 doc/LICENSE
  38. +1 −1 doc/config.toml
  39. +130 −0 doc/content/en/blog/releases/avro-1.11.1-released.md
  40. +7 −4 doc/content/en/docs/++version++/Getting started (Python)/_index.md
  41. +6 −4 doc/content/en/docs/++version++/IDL Language/_index.md
  42. +22 −11 doc/content/en/docs/++version++/Specification/_index.md
  43. +4 −4 doc/examples/java-example/pom.xml
  44. +4 −4 doc/examples/mr-example/pom.xml
  45. +2 −2 lang/c++/CMakeLists.txt
  46. +4 −4 lang/c++/api/AvroTraits.hh
  47. +56 −0 lang/c++/api/CustomAttributes.hh
  48. +0 −55 lang/c++/api/CustomFields.hh
  49. +3 −3 lang/c++/api/Node.hh
  50. +7 −7 lang/c++/api/NodeImpl.hh
  51. +1 −1 lang/c++/api/Reader.hh
  52. +2 −2 lang/c++/api/Schema.hh
  53. +1 −1 lang/c++/api/buffer/Buffer.hh
  54. +8 −8 lang/c++/impl/Compiler.cc
  55. +53 −0 lang/c++/impl/CustomAttributes.cc
  56. +0 −59 lang/c++/impl/CustomFields.cc
  57. +5 −5 lang/c++/impl/DataFile.cc
  58. +6 −6 lang/c++/impl/NodeImpl.cc
  59. +1 −1 lang/c++/impl/Resolver.cc
  60. +4 −4 lang/c++/impl/Schema.cc
  61. +2 −2 lang/c++/impl/ValidSchema.cc
  62. +1 −1 lang/c++/impl/Validator.cc
  63. +46 −25 lang/c++/impl/avrogencpp.cc
  64. +1 −1 lang/c++/test/AvrogencppTestReservedWords.cc
  65. +1 −1 lang/c++/test/AvrogencppTests.cc
  66. +1 −1 lang/c++/test/CodecTests.cc
  67. +1 −1 lang/c++/test/CompilerTests.cc
  68. +1 −1 lang/c++/test/DataFileTests.cc
  69. +1 −1 lang/c++/test/JsonTests.cc
  70. +1 −1 lang/c++/test/LargeSchemaTests.cc
  71. +1 −1 lang/c++/test/SchemaTests.cc
  72. +1 −1 lang/c++/test/SpecificTests.cc
  73. +1 −1 lang/c++/test/StreamTests.cc
  74. +1 −1 lang/c++/test/buffertest.cc
  75. +1 −1 lang/c++/test/testgentest.cc
  76. +51 −31 lang/c++/test/unittest.cc
  77. +1 −0 lang/c/tests/CMakeLists.txt
  78. +150 −0 lang/c/tests/test_avro_commons_schema.c
  79. +14 −14 lang/csharp/README.md
  80. +3 −3 lang/csharp/build.sh
  81. +7 −3 lang/csharp/common.props
  82. +6 −0 lang/csharp/src/apache/benchmark/Avro.benchmark.csproj
  83. +2 −2 lang/csharp/src/apache/benchmark/Program.cs
  84. +44 −0 lang/csharp/src/apache/main/CodeGen/CodeGen.cs
  85. +1 −0 lang/csharp/src/apache/main/Generic/GenericWriter.cs
  86. +1 −0 lang/csharp/src/apache/main/Generic/PreresolvingDatumWriter.cs
  87. +5 −0 lang/csharp/src/apache/main/IO/Encoder.cs
  88. +765 −0 lang/csharp/src/apache/main/IO/JsonDecoder.cs
  89. +352 −0 lang/csharp/src/apache/main/IO/JsonEncoder.cs
  90. +105 −0 lang/csharp/src/apache/main/IO/Parsing/JsonGrammarGenerator.cs
  91. +229 −0 lang/csharp/src/apache/main/IO/Parsing/Parser.cs
  92. +107 −0 lang/csharp/src/apache/main/IO/Parsing/SkipParser.cs
  93. +984 −0 lang/csharp/src/apache/main/IO/Parsing/Symbol.cs
  94. +170 −0 lang/csharp/src/apache/main/IO/Parsing/ValidatingGrammarGenerator.cs
  95. +205 −0 lang/csharp/src/apache/main/IO/ParsingDecoder.cs
  96. +146 −0 lang/csharp/src/apache/main/IO/ParsingEncoder.cs
  97. +2 −2 lang/csharp/src/apache/main/Reflect/DotnetClass.cs
  98. +12 −7 lang/csharp/src/apache/main/Reflect/DotnetProperty.cs
  99. +2 −0 lang/csharp/src/apache/main/Reflect/ReflectDefaultWriter.cs
  100. +12 −0 lang/csharp/src/apache/main/Schema/LogicalSchema.cs
  101. +1 −0 lang/csharp/src/apache/main/Specific/SpecificDatumWriter.cs
  102. +28 −0 lang/csharp/src/apache/test/CodGen/CodeGenTest.cs
  103. +18 −0 lang/csharp/src/apache/test/Generic/GenericRecordTests.cs
  104. +435 −0 lang/csharp/src/apache/test/IO/JsonCodecTests.cs
  105. +198 −0 lang/csharp/src/apache/test/Reflect/TestLogicalSchema.cs
  106. +8 −0 lang/csharp/src/apache/test/Schema/SchemaNormalizationTests.cs
  107. +19 −0 lang/csharp/src/apache/test/Schema/SchemaTests.cs
  108. +16 −18 lang/csharp/versions.props
  109. +1 −1 lang/java/android/pom.xml
  110. +1 −1 lang/java/archetypes/avro-service-archetype/pom.xml
  111. +4 −4 lang/java/archetypes/avro-service-archetype/src/main/pom/pom.xml
  112. +9 −9 ...in/resources/archetype-resources/src/test/java/integration/SimpleOrderServiceIntegrationTest.java
  113. +1 −1 lang/java/archetypes/pom.xml
  114. +1 −1 lang/java/avro/pom.xml
  115. +28 −15 lang/java/avro/src/main/java/org/apache/avro/Conversion.java
  116. +15 −14 lang/java/avro/src/main/java/org/apache/avro/Conversions.java
  117. +1 −9 lang/java/avro/src/main/java/org/apache/avro/Resolver.java
  118. +24 −5 lang/java/avro/src/main/java/org/apache/avro/Schema.java
  119. +86 −11 lang/java/avro/src/main/java/org/apache/avro/generic/GenericData.java
  120. +1 −1 lang/java/avro/src/main/java/org/apache/avro/generic/GenericDatumReader.java
  121. +7 −6 lang/java/avro/src/main/java/org/apache/avro/io/BinaryDecoder.java
  122. +25 −10 lang/java/avro/src/main/java/org/apache/avro/io/DirectBinaryDecoder.java
  123. +10 −0 lang/java/avro/src/main/java/org/apache/avro/reflect/ReflectDatumReader.java
  124. +26 −6 lang/java/avro/src/main/java/org/apache/avro/specific/SpecificData.java
  125. +48 −0 lang/java/avro/src/test/java/org/apache/avro/CustomType.java
  126. +48 −0 lang/java/avro/src/test/java/org/apache/avro/CustomTypeConverter.java
  127. +3 −3 .../src/test/java/org/apache/avro/{DummyLogicalTypeFactory.java → CustomTypeLogicalTypeFactory.java}
  128. +1 −1 lang/java/avro/src/test/java/org/apache/avro/TestLogicalType.java
  129. +122 −0 lang/java/avro/src/test/java/org/apache/avro/TestResolver.java
  130. +36 −0 lang/java/avro/src/test/java/org/apache/avro/TestSchema.java
  131. +86 −0 lang/java/avro/src/test/java/org/apache/avro/TestSchemaCommons.java
  132. +3 −1 lang/java/avro/src/test/java/org/apache/avro/TestSchemaCompatibility.java
  133. +6 −0 lang/java/avro/src/test/java/org/apache/avro/TestSchemas.java
  134. +67 −0 lang/java/avro/src/test/java/org/apache/avro/generic/TestGenericData.java
  135. +56 −3 lang/java/avro/src/test/java/org/apache/avro/generic/TestGenericLogicalTypes.java
  136. +26 −4 lang/java/avro/src/test/java/org/apache/avro/io/TestBinaryData.java
  137. +58 −38 lang/java/avro/src/test/java/org/apache/avro/io/TestBinaryDecoder.java
  138. +1 −1 lang/java/avro/src/test/java/org/apache/avro/io/TestResolvingIOResolving.java
  139. +3 −3 lang/java/avro/src/test/java/org/apache/avro/io/parsing/TestResolvingGrammarGenerator.java
  140. +142 −2 lang/java/avro/src/test/java/org/apache/avro/reflect/TestReflectDatumReader.java
  141. +1 −1 lang/java/avro/src/test/java/org/apache/avro/reflect/TestReflectLogicalTypes.java
  142. +7 −0 lang/java/avro/src/test/java/org/apache/avro/specific/TestSpecificData.java
  143. +81 −0 lang/java/avro/src/test/java/org/apache/avro/specific/TestSpecificDatumReader.java
  144. +69 −0 lang/java/avro/src/test/java/org/apache/avro/specific/TestSpecificRecordWithUnion.java
  145. +324 −0 lang/java/avro/src/test/java/org/apache/avro/specific/TestUnionRecord.java
  146. +17 −0 lang/java/avro/src/test/resources/META-INF/services/org.apache.avro.Conversion
  147. +1 −1 lang/java/avro/src/test/resources/META-INF/services/org.apache.avro.LogicalTypes$LogicalTypeFactory
  148. +23 −0 lang/java/avro/src/test/resources/TestUnionRecord.avsc
  149. +1 −1 lang/java/compiler/pom.xml
  150. +2 −1 lang/java/compiler/src/main/java/org/apache/avro/compiler/specific/SpecificCompiler.java
  151. +1 −1 lang/java/compiler/src/main/javacc/org/apache/avro/compiler/idl/idl.jj
  152. +2 −2 ...ava/compiler/src/main/velocity/org/apache/avro/compiler/specific/templates/java/classic/record.vm
  153. +3 −0 lang/java/compiler/src/test/idl/work space/level1.avdl
  154. +2 −0 lang/java/compiler/src/test/idl/work space/level2.avdl
  155. +3 −0 lang/java/compiler/src/test/idl/work space/root.avdl
  156. +1 −0 lang/java/compiler/src/test/idl/work space/root.avpr
  157. +7 −0 lang/java/compiler/src/test/java/org/apache/avro/compiler/idl/TestIdl.java
  158. +1 −1 lang/java/grpc/pom.xml
  159. +1 −1 lang/java/integration-test/codegen-test/pom.xml
  160. +1 −1 lang/java/integration-test/pom.xml
  161. +1 −1 lang/java/integration-test/test-custom-conversions/pom.xml
  162. +1 −1 lang/java/ipc-jetty/pom.xml
  163. +1 −1 lang/java/ipc-netty/pom.xml
  164. +1 −1 lang/java/ipc/pom.xml
  165. +1 −1 lang/java/mapred/pom.xml
  166. +4 −3 lang/java/maven-plugin/pom.xml
  167. +1 −2 lang/java/maven-plugin/src/main/java/org/apache/avro/mojo/AbstractAvroMojo.java
  168. +1 −1 lang/java/maven-plugin/src/test/resources/unit/idl/pom-injecting-velocity-tools.xml
  169. +1 −1 lang/java/maven-plugin/src/test/resources/unit/idl/pom.xml
  170. +1 −1 lang/java/maven-plugin/src/test/resources/unit/protocol/pom-injecting-velocity-tools.xml
  171. +1 −1 lang/java/maven-plugin/src/test/resources/unit/protocol/pom.xml
  172. +1 −1 lang/java/maven-plugin/src/test/resources/unit/schema/pom.xml
  173. +2 −2 lang/java/perf/pom.xml
  174. +41 −23 lang/java/pom.xml
  175. +1 −1 lang/java/protobuf/pom.xml
  176. +1 −1 lang/java/thrift/pom.xml
  177. +1 −1 lang/java/tools/pom.xml
  178. +1 −1 lang/java/trevni/avro/pom.xml
  179. +1 −1 lang/java/trevni/core/pom.xml
  180. +5 −1 lang/java/trevni/core/src/main/java/org/apache/trevni/OutputBuffer.java
  181. +1 −1 lang/java/trevni/doc/pom.xml
  182. +1 −1 lang/java/trevni/pom.xml
  183. +41 −0 lang/js/README.md
  184. +23 −30 lang/js/package-lock.json
  185. +2 −2 lang/js/package.json
  186. +1 −0 lang/py/MANIFEST.in
  187. +4 −1 lang/py/avro/compatibility.py
  188. +2 −2 lang/py/avro/io.py
  189. +16 −6 lang/py/avro/name.py
  190. +31 −30 lang/py/avro/protocol.py
  191. 0 lang/py/avro/py.typed
  192. +71 −80 lang/py/avro/schema.py
  193. +37 −7 lang/py/avro/test/test_compatibility.py
  194. +0 −1 lang/py/avro/test/test_datafile_interop.py
  195. +20 −3 lang/py/avro/test/test_io.py
  196. +327 −0 lang/py/avro/test/test_name.py
  197. +1 −73 lang/py/avro/test/test_schema.py
  198. +2 −4 lang/py/avro/tether/tether_task.py
  199. +2 −1 lang/py/setup.cfg
  200. +0 −5 lang/ruby/build.sh
  201. +11 −9 lang/ruby/lib/avro/io.rb
  202. +12 −2 lang/ruby/lib/avro/schema.rb
  203. +112 −4 lang/ruby/test/test_logical_types.rb
  204. +31 −0 lang/ruby/test/test_schema.rb
  205. +2 −0 lang/rust/.gitignore
  206. +255 −363 lang/rust/Cargo.lock
  207. +10 −627 lang/rust/README.md
  208. +24 −23 lang/rust/avro/Cargo.toml
  209. +658 −0 lang/rust/avro/README.md
  210. +13 −25 lang/rust/avro/benches/serde.rs
  211. +1 −1 lang/rust/avro/benches/serde_json.rs
  212. +6 −8 lang/rust/avro/examples/benchmark.rs
  213. +6 −5 lang/rust/avro/examples/generate_interop_data.rs
  214. +2 −1 lang/rust/avro/examples/test_interop_data.rs
  215. +2 −2 lang/rust/avro/examples/test_interop_single_object_encoding.rs
  216. +1 −1 lang/rust/avro/examples/to_value.rs
  217. +20 −17 lang/rust/avro/src/codec.rs
  218. +275 −72 lang/rust/avro/src/de.rs
  219. +15 −4 lang/rust/avro/src/decimal.rs
  220. +69 −44 lang/rust/avro/src/decode.rs
  221. +4 −4 lang/rust/avro/src/duration.rs
  222. +13 −11 lang/rust/avro/src/encode.rs
  223. +10 −1 lang/rust/avro/src/error.rs
  224. +9 −58 lang/rust/avro/src/lib.rs
  225. +182 −59 lang/rust/avro/src/reader.rs
  226. +1,373 −427 lang/rust/avro/src/schema.rs
  227. +184 −44 lang/rust/avro/src/schema_compatibility.rs
  228. +60 −22 lang/rust/avro/src/ser.rs
  229. +761 −250 lang/rust/avro/src/types.rs
  230. +44 −10 lang/rust/avro/src/util.rs
  231. +253 −133 lang/rust/avro/src/writer.rs
  232. +89 −0 lang/rust/avro/tests/append_to_existing.rs
  233. +57 −51 lang/rust/avro/tests/io.rs
  234. +149 −98 lang/rust/avro/tests/schema.rs
  235. +149 −0 lang/rust/avro/tests/shared.rs
  236. +88 −0 lang/rust/avro/tests/to_from_avro_datum_schemata.rs
  237. +10 −9 lang/rust/avro_derive/Cargo.toml
  238. +88 −51 lang/rust/avro_derive/src/lib.rs
  239. +245 −33 lang/rust/avro_derive/tests/derive.rs
  240. +16 −7 lang/rust/avro_test_helper/Cargo.toml
  241. +16 −0 lang/rust/avro_test_helper/src/lib.rs
  242. +10 −1 lang/rust/avro_test_helper/src/logger.rs
  243. +2 −1 lang/rust/fuzz/Cargo.toml
  244. +5 −4 lang/rust/wasm-demo/Cargo.toml
  245. +25 −26 pom.xml
  246. +1 −1 share/VERSION.txt
  247. +10 −4 share/docker/Dockerfile
  248. +0 −37 share/docker/DockerfileLocal
  249. +13 −0 share/test/data/schemas/README.md
  250. +1 −0 share/test/data/schemas/simple/README.md
  251. BIN share/test/data/schemas/simple/data.avro
  252. +8 −0 share/test/data/schemas/simple/schema.json
  253. +1 −0 share/test/data/schemas/withUnion/README.md
  254. BIN share/test/data/schemas/withUnion/data.avro
  255. +17 −0 share/test/data/schemas/withUnion/schema.json
6 changes: 6 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -81,6 +81,12 @@ updates:

- package-ecosystem: "cargo"
directory: "/lang/rust/"
schedule:
interval: "daily"
open-pull-requests-limit: 20

- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
day: "sunday"
1 change: 1 addition & 0 deletions .github/workflows/codeql-csharp-analysis.yml
Original file line number Diff line number Diff line change
@@ -67,6 +67,7 @@ jobs:
3.1.x
5.0.x
6.0.x
7.0.x
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
65 changes: 65 additions & 0 deletions .github/workflows/maven4.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# 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
#
# 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.

name: 'Maven 4'
on:
workflow_dispatch:
push:
branches: [ master ]
pull_request:
branches: [ master ]
paths:
- .github/workflows/maven4.yml
- lang/java/**

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
maven4:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3

- name: Cache Local Maven Repository
uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Cache Maven 4 Build Cache
uses: actions/cache@v3
with:
path: ~/.m2/build-cache
key: ${{ runner.os }}-maven-build-cache-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-build-cache
- name: Setup Java
uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: '11'

- name: Setup Maven 4
uses: stCarolas/setup-maven@v4.5
with:
maven-version: 4.0.0-alpha-3

- name: Test
run: mvn clean package
6 changes: 6 additions & 0 deletions .github/workflows/test-lang-c++.yml
Original file line number Diff line number Diff line change
@@ -49,3 +49,9 @@ jobs:

- name: Test
run: ./build.sh test

- name: Release build
run: |
mkdir -p build
cd build
cmake -G "Unix Makefiles" -D CMAKE_BUILD_TYPE=Release ..
27 changes: 8 additions & 19 deletions .github/workflows/test-lang-csharp.yml
Original file line number Diff line number Diff line change
@@ -36,21 +36,22 @@ jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3

- name: Add libzstd
shell: bash
run: sudo apt-get install -y libzstd-dev

- name: Install .NET SDKs
uses: actions/setup-dotnet@v1
uses: actions/setup-dotnet@v3
with:
dotnet-version: |
3.1.x
5.0.x
6.0.x
7.0.x
- uses: actions/cache@v2
- uses: actions/cache@v3
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
@@ -63,38 +64,26 @@ jobs:
- name: Test
run: ./build.sh test

# Build and test against .NET 7
# .NET 7 is not released yet, however this is a good way to test if the project is ready for the release
# Once .NET 7 is officially released, this can be removed and 7.0.x can be used instead above
- name: Install .NET SDK 7.0 (pre-release)
uses: actions/setup-dotnet@v1
with:
include-prerelease: true
dotnet-version: |
7.0.x
- name: Test .NET 7.0 (pre-release)
run: ./build.sh test

interop:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3

- name: Add libzstd
shell: bash
run: sudo apt-get install -y libzstd-dev

- name: Install .NET SDKs
uses: actions/setup-dotnet@v1
uses: actions/setup-dotnet@v3
with:
dotnet-version: |
3.1.x
5.0.x
6.0.x
7.0.x
- name: Cache Local Maven Repository
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
3 changes: 2 additions & 1 deletion .github/workflows/test-lang-java.yml
Original file line number Diff line number Diff line change
@@ -115,7 +115,7 @@ jobs:
- name: Install Python Dependencies
run: |
python3 -m pip install --upgrade pip setuptools tox-wheel
python3 -m pip install --upgrade pip setuptools tox
python3 -m pip install python-snappy zstandard
- name: Setup C# for Generating Interop Data
@@ -125,6 +125,7 @@ jobs:
3.1.x
5.0.x
6.0.x
7.0.x
- name: Install Java Avro for Interop Test
working-directory: .
2 changes: 1 addition & 1 deletion .github/workflows/test-lang-js.yml
Original file line number Diff line number Diff line change
@@ -96,7 +96,7 @@ jobs:
libzstd-dev
- name: Install Python Dependencies
run: |
python3 -m pip install --upgrade pip setuptools tox-wheel
python3 -m pip install --upgrade pip setuptools tox
python3 -m pip install python-snappy zstandard
- name: Create Interop Data Directory
10 changes: 6 additions & 4 deletions .github/workflows/test-lang-py.yml
Original file line number Diff line number Diff line change
@@ -35,11 +35,12 @@ concurrency:
jobs:
test:
name: Python ${{ matrix.python }} Tests
runs-on: ubuntu-latest
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
python:
- '3.11'
- '3.10'
- '3.9'
- '3.8'
@@ -66,7 +67,7 @@ jobs:
- name: Install Dependencies
run: |
python3 -m pip install --upgrade pip setuptools tox-wheel
python3 -m pip install --upgrade pip setuptools tox
- name: Lint
if: ${{ matrix.python == '3.10' }}
@@ -81,11 +82,12 @@ jobs:

interop:
name: Python ${{ matrix.python }} Interop
runs-on: ubuntu-latest
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
python:
- '3.11'
- '3.10'
- '3.9'
- '3.8'
@@ -112,7 +114,7 @@ jobs:
- name: Install Dependencies
run: |
python3 -m pip install --upgrade pip setuptools tox-wheel
python3 -m pip install --upgrade pip setuptools tox
python3 -m pip install python-snappy zstandard
- name: Cache Local Maven Repository
6 changes: 4 additions & 2 deletions .github/workflows/test-lang-ruby.yml
Original file line number Diff line number Diff line change
@@ -43,6 +43,7 @@ jobs:
- '2.7'
- '3.0'
- '3.1'
- '3.2'
steps:
- uses: actions/checkout@v2

@@ -51,7 +52,7 @@ jobs:
ruby-version: ${{ matrix.ruby }}

- name: Install Dependencies
run: sudo apt-get install -qqy bundler libsnappy-dev
run: sudo apt-get install -qqy libsnappy-dev

- uses: actions/cache@v2
with:
@@ -83,6 +84,7 @@ jobs:
- '2.7'
- '3.0'
- '3.1'
- '3.2'
steps:
- uses: actions/checkout@v2

@@ -91,7 +93,7 @@ jobs:
ruby-version: ${{ matrix.ruby }}

- name: Install Dependencies
run: sudo apt-get install -qqy bundler libsnappy-dev
run: sudo apt-get install -qqy libsnappy-dev

- uses: actions/cache@v2
with:
2 changes: 1 addition & 1 deletion .github/workflows/test-lang-rust-audit.yml
Original file line number Diff line number Diff line change
@@ -49,7 +49,7 @@ jobs:
# Install it manually
- name: Dependency Review
if: github.event_name == 'pull_request'
uses: actions/dependency-review-action@v1
uses: actions/dependency-review-action@v3
- name: Install Cargo Audit
run: cargo install cargo-audit
- name: Audit
2 changes: 1 addition & 1 deletion .github/workflows/test-lang-rust-ci.yml
Original file line number Diff line number Diff line change
@@ -43,7 +43,7 @@ jobs:
- stable
- beta
- nightly
- 1.54.0 # MSRV
- 1.60.0 # MSRV
target:
- x86_64-unknown-linux-gnu
- wasm32-unknown-unknown
25 changes: 25 additions & 0 deletions .mvn/extensions.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
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
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.
-->
<extensions xmlns="http://maven.apache.org/EXTENSIONS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/EXTENSIONS/1.0.0 http://maven.apache.org/xsd/core-extensions-1.0.0.xsd">
<extension>
<groupId>org.apache.maven.extensions</groupId>
<artifactId>maven-build-cache-extension</artifactId>
<version>1.0.0</version>
</extension>
</extensions>
2 changes: 1 addition & 1 deletion BUILD.md
Original file line number Diff line number Diff line change
@@ -17,8 +17,8 @@ The following packages must be installed before Avro can be built:
Math::BigInt, JSON::XS, Try::Tiny, Regexp::Common, Encode,
IO::String, Object::Tiny, Compress::ZLib, Error::Simple,
Test::More, Test::Exception, Test::Pod
- Rust: rustc and Cargo 1.60.0 or greater
- Apache Ant 1.7
- Apache Forrest 0.9 (for documentation)
- md5sum, sha1sum, used by top-level dist target

## Using docker
9 changes: 6 additions & 3 deletions build.sh
Original file line number Diff line number Diff line change
@@ -56,6 +56,9 @@ DOCKER_BUILD_XTRA_ARGS=${DOCKER_BUILD_XTRA_ARGS-}
# Override the docker image name used.
DOCKER_IMAGE_NAME=${DOCKER_IMAGE_NAME-}

# When building a docker container, these are the files that will sent and available.
DOCKER_EXTRA_CONTEXT="lang/ruby/Gemfile lang/ruby/avro.gemspec lang/ruby/Manifest share/VERSION.txt"

usage() {
echo "Usage: $0 {lint|test|dist|sign|clean|veryclean|docker [--args \"docker-args\"]|rat|githooks|docker-test}"
exit 1
@@ -296,13 +299,13 @@ do
DOCKER_IMAGE_NAME=${DOCKER_IMAGE_NAME:-"avro-build-$USER_NAME:latest"}
{
cat share/docker/Dockerfile
grep -vF 'FROM avro-build-ci' share/docker/DockerfileLocal
echo "ENV HOME /home/$USER_NAME"
echo "RUN getent group $GROUP_ID || groupadd -g $GROUP_ID $USER_NAME"
echo "RUN getent passwd $USER_ID || useradd -g $GROUP_ID -u $USER_ID -k /root -m $USER_NAME"
} > Dockerfile
# Include the ruby gemspec for preinstallation.
# shellcheck disable=SC2086
tar -cf- lang/ruby/Gemfile Dockerfile | docker build $DOCKER_BUILD_XTRA_ARGS -t "$DOCKER_IMAGE_NAME" -
tar -cf- Dockerfile $DOCKER_EXTRA_CONTEXT | docker build $DOCKER_BUILD_XTRA_ARGS -t "$DOCKER_IMAGE_NAME" -
rm Dockerfile
# By mapping the .m2 directory you can do an mvn install from
# within the container and use the result on your normal
@@ -337,7 +340,7 @@ do
;;

docker-test)
tar -cf- share/docker/Dockerfile lang/ruby/Gemfile |
tar -cf- share/docker/Dockerfile $DOCKER_EXTRA_CONTEXT |
docker build -t avro-test -f share/docker/Dockerfile -
docker run --rm -v "${PWD}:/avro${DOCKER_MOUNT_FLAG}" --env "JAVA=${JAVA:-8}" avro-test /avro/share/docker/run-tests.sh
;;
1 change: 0 additions & 1 deletion doc-deprecated/.gitignore

This file was deleted.

Loading