[
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)