The schema generator is checked in as a separate project for now. It takes a number of C# classes and generates an Avro protocol using the Microsoft.CodeAnalysis package.https://github.com/pa009fa/schemagen
There is a driver program which runs with the following parameters:
$ dotnet run -- --help
Copyright (C) 2019 schemagen
-i, --include Required. Includes
-o, --outfile (Default: .) Output file. . for console
-t, --target Required. File name of the type to generate
-d, --defaultconverters Required. Default converters
-c, --converters Required. Default converters
--help Display this help screen.
--version Display version information.
The VSCode debugger is set up to generate a protocol from the classes in the csharp folder.
There are a number of new attributes to help when specifying the schema. Examples are in the Z.cs file. Attribute specify unions, default values etc.
The Reflect array helpers are not supported yet.
Any and all feedback is welcome.
At this stage I’m not sure it’s ready fro a detailed code review (but that would be fine as well if anyone has the time).
Also, any thoughts on how (whether?) to integrate it into the project are also welcome.