embassy-rs / embassy

Modern embedded framework, using Rust and async.
https://embassy.dev
Apache License 2.0
5.52k stars 768 forks source link

Why not published on crates.io? #1905

Closed SerenaLynas closed 11 months ago

SerenaLynas commented 1 year ago

Hello, why are most of the embassy crates not yet published on Crates.io?

xoviat commented 1 year ago

Crates are published as-able. We've found that primarily using git versions, along with a CI and HIL (hardware-in-loop) pipeline allows rapid iteration and refactoring as-needed across the multiple crates that comprise the project.

lulf commented 1 year ago

@SploxFox For a create to be released, we require that all public APIs should be documented and no big refactorings needed before releasing.

You can track the status of different crates here (may be slightly out of date): https://github.com/embassy-rs/embassy/issues/1050

justin-lovell commented 1 year ago

To be fair, there are numerous projects which don't publish a detailed documentation before publishing to crates.io.

The biggest problem created from the perfectionism is that it makes Embassy unapproachable. Does a developer use a git reference in their Cargo file to a tag? No, half of the packages are published as tags. Would a developer do a git submodule link? Perhaps.

Just a simple document with a guidance on how developers should interact with Embassy when not using the standard publishing method goes a long way.

To say a project to have batteries included, it needs to have a power switch when the documentation does not disclose the real state.

Dirbaio commented 11 months ago

tracked in https://github.com/embassy-rs/embassy/issues/1050