[ 
https://issues.apache.org/jira/browse/AVRO-3479?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17523217#comment-17523217
 ] 

ASF subversion and git services commented on AVRO-3479:
-------------------------------------------------------

Commit cbc4372029e7149c73db5a5aef491abdc5500b10 in avro's branch 
refs/heads/master from Jack Klamer
[ https://gitbox.apache.org/repos/asf?p=avro.git;h=cbc437202 ]

AVRO-3479: [rust] Avro Schema Derive Proc Macro (#1631)

* port crate

* namespace port

* dev depends

* resolved against main

* Cons list tests

* rebased onto master resolution

* namespace attribute in derive

* std pointers

* References, testing, and refactoring

* [AVRO-3479] Clean up for PR

* AVRO-3479: Add missing ASL2 headers

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* AVRO-3479: Minor improvements

Add TODOs

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* Schema assertions and PR comments

* test failure fixing

* add readme

* README + implementation guide + bug fix with enclosing namespaces

* AVRO-3479: Minor improvements

Fix typos.
Format the code/doc.
Apply suggestions by the IDE to use assert_eq!() instead of assert!()

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* AVRO-3479: Fix typos

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* AVRO-3479: Use darling crate to parse derive attributes

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* darling for NamedTypes and fields

* AVRO-3479 pr review naming

* AVRO-3479 doc comment doc and small tests

* AVRO-3479 featurize

* AVRO-3479 cargo engineering

* Fix a docu warning:

warning: unresolved link to `AvroSchemaComponent`
    --> avro/src/schema.rs:1524:70
     |
1524 | /// through `derive` feature. Do not implement directly, implement 
[`AvroSchemaComponent`]
     |                                                                      
^^^^^^^^^^^^^^^^^^^ no item named `AvroSchemaComponent` in scope
     |
     = note: `#[warn(rustdoc::broken_intra_doc_links)]` on by default
     = help: to escape `[` and `]` characters, add '\' before them like `\[` or 
`\]`

warning: `apache-avro` (lib doc) generated 1 warning
    Finished dev [unoptimized + debuginfo] target(s) in 10.13s

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* AVRO-3479: Rename avro_derive to apache-avro-derive

For consistency.
Add Cargo.toml metadata

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* AVRO-3479: Use fqn for Mutex

For some reason Rustdoc build sometimes (not always!) complain that the
import of std::sync::Mutex is not used ...

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* AVRO-3479: Update darling to 0.14.0

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* AVRO-3479: Fix the version of apache-avro-derive

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* AVRO-3479: Minor cleanups

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* AVRO-3479: Inline a pub function that is used only in avro_derive

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* AVRO-3479: Derive Schema::Long for u32

Validate successfully Value::Int into Schema::Long

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

* AVRO-3479: Bump dependencies to their latest versions

Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>

Co-authored-by: Martin Tzvetanov Grigorov <[email protected]>
Co-authored-by: Martin Grigorov <[email protected]>

> [rust] Derive Avro Schema macro
> -------------------------------
>
>                 Key: AVRO-3479
>                 URL: https://issues.apache.org/jira/browse/AVRO-3479
>             Project: Apache Avro
>          Issue Type: Improvement
>            Reporter: Jack Klamer
>            Assignee: Jack Klamer
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 3h 20m
>  Remaining Estimate: 0h
>
> The tracking Issue for the Avro Derive Feature of the rust SDK. 
> Proposal (copied from email):
> 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. 



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to