diff --git a/Cargo.toml b/Cargo.toml index 7990a70..af6f7a9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,92 +1,6 @@ -[package] -name = "postcard" -version = "1.0.9" -authors = ["James Munns "] -edition = "2018" -readme = "README.md" -repository = "https://github.com/jamesmunns/postcard" -description = "A no_std + serde compatible message library for Rust" -license = "MIT OR Apache-2.0" -categories = [ - "embedded", - "no-std", -] -keywords = [ - "serde", - "cobs", - "framing", -] -documentation = "https://docs.rs/postcard/" - -[package.metadata.docs.rs] -all-features = true -rustdoc-args = ["--cfg", "docsrs"] - -[dependencies] - -[dependencies.heapless] -version = "0.8.0" -default-features = false -features = ["serde"] -optional = true - -[dependencies.serde] -version = "1.0.100" -default-features = false -features = ["derive"] - -[dependencies.cobs] -version = "0.2.3" -default-features = false - -[dependencies.defmt] -version = "0.3" -optional = true - -[dependencies.embedded-io-04] -package = "embedded-io" -version = "0.4" -optional = true - -[dependencies.embedded-io-06] -package = "embedded-io" -version = "0.6" -optional = true - -[dependencies.postcard-derive] -path = "./postcard-derive" -version = "0.1.1" -optional = true - -[dependencies.crc] -version = "3.0.1" -optional = true - -[dependencies.paste] -version = "1.0.12" -optional = true - -[features] -default = ["heapless-cas"] - -# Enables support for `embedded-io` traits -# This feature will track the latest `embedded-io` when major releases are made -embedded-io = ["dep:embedded-io-04"] - -# Specific versions of `embedded-io` can be selected through the features below -embedded-io-04 = ["dep:embedded-io-04"] -embedded-io-06 = ["dep:embedded-io-06"] - -use-std = ["serde/std", "alloc"] -heapless-cas = ["heapless", "heapless/portable-atomic"] -alloc = ["serde/alloc", "embedded-io-04?/alloc", "embedded-io-06?/alloc"] -use-defmt = ["defmt"] -use-crc = ["crc", "paste"] - -# Experimental features! -# -# NOT subject to SemVer guarantees! -experimental-derive = ["postcard-derive"] - [workspace] -members = ["postcard-derive"] +resolver = '2' +members = [ + "source/postcard", + "source/postcard-derive", +] diff --git a/ci.sh b/ci.sh index 76b1438..3fc9a0b 100755 --- a/ci.sh +++ b/ci.sh @@ -17,15 +17,15 @@ ensure_toolchain() { has_toolchain "$1" || rustup toolchain install "$1" } -ensure_toolchain nightly-x86_64-unknown-linux-gnu +ensure_toolchain nightly cargo_check() { - cargo check "$@" - cargo clippy "$@" -- --deny=warnings + cargo check --all "$@" + cargo clippy --all "$@" -- --deny=warnings } cargo_test() { cargo_check --all-targets "$@" - cargo test "$@" + cargo test --all "$@" } cargo_test --features=alloc,experimental-derive,use-std,use-crc @@ -33,11 +33,7 @@ cargo_test --features=alloc,experimental-derive,use-std,use-crc cargo_check --target=thumbv7em-none-eabi --no-default-features cargo_check --target=thumbv7em-none-eabi --features=alloc,experimental-derive -cargo fmt -- --check +cargo fmt --all -- --check -env RUSTDOCFLAGS='--cfg=docsrs --deny=warnings' cargo +nightly doc --no-deps --all-features - -cd postcard-derive - -cargo_check -cargo fmt -- --check +# Check docs.rs build +env RUSTDOCFLAGS='--cfg=docsrs --deny=warnings' cargo +nightly doc --all --no-deps --all-features diff --git a/postcard-derive/Cargo.toml b/source/postcard-derive/Cargo.toml similarity index 100% rename from postcard-derive/Cargo.toml rename to source/postcard-derive/Cargo.toml diff --git a/postcard-derive/src/lib.rs b/source/postcard-derive/src/lib.rs similarity index 100% rename from postcard-derive/src/lib.rs rename to source/postcard-derive/src/lib.rs diff --git a/postcard-derive/src/max_size.rs b/source/postcard-derive/src/max_size.rs similarity index 100% rename from postcard-derive/src/max_size.rs rename to source/postcard-derive/src/max_size.rs diff --git a/postcard-derive/src/schema.rs b/source/postcard-derive/src/schema.rs similarity index 100% rename from postcard-derive/src/schema.rs rename to source/postcard-derive/src/schema.rs diff --git a/source/postcard/Cargo.toml b/source/postcard/Cargo.toml new file mode 100644 index 0000000..850b6dc --- /dev/null +++ b/source/postcard/Cargo.toml @@ -0,0 +1,89 @@ +[package] +name = "postcard" +version = "1.0.9" +authors = ["James Munns "] +edition = "2018" +readme = "README.md" +repository = "https://github.com/jamesmunns/postcard" +description = "A no_std + serde compatible message library for Rust" +license = "MIT OR Apache-2.0" +categories = [ + "embedded", + "no-std", +] +keywords = [ + "serde", + "cobs", + "framing", +] +documentation = "https://docs.rs/postcard/" + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs"] + +[dependencies] + +[dependencies.heapless] +version = "0.8.0" +default-features = false +features = ["serde"] +optional = true + +[dependencies.serde] +version = "1.0.100" +default-features = false +features = ["derive"] + +[dependencies.cobs] +version = "0.2.3" +default-features = false + +[dependencies.defmt] +version = "0.3" +optional = true + +[dependencies.embedded-io-04] +package = "embedded-io" +version = "0.4" +optional = true + +[dependencies.embedded-io-06] +package = "embedded-io" +version = "0.6" +optional = true + +[dependencies.postcard-derive] +path = "../postcard-derive" +version = "0.1.1" +optional = true + +[dependencies.crc] +version = "3.0.1" +optional = true + +[dependencies.paste] +version = "1.0.12" +optional = true + +[features] +default = ["heapless-cas"] + +# Enables support for `embedded-io` traits +# This feature will track the latest `embedded-io` when major releases are made +embedded-io = ["dep:embedded-io-04"] + +# Specific versions of `embedded-io` can be selected through the features below +embedded-io-04 = ["dep:embedded-io-04"] +embedded-io-06 = ["dep:embedded-io-06"] + +use-std = ["serde/std", "alloc"] +heapless-cas = ["heapless", "heapless/portable-atomic"] +alloc = ["serde/alloc", "embedded-io-04?/alloc", "embedded-io-06?/alloc"] +use-defmt = ["defmt"] +use-crc = ["crc", "paste"] + +# Experimental features! +# +# NOT subject to SemVer guarantees! +experimental-derive = ["postcard-derive"] diff --git a/src/accumulator.rs b/source/postcard/src/accumulator.rs similarity index 100% rename from src/accumulator.rs rename to source/postcard/src/accumulator.rs diff --git a/src/de/deserializer.rs b/source/postcard/src/de/deserializer.rs similarity index 100% rename from src/de/deserializer.rs rename to source/postcard/src/de/deserializer.rs diff --git a/src/de/flavors.rs b/source/postcard/src/de/flavors.rs similarity index 100% rename from src/de/flavors.rs rename to source/postcard/src/de/flavors.rs diff --git a/src/de/mod.rs b/source/postcard/src/de/mod.rs similarity index 100% rename from src/de/mod.rs rename to source/postcard/src/de/mod.rs diff --git a/src/eio.rs b/source/postcard/src/eio.rs similarity index 100% rename from src/eio.rs rename to source/postcard/src/eio.rs diff --git a/src/error.rs b/source/postcard/src/error.rs similarity index 100% rename from src/error.rs rename to source/postcard/src/error.rs diff --git a/src/fixint.rs b/source/postcard/src/fixint.rs similarity index 100% rename from src/fixint.rs rename to source/postcard/src/fixint.rs diff --git a/src/lib.rs b/source/postcard/src/lib.rs similarity index 98% rename from src/lib.rs rename to source/postcard/src/lib.rs index 9fafa00..98f61f5 100644 --- a/src/lib.rs +++ b/source/postcard/src/lib.rs @@ -1,6 +1,6 @@ #![cfg_attr(not(any(test, feature = "use-std")), no_std)] #![warn(missing_docs)] -#![cfg_attr(not(doctest), doc = include_str!("../README.md"))] +#![cfg_attr(not(doctest), doc = include_str!("../../../README.md"))] #![cfg_attr(docsrs, feature(doc_cfg))] pub mod accumulator; diff --git a/src/max_size.rs b/source/postcard/src/max_size.rs similarity index 100% rename from src/max_size.rs rename to source/postcard/src/max_size.rs diff --git a/src/schema.rs b/source/postcard/src/schema.rs similarity index 100% rename from src/schema.rs rename to source/postcard/src/schema.rs diff --git a/src/ser/flavors.rs b/source/postcard/src/ser/flavors.rs similarity index 100% rename from src/ser/flavors.rs rename to source/postcard/src/ser/flavors.rs diff --git a/src/ser/mod.rs b/source/postcard/src/ser/mod.rs similarity index 100% rename from src/ser/mod.rs rename to source/postcard/src/ser/mod.rs diff --git a/src/ser/serializer.rs b/source/postcard/src/ser/serializer.rs similarity index 100% rename from src/ser/serializer.rs rename to source/postcard/src/ser/serializer.rs diff --git a/src/varint.rs b/source/postcard/src/varint.rs similarity index 100% rename from src/varint.rs rename to source/postcard/src/varint.rs diff --git a/tests/accumulator.rs b/source/postcard/tests/accumulator.rs similarity index 100% rename from tests/accumulator.rs rename to source/postcard/tests/accumulator.rs diff --git a/tests/crc.rs b/source/postcard/tests/crc.rs similarity index 100% rename from tests/crc.rs rename to source/postcard/tests/crc.rs diff --git a/tests/loopback.rs b/source/postcard/tests/loopback.rs similarity index 100% rename from tests/loopback.rs rename to source/postcard/tests/loopback.rs diff --git a/tests/max_size.rs b/source/postcard/tests/max_size.rs similarity index 100% rename from tests/max_size.rs rename to source/postcard/tests/max_size.rs diff --git a/tests/schema.rs b/source/postcard/tests/schema.rs similarity index 100% rename from tests/schema.rs rename to source/postcard/tests/schema.rs