I was not aware of it! I'll take a look and try to understand it better.
I'll rebase and start working on the suitable PR version. I may need help
trying to understand the release crate configuration to get the desired
behavior (importing as a feature), but will be able to finish most of the
work before getting that sorted, (plus it could be done after initial merge
and beta testing) . Thank you again for already refactoring the crate into
a workspace.

Best,
Jack




On Thu, Mar 3, 2022 at 1:15 AM Martin Grigorov <[email protected]> wrote:

> Hi Jack,
>
> On Thu, Mar 3, 2022 at 3:11 AM Jack Klamer <[email protected]> wrote:
>
> > Hello Avro Devs,
> >
> > My name is Jack and I used Java Avro a lot in my career and really
> enjoyed
> > the "Avro way". I started to program in rust and started to use the Avro
> > library for rust as well. I have been working on a feature for myself
> that
> >
>
> Welcome to Avro community!
> And thank you for offering your help for the Rust SDK!
>
> I believe has reached the POC/beta stage. I would love to get it into the
> > open source but it will need more polishing and documentation, and want
> to
> > make sure I propose it here to get alignment/have discussions for certain
> > aspects.
>
>
> > The proposal:
> > - Have another rust crate that is importable as a feature on the main
> crate
> > (in the same manner as serde derive), that will provide a derive
> proc_macro
> > that implements a simple trait that returns the schema for the
> implementing
> > type. Right now, schemas must be parsed from strings ( or read from files
> > first), and closely coordinated with the associated struct. This makes
> > sense for workflows that need to associate the same type across
> languages.
> > For programs that are all within Rust, there are usability advantages of
> > the proc_macro.
> >
> > To see the POC in action please review:
> >
> >
> https://github.com/jklamer/avro/blob/feature/DeriveSchema/lang/rust/avro_derive/tests/derive.rs
> >
> > And for slightly more details on thoughts:
> >
> >
> https://github.com/jklamer/avro/blob/feature/DeriveSchema/lang/rust/avro_derive/proposal_supporting_docs.md
>
>
> This looks cool!
> Are you aware of
> https://github.com/MaterializeInc/materialize/tree/main/src/avro-derive ?
> It is Apache 2.0 licenced so we may take inspiration from it. Too bad it
> does not have a single test case and documentation.
>
> I will restructure lang/rust to a Rust workspace as you did to prepare it
> for more modules, like avro_derive and maybe rsgen-avro (
> https://github.com/lerouxrgd/rsgen-avro)!
>
>
>
> >
> >
> > Best,
> > Jack
> >
>

Reply via email to