tree: f0aeeee1de8f04b2971be0c0b4ea83ef82005dfd [path history] [tgz]
  1. src/
  2. .gitignore
  3. Avro.dox
  4. Avro.ruleset
  5. Avro.sln
  6. Avro.snk
  7. build.sh
  8. CodeAnalysis.src.globalconfig
  9. CodeAnalysis.test.globalconfig
  10. CODECOVERAGE.md
  11. common.props
  12. LICENSE
  13. NOTICE
  14. README.md
  15. STYLING.md
  16. versions.props
lang/csharp/README.md

Avro C# Build Status NuGet Package

Avro

Install

Install the Apache.Avro package from NuGet:

Install-Package Apache.Avro

Build & Test

  1. Install .NET SDK 5.0+
  2. dotnet test

Project Target Frameworks

ProjectPublished to nuget.orgType.NET Standard 2.0.NET Standard 2.1.NET Core 3.1.NET 5.0.NET 6.0.NET 7.0
Avro.mainApache.AvroLibrary✔️✔️
Avro.File.SnappyApache.Avro.File.SnappyLibrary✔️✔️
Avro.File.BZip2Apache.Avro.File.BZip2Library✔️✔️
Avro.File.XZApache.Avro.File.XZLibrary✔️✔️
Avro.File.ZstandardApache.Avro.File.ZstandardLibrary✔️✔️
Avro.codegenApache.Avro.ToolsExe✔️✔️✔️✔️
Avro.ipcLibrary✔️✔️
Avro.ipc.testUnit Tests✔️✔️✔️✔️
Avro.msbuildLibrary✔️✔️
Avro.perfExe✔️✔️✔️✔️
Avro.testUnit Tests✔️✔️✔️✔️
Avro.benchmarkExe✔️✔️✔️✔️

Dependency package version strategy

  1. Use versions.props to specify package versions. PackageReference elements in .csproj files should use only version properties defined in versions.props.

  2. By updating the versions in our libraries, we require users of the library to update to a version equal to or greater than the version we reference. For example, if a user were to reference an older version of Newtonsoft.Json, they would be forced to update to a newer version before they could use a new version of the Avro library. In short, we should only update the version of the dependencies in our libraries if we absolutely must for functionality that we require. We leave it up to the users of the library as to whether or not they want the latest and greatest of a particularly dependency. We're only going to require the bare minimum.

Notes

The LICENSE and NOTICE files in the lang/csharp source directory are used to build the binary distribution. The LICENSE.txt and NOTICE.txt information for the Avro C# source distribution is in the root directory.

Styling Guidelines

Can be found in STYLING.