Skip to content

[Simplification] Try to fold rs-matter-macros-impl and rs-matter-data-model back into rs-matter-macros #236

@ivmarkov

Description

@ivmarkov

rs-matter started life as a very simple setup:

  • rs-matter - everything, except...
  • ... rs-matter-macros - which are all rs-matter proc-macros - namely - the derivations of FromTLV and ToTLV as well as the upcoming almighty import! macro coming in IDL gen improvements #233

The original reasoning behind having extra crates was that unit tests in a proc-macro crate do not work.
However, I believe as long as we put them in a separate tests directory outside of src, they would work?

If that turns out to be the case I would suggest we fold back everything and live with just two crates, as it was originally.

Besides making the code-base a tad easier to understand (at the price of a bigger proc-macro crate but then - hey - the rs-matter non-proc-macro crate is a behemoth compared to this proc-macro stuff anyway) but most importantly it will simplify ours and users' lives in that there will be just two crates that are to be released on crates.io.

In future we might end up with multiple crates again (i.e. if rs-matter-stack and rs-matter-embassy get contributed back to rs-matter) but this is not a necessity, as we might fold them back into rs-matter. And even if these end up living as separate crates, at least there is a stronger reason for this (they are much more opinionated than rs-matter and in the case of rs-matter-embassy it is even quite a bit platform-specific). While the split of the proc-macro crates is currently purely for technical reasons, which is not ideal.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions