Read crate configs from metadata.

This commit is contained in:
Dario Nieuwenhuis 2025-08-15 15:30:14 +02:00 committed by Ulf Lilleengen
parent 3f21c90223
commit 9f12852c38
23 changed files with 325 additions and 96 deletions

View File

@ -15,6 +15,11 @@ embassy-rp = { version = "0.7.0", path = "../embassy-rp" }
fixed = "1.23.1"
defmt = { version = "1.0.1", optional = true }
[package.metadata.embassy]
build = [
{target = "thumbv6m-none-eabi", features = ["embassy-rp/rp2040"]},
]
[package.metadata.embassy_docs]
src_base = "https://github.com/embassy-rs/embassy/blob/cyw43-pio-v$VERSION/cyw43-pio/src/"
src_base_git = "https://github.com/embassy-rs/embassy/blob/$COMMIT/cyw43-pio/src/"

View File

@ -38,6 +38,17 @@ heapless = "0.8.0"
embedded-io-async = { version = "0.6.0", optional = true }
bt-hci = { version = "0.4.0", optional = true }
[package.metadata.embassy]
build = [
{target = "thumbv6m-none-eabi", features = []},
{target = "thumbv6m-none-eabi", features = ["log"]},
{target = "thumbv6m-none-eabi", features = ["defmt"]},
{target = "thumbv6m-none-eabi", features = ["firmware-logs", "log"]},
{target = "thumbv6m-none-eabi", features = ["defmt", "firmware-logs"]},
{target = "thumbv6m-none-eabi", features = ["bluetooth", "firmware-logs", "log"]},
{target = "thumbv6m-none-eabi", features = ["bluetooth", "defmt", "firmware-logs"]},
]
[package.metadata.embassy_docs]
src_base = "https://github.com/embassy-rs/embassy/blob/cyw43-v$VERSION/cyw43/src/"
src_base_git = "https://github.com/embassy-rs/embassy/blob/$COMMIT/cyw43/src/"

View File

@ -12,6 +12,17 @@ categories = [
"asynchronous",
]
[package.metadata.embassy]
build = [
{target = "thumbv7em-none-eabi", features = ["embassy-nrf/nrf52840"]},
{target = "thumbv8m.main-none-eabihf", features = ["embassy-nrf/nrf5340-app-s"]},
{target = "thumbv8m.main-none-eabihf", features = ["embassy-nrf/nrf9160-ns"]},
{target = "thumbv8m.main-none-eabihf", features = ["embassy-nrf/nrf9120-ns"]},
{target = "thumbv8m.main-none-eabihf", features = ["embassy-nrf/nrf9151-ns"]},
{target = "thumbv8m.main-none-eabihf", features = ["embassy-nrf/nrf9161-ns"]},
]
[package.metadata.embassy_docs]
src_base = "https://github.com/embassy-rs/embassy/blob/embassy-boot-nrf-v$VERSION/embassy-boot-nrf/src/"
src_base_git = "https://github.com/embassy-rs/embassy/blob/$COMMIT/embassy-boot-nrf/src/"

View File

@ -12,6 +12,12 @@ categories = [
"asynchronous",
]
[package.metadata.embassy]
build = [
{target = "thumbv6m-none-eabi", features = ["embassy-rp/rp2040"]},
]
[package.metadata.embassy_docs]
src_base = "https://github.com/embassy-rs/embassy/blob/embassy-boot-rp-v$VERSION/src/"
src_base_git = "https://github.com/embassy-rs/embassy/blob/$COMMIT/embassy-boot-rp/src/"

View File

@ -12,6 +12,12 @@ categories = [
"asynchronous",
]
[package.metadata.embassy]
build = [
{target = "thumbv7em-none-eabi", features = ["embassy-stm32/stm32l496zg"]},
]
[package.metadata.embassy_docs]
src_base = "https://github.com/embassy-rs/embassy/blob/embassy-boot-stm32-v$VERSION/embassy-boot-stm32/src/"
src_base_git = "https://github.com/embassy-rs/embassy/blob/$COMMIT/embassy-boot-stm32/src/"

View File

@ -12,6 +12,13 @@ categories = [
"asynchronous",
]
[package.metadata.embassy]
build = [
{target = "thumbv7em-none-eabi", features = []},
{target = "thumbv7em-none-eabi", features = ["time"]},
]
[package.metadata.embassy_docs]
src_base = "https://github.com/embassy-rs/embassy/blob/embassy-embedded-hal-v$VERSION/embassy-embedded-hal/src/"
src_base_git = "https://github.com/embassy-rs/embassy/blob/$COMMIT/embassy-embedded-hal/src/"

View File

@ -12,6 +12,26 @@ categories = [
"asynchronous",
]
[package.metadata.embassy]
build = [
{target = "thumbv7em-none-eabi", features = []},
{target = "thumbv7em-none-eabi", features = ["log"]},
{target = "thumbv7em-none-eabi", features = ["defmt"]},
{target = "thumbv6m-none-eabi", features = ["defmt"]},
{target = "thumbv6m-none-eabi", features = ["arch-cortex-m", "defmt", "executor-interrupt", "executor-thread"]},
{target = "thumbv7em-none-eabi", features = ["arch-cortex-m"]},
{target = "thumbv7em-none-eabi", features = ["arch-cortex-m", "rtos-trace"]},
{target = "thumbv7em-none-eabi", features = ["arch-cortex-m", "executor-thread"]},
{target = "thumbv7em-none-eabi", features = ["arch-cortex-m", "executor-interrupt"]},
{target = "thumbv7em-none-eabi", features = ["arch-cortex-m", "executor-interrupt", "executor-thread"]},
{target = "armv7a-none-eabi", features = ["arch-cortex-ar", "executor-thread"]},
{target = "armv7r-none-eabi", features = ["arch-cortex-ar", "executor-thread"]},
{target = "armv7r-none-eabihf", features = ["arch-cortex-ar", "executor-thread"]},
{target = "riscv32imac-unknown-none-elf", features = ["arch-riscv32"]},
{target = "riscv32imac-unknown-none-elf", features = ["arch-riscv32", "executor-thread"]},
]
[package.metadata.embassy_docs]
src_base = "https://github.com/embassy-rs/embassy/blob/embassy-executor-v$VERSION/embassy-executor/src/"
src_base_git = "https://github.com/embassy-rs/embassy/blob/$COMMIT/embassy-executor/src/"

View File

@ -9,6 +9,12 @@ categories = ["embedded", "hardware-support", "no-std", "asynchronous"]
repository = "https://github.com/embassy-rs/embassy"
documentation = "https://docs.embassy.dev/embassy-imxrt"
[package.metadata.embassy]
build = [
{target = "thumbv8m.main-none-eabihf", features = ["defmt", "mimxrt633s", "time", "time-driver-rtc", "unstable-pac"]},
{target = "thumbv8m.main-none-eabihf", features = ["defmt", "mimxrt685s", "time", "time-driver-rtc", "unstable-pac"]},
]
[package.metadata.embassy_docs]
src_base = "https://github.com/embassy-rs/embassy/blob/embassy-imxrt-v$VERSION/embassy-imxrt/src/"
src_base_git = "https://github.com/embassy-rs/embassy/blob/$COMMIT/embassy-imxrt/src/"

View File

@ -9,6 +9,22 @@ categories = ["embedded", "hardware-support", "no-std", "asynchronous"]
repository = "https://github.com/embassy-rs/embassy"
documentation = "https://docs.embassy.dev/embassy-mspm0"
[package.metadata.embassy]
build = [
{target = "thumbv6m-none-eabi", features = ["defmt", "mspm0c1104dgs20", "time-driver-any"]},
{target = "thumbv6m-none-eabi", features = ["defmt", "mspm0g3507pm", "time-driver-any"]},
{target = "thumbv6m-none-eabi", features = ["defmt", "mspm0g3519pz", "time-driver-any"]},
{target = "thumbv6m-none-eabi", features = ["defmt", "mspm0l1306rhb", "time-driver-any"]},
{target = "thumbv6m-none-eabi", features = ["defmt", "mspm0l2228pn", "time-driver-any"]},
{target = "thumbv6m-none-eabi", features = ["defmt", "mspm0l1345dgs28", "time-driver-any"]},
{target = "thumbv6m-none-eabi", features = ["defmt", "mspm0l1106dgs28", "time-driver-any"]},
{target = "thumbv6m-none-eabi", features = ["defmt", "mspm0l1228pm", "time-driver-any"]},
{target = "thumbv6m-none-eabi", features = ["defmt", "mspm0g1107ycj", "time-driver-any"]},
{target = "thumbv6m-none-eabi", features = ["defmt", "mspm0g3105rhb", "time-driver-any"]},
{target = "thumbv6m-none-eabi", features = ["defmt", "mspm0g1505pt", "time-driver-any"]},
{target = "thumbv6m-none-eabi", features = ["defmt", "mspm0g1519rhb", "time-driver-any"]},
]
[package.metadata.embassy_docs]
src_base = "https://github.com/embassy-rs/embassy/blob/embassy-mspm0-v$VERSION/embassy-mspm0/src/"
src_base_git = "https://github.com/embassy-rs/embassy/blob/$COMMIT/embassy-mspm0/src/"

View File

@ -13,6 +13,21 @@ categories = [
"network-programming",
]
[package.metadata.embassy]
build = [
{target = "thumbv7em-none-eabi", features = ["defmt", "dns", "medium-ethernet", "packet-trace", "proto-ipv4", "tcp", "udp"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "dns", "medium-ethernet", "multicast", "proto-ipv4", "tcp", "udp"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "dhcpv4", "dns", "medium-ethernet", "tcp", "udp"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "dhcpv4", "dhcpv4-hostname", "dns", "medium-ethernet", "tcp", "udp"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "dns", "medium-ethernet", "proto-ipv6", "tcp", "udp"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "dns", "medium-ieee802154", "proto-ipv6", "tcp", "udp"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "dns", "medium-ethernet", "medium-ieee802154", "proto-ipv6", "tcp", "udp"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "dns", "medium-ethernet", "proto-ipv4", "proto-ipv6", "tcp", "udp"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "dns", "medium-ip", "proto-ipv4", "proto-ipv6", "tcp", "udp"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "dns", "medium-ethernet", "medium-ip", "proto-ipv4", "proto-ipv6", "tcp", "udp"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "dns", "medium-ethernet", "medium-ieee802154", "medium-ip", "proto-ipv4", "proto-ipv6", "tcp", "udp"]},
]
[package.metadata.embassy_docs]
src_base = "https://github.com/embassy-rs/embassy/blob/embassy-net-v$VERSION/embassy-net/src/"
src_base_git = "https://github.com/embassy-rs/embassy/blob/$COMMIT/embassy-net/src/"

View File

@ -9,6 +9,36 @@ categories = ["embedded", "hardware-support", "no-std", "asynchronous"]
repository = "https://github.com/embassy-rs/embassy"
documentation = "https://docs.embassy.dev/embassy-nrf"
[package.metadata.embassy]
build = [
{target = "thumbv6m-none-eabi", features = ["gpiote", "nrf51", "time", "time-driver-rtc1"]},
{target = "thumbv7em-none-eabi", features = ["gpiote", "nrf52805", "time", "time-driver-rtc1"]},
{target = "thumbv7em-none-eabi", features = ["gpiote", "nrf52810", "time", "time-driver-rtc1"]},
{target = "thumbv7em-none-eabi", features = ["gpiote", "nrf52811", "time", "time-driver-rtc1"]},
{target = "thumbv7em-none-eabi", features = ["gpiote", "nrf52820", "time", "time-driver-rtc1"]},
{target = "thumbv7em-none-eabi", features = ["gpiote", "nrf52832", "reset-pin-as-gpio", "time", "time-driver-rtc1"]},
{target = "thumbv7em-none-eabi", features = ["gpiote", "nfc-pins-as-gpio", "nrf52833", "time", "time-driver-rtc1"]},
{target = "thumbv8m.main-none-eabihf", features = ["gpiote", "nrf9160-s", "time", "time-driver-rtc1"]},
{target = "thumbv8m.main-none-eabihf", features = ["gpiote", "nrf9160-ns", "time", "time-driver-rtc1"]},
{target = "thumbv8m.main-none-eabihf", features = ["gpiote", "nrf5340-app-s", "time", "time-driver-rtc1"]},
{target = "thumbv8m.main-none-eabihf", features = ["gpiote", "nrf5340-app-ns", "time", "time-driver-rtc1"]},
{target = "thumbv8m.main-none-eabihf", features = ["gpiote", "nrf5340-net", "time", "time-driver-rtc1"]},
{target = "thumbv8m.main-none-eabihf", features = ["gpiote", "nrf54l15-app-s", "time", "time-driver-rtc1"]},
{target = "thumbv8m.main-none-eabihf", features = ["gpiote", "nrf54l15-app-ns", "time", "time-driver-rtc1"]},
{target = "thumbv7em-none-eabi", features = ["gpiote", "nrf52840", "time"]},
{target = "thumbv7em-none-eabi", features = ["gpiote", "nrf52840", "time-driver-rtc1"]},
{target = "thumbv7em-none-eabi", features = ["gpiote", "nrf52840", "time", "time-driver-rtc1"]},
{target = "thumbv7em-none-eabi", features = ["gpiote", "log", "nrf52840", "time"]},
{target = "thumbv7em-none-eabi", features = ["gpiote", "log", "nrf52840", "time-driver-rtc1"]},
{target = "thumbv7em-none-eabi", features = ["gpiote", "log", "nrf52840", "time", "time-driver-rtc1"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "gpiote", "nrf52840", "time"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "gpiote", "nrf52840", "time-driver-rtc1"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "gpiote", "nrf52840", "time", "time-driver-rtc1"]},
{target = "thumbv6m-none-eabi", features = ["defmt", "nrf51", "time", "time-driver-rtc1"]},
{target = "thumbv6m-none-eabi", features = ["defmt", "nrf51", "time"]},
{target = "thumbv6m-none-eabi", features = ["nrf51", "time"]},
]
[package.metadata.embassy_docs]
src_base = "https://github.com/embassy-rs/embassy/blob/embassy-nrf-v$VERSION/embassy-nrf/src/"
src_base_git = "https://github.com/embassy-rs/embassy/blob/$COMMIT/embassy-nrf/src/"

View File

@ -3,6 +3,13 @@ name = "embassy-nxp"
version = "0.1.0"
edition = "2021"
[package.metadata.embassy]
build = [
{target = "thumbv8m.main-none-eabihf", features = ["defmt", "lpc55"]},
{target = "thumbv7em-none-eabihf", features = ["defmt", "mimxrt1011", "rt", "time-driver-pit"]},
{target = "thumbv7em-none-eabihf", features = ["defmt", "mimxrt1062", "rt", "time-driver-pit"]},
]
[package.metadata.embassy_docs]
src_base = "https://github.com/embassy-rs/embassy/blob/embassy-nxp-v$VERSION/embassy-nxp/src/"
src_base_git = "https://github.com/embassy-rs/embassy/blob/$COMMIT/embassy-nxp/src/"

View File

@ -9,6 +9,17 @@ categories = ["embedded", "hardware-support", "no-std", "asynchronous"]
repository = "https://github.com/embassy-rs/embassy"
documentation = "https://docs.embassy.dev/embassy-rp"
[package.metadata.embassy]
build = [
{target = "thumbv6m-none-eabi", features = ["defmt", "rp2040", "time-driver"]},
{target = "thumbv6m-none-eabi", features = ["log", "rp2040", "time-driver"]},
{target = "thumbv6m-none-eabi", features = ["intrinsics", "rp2040", "time-driver"]},
{target = "thumbv6m-none-eabi", features = ["qspi-as-gpio", "rp2040", "time-driver"]},
{target = "thumbv8m.main-none-eabihf", features = ["defmt", "rp235xa", "time-driver"]},
{target = "thumbv8m.main-none-eabihf", features = ["log", "rp235xa", "time-driver"]},
{target = "thumbv8m.main-none-eabihf", features = ["binary-info", "rp235xa", "time-driver"]},
]
[package.metadata.embassy_docs]
src_base = "https://github.com/embassy-rs/embassy/blob/embassy-rp-v$VERSION/embassy-rp/src/"
src_base_git = "https://github.com/embassy-rs/embassy/blob/$COMMIT/embassy-rp/src/"

View File

@ -9,6 +9,99 @@ categories = ["embedded", "hardware-support", "no-std", "asynchronous"]
repository = "https://github.com/embassy-rs/embassy"
documentation = "https://docs.embassy.dev/embassy-stm32"
[package.metadata.embassy]
build = [
{target = "thumbv8m.main-none-eabihf", features = ["defmt", "dual-bank", "exti", "stm32l552ze", "time", "time-driver-any"]},
{target = "thumbv8m.main-none-eabihf", features = ["defmt", "dual-bank", "stm32l552ze", "time", "time-driver-any"]},
{target = "thumbv8m.main-none-eabihf", features = ["defmt", "dual-bank", "exti", "stm32l552ze", "time"]},
{target = "thumbv8m.main-none-eabihf", features = ["defmt", "dual-bank", "stm32l552ze", "time"]},
{target = "thumbv8m.main-none-eabihf", features = ["defmt", "dual-bank", "exti", "stm32l552ze"]},
{target = "thumbv8m.main-none-eabihf", features = ["defmt", "dual-bank", "stm32l552ze"]},
{target = "thumbv8m.main-none-eabihf", features = ["defmt", "single-bank", "stm32l552ze"]},
{target = "thumbv6m-none-eabi", features = ["defmt", "exti", "stm32c071rb", "time", "time-driver-any"]},
{target = "thumbv6m-none-eabi", features = ["defmt", "exti", "stm32c051f6", "time", "time-driver-any"]},
{target = "thumbv6m-none-eabi", features = ["defmt", "exti", "stm32c091gb", "time", "time-driver-any"]},
{target = "thumbv6m-none-eabi", features = ["defmt", "exti", "stm32c092rc", "time", "time-driver-any"]},
{target = "thumbv6m-none-eabi", features = ["defmt", "exti", "stm32f038f6", "time", "time-driver-any"]},
{target = "thumbv6m-none-eabi", features = ["defmt", "exti", "stm32f030c6", "time", "time-driver-any"]},
{target = "thumbv6m-none-eabi", features = ["defmt", "exti", "stm32f058t8", "time", "time-driver-any"]},
{target = "thumbv6m-none-eabi", features = ["defmt", "exti", "stm32f030r8", "time", "time-driver-any"]},
{target = "thumbv6m-none-eabi", features = ["defmt", "exti", "stm32f031k6", "time", "time-driver-any"]},
{target = "thumbv6m-none-eabi", features = ["defmt", "exti", "stm32f030rc", "time", "time-driver-any"]},
{target = "thumbv6m-none-eabi", features = ["defmt", "exti", "stm32f070f6", "time", "time-driver-any"]},
{target = "thumbv6m-none-eabi", features = ["defmt", "exti", "stm32f078vb", "time", "time-driver-any"]},
{target = "thumbv6m-none-eabi", features = ["defmt", "exti", "stm32f042g4", "time", "time-driver-any"]},
{target = "thumbv6m-none-eabi", features = ["defmt", "exti", "stm32f072c8", "time", "time-driver-any"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "stm32f401ve", "time-driver-any"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "stm32f405zg", "time-driver-any"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "stm32f407zg", "time-driver-any"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "stm32f401ve", "time", "time-driver-any"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "stm32f405zg", "time", "time-driver-any"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "stm32f407zg", "time", "time-driver-any"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "stm32f410tb", "time", "time-driver-any"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "stm32f411ce", "time", "time-driver-any"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "stm32f412zg", "time", "time-driver-any"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "stm32f413vh", "time", "time-driver-any"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "stm32f415zg", "time", "time-driver-any"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "stm32f417zg", "time", "time-driver-any"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "stm32f423zh", "time", "time-driver-any"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "stm32f427zi", "time", "time-driver-any"]},
{target = "thumbv7em-none-eabi", features = ["exti", "log", "stm32f429zi", "time", "time-driver-any"]},
{target = "thumbv7em-none-eabi", features = ["exti", "log", "stm32f437zi", "time", "time-driver-any"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "stm32f439zi", "time", "time-driver-any"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "stm32f446ze", "time", "time-driver-any"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "stm32f469zi", "time", "time-driver-any"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "stm32f479zi", "time", "time-driver-any"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "stm32f730i8", "time", "time-driver-any"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "stm32h753zi", "time", "time-driver-any"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "stm32h735zg", "time", "time-driver-any"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "split-pc2", "split-pc3", "stm32h755zi-cm7", "time", "time-driver-any"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "stm32h725re", "time", "time-driver-any"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "stm32h7b3ai", "time", "time-driver-any"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "stm32h7b3ai", "time", "time-driver-tim1"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "stm32h7r3z8", "time", "time-driver-tim1"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "stm32h7r7a8", "time", "time-driver-tim1"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "stm32h7s3a8", "time", "time-driver-tim1"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "stm32h7s7z8", "time", "time-driver-tim1"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "stm32l431cb", "time", "time-driver-any"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "stm32l476vg", "time", "time-driver-any"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "stm32l422cb", "time", "time-driver-any"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "stm32wb15cc", "time", "time-driver-any"]},
{target = "thumbv6m-none-eabi", features = ["defmt", "exti", "stm32l072cz", "time", "time-driver-any"]},
{target = "thumbv6m-none-eabi", features = ["defmt", "exti", "stm32l041f6", "time", "time-driver-any"]},
{target = "thumbv6m-none-eabi", features = ["defmt", "exti", "stm32l051k8", "time", "time-driver-any"]},
{target = "thumbv6m-none-eabi", features = ["defmt", "exti", "low-power", "stm32l073cz", "time", "time-driver-any"]},
{target = "thumbv7m-none-eabi", features = ["defmt", "exti", "stm32l151cb-a", "time", "time-driver-any"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "stm32f303c8", "time", "time-driver-any"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "stm32f398ve", "time", "time-driver-any"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "stm32f378cc", "time", "time-driver-any"]},
{target = "thumbv6m-none-eabi", features = ["defmt", "exti", "stm32g0b0ce", "time", "time-driver-any"]},
{target = "thumbv6m-none-eabi", features = ["defmt", "exti", "stm32g0c1ve", "time", "time-driver-any"]},
{target = "thumbv7m-none-eabi", features = ["defmt", "exti", "stm32f217zg", "time", "time-driver-any"]},
{target = "thumbv8m.main-none-eabihf", features = ["defmt", "dual-bank", "exti", "low-power", "stm32l552ze", "time", "time-driver-any"]},
{target = "thumbv6m-none-eabi", features = ["defmt", "exti", "stm32wl54jc-cm0p", "time", "time-driver-any"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "stm32wle5jb", "time", "time-driver-any"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "stm32g431kb", "time", "time-driver-any"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "dual-bank", "exti", "stm32g474pe", "time", "time-driver-any"]},
{target = "thumbv7m-none-eabi", features = ["defmt", "exti", "stm32f107vc", "time", "time-driver-any"]},
{target = "thumbv7m-none-eabi", features = ["defmt", "exti", "stm32f103re", "time", "time-driver-any"]},
{target = "thumbv7m-none-eabi", features = ["defmt", "exti", "stm32f100c4", "time", "time-driver-any"]},
{target = "thumbv8m.main-none-eabihf", features = ["defmt", "exti", "stm32h503rb", "time", "time-driver-any"]},
{target = "thumbv8m.main-none-eabihf", features = ["defmt", "exti", "stm32h523cc", "time", "time-driver-any"]},
{target = "thumbv8m.main-none-eabihf", features = ["defmt", "exti", "stm32h562ag", "time", "time-driver-any"]},
{target = "thumbv8m.main-none-eabihf", features = ["defmt", "exti", "stm32wba50ke", "time", "time-driver-any"]},
{target = "thumbv8m.main-none-eabihf", features = ["defmt", "exti", "stm32wba55ug", "time", "time-driver-any"]},
{target = "thumbv8m.main-none-eabihf", features = ["defmt", "exti", "stm32wba62cg", "time", "time-driver-any"]},
{target = "thumbv8m.main-none-eabihf", features = ["defmt", "exti", "low-power", "stm32wba65ri", "time", "time-driver-any"]},
{target = "thumbv8m.main-none-eabihf", features = ["defmt", "exti", "stm32u5f9zj", "time", "time-driver-any"]},
{target = "thumbv8m.main-none-eabihf", features = ["defmt", "exti", "stm32u5g9nj", "time", "time-driver-any"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "stm32wb35ce", "time", "time-driver-any"]},
{target = "thumbv7em-none-eabi", features = ["defmt", "exti", "low-power", "stm32wb55rg", "time", "time-driver-any"]},
{target = "thumbv6m-none-eabi", features = ["defmt", "exti", "stm32u031r8", "time", "time-driver-any"]},
{target = "thumbv6m-none-eabi", features = ["defmt", "exti", "stm32u073mb", "time", "time-driver-any"]},
{target = "thumbv6m-none-eabi", features = ["defmt", "exti", "stm32u083rc", "time", "time-driver-any"]},
]
[package.metadata.embassy_docs]
src_base = "https://github.com/embassy-rs/embassy/blob/embassy-stm32-v$VERSION/embassy-stm32/src/"
src_base_git = "https://github.com/embassy-rs/embassy/blob/$COMMIT/embassy-stm32/src/"

View File

@ -14,6 +14,11 @@ categories = [
"asynchronous",
]
[package.metadata.embassy]
build = [
{target = "thumbv6m-none-eabi", features = ["defmt"]},
]
[package.metadata.embassy_docs]
src_base = "https://github.com/embassy-rs/embassy/blob/embassy-sync-v$VERSION/embassy-sync/src/"
src_base_git = "https://github.com/embassy-rs/embassy/blob/$COMMIT/embassy-sync/src/"

View File

@ -52,6 +52,12 @@ generic-queue-128 = ["_generic-queue"]
_generic-queue = []
[package.metadata.embassy]
build = [
{target = "thumbv6m-none-eabi", features = []},
{target = "thumbv6m-none-eabi", features = ["generic-queue-8"]},
]
[package.metadata.embassy_docs]
src_base = "https://github.com/embassy-rs/embassy/blob/embassy-time-queue-utils-v$VERSION/embassy-time-queue-utils/src/"
src_base_git = "https://github.com/embassy-rs/embassy/blob/$COMMIT/embassy-time-queue-utils/src/"

View File

@ -14,6 +14,12 @@ categories = [
"asynchronous",
]
[package.metadata.embassy]
build = [
{target = "thumbv6m-none-eabi", features = ["defmt", "defmt-timestamp-uptime", "mock-driver"]},
{features = ["defmt", "std"]},
]
[package.metadata.embassy_docs]
src_base = "https://github.com/embassy-rs/embassy/blob/embassy-time-v$VERSION/embassy-time/src/"
src_base_git = "https://github.com/embassy-rs/embassy/blob/$COMMIT/embassy-time/src/"

View File

@ -9,6 +9,17 @@ categories = ["embedded", "hardware-support", "no-std", "asynchronous"]
repository = "https://github.com/embassy-rs/embassy"
documentation = "https://docs.embassy.dev/embassy-usb"
[package.metadata.embassy]
build = [
{target = "thumbv6m-none-eabi", features = []},
{target = "thumbv6m-none-eabi", features = ["log"]},
{target = "thumbv6m-none-eabi", features = ["defmt"]},
{target = "thumbv6m-none-eabi", features = ["usbd-hid"]},
{target = "thumbv6m-none-eabi", features = ["max-interface-count-1"]},
{target = "thumbv6m-none-eabi", features = ["max-interface-count-8"]},
{target = "thumbv6m-none-eabi", features = ["max-handler-count-8"]},
]
[package.metadata.embassy_docs]
src_base = "https://github.com/embassy-rs/embassy/blob/embassy-usb-v$VERSION/embassy-usb/src/"
src_base_git = "https://github.com/embassy-rs/embassy/blob/$COMMIT/embassy-usb/src/"

View File

@ -19,5 +19,8 @@ simple_logger = "5.0.0"
temp-file = "0.1.9"
flate2 = "1.1.1"
[patch.crates-io]
cargo-semver-checks = { path = "../../cargo-semver-checks" }
#[patch.crates-io]
#cargo-semver-checks = { path = "../../cargo-semver-checks" }
[package.metadata.embassy]
skip = true

View File

@ -1,46 +0,0 @@
embassy-stm32 = { features = ["defmt", "unstable-pac", "exti", "time-driver-any", "time", "stm32h755zi-cm7", "dual-bank"], target = "thumbv7em-none-eabi" }
embassy-nrf = { features = ["nrf52840", "time", "defmt", "unstable-pac", "gpiote", "time-driver-rtc1"], target = "thumbv7em-none-eabihf" }
embassy-rp = { features = ["defmt", "unstable-pac", "time-driver", "rp2040"], target = "thumbv6m-none-eabi" }
cyw43 = { features = ["defmt", "firmware-logs"], target = "thumbv6m-none-eabi" }
cyw43-pio = { features = ["defmt", "embassy-rp/rp2040"], target = "thumbv6m-none-eabi" }
embassy-boot = { features = ["defmt"] }
embassy-boot-nrf = { features = ["defmt", "embassy-nrf/nrf52840"], target = "thumbv7em-none-eabihf" }
embassy-boot-rp = { features = ["defmt", "embassy-rp/rp2040"], target = "thumbv6m-none-eabi" }
embassy-boot-stm32 = { features = ["defmt", "embassy-stm32/stm32f429zi"], target = "thumbv7em-none-eabi" }
embassy-time = { features = ["defmt", "std"] }
embassy-time-driver = { }
embassy-time-queue-utils = { features = ["defmt"] }
embassy-futures = { }
embassy-embedded-hal = { features = ["time"] }
embassy-hal-internal = { }
embassy-executor = { features = ["defmt", "arch-cortex-m", "executor-thread", "executor-interrupt"], target = "thumbv7em-none-eabi" }
embassy-executor-macros = { }
embassy-sync = { }
embassy-net = { features = ["defmt", "tcp", "udp", "raw", "dns", "icmp", "dhcpv4", "proto-ipv6", "medium-ethernet", "medium-ip", "medium-ieee802154", "multicast", "dhcpv4-hostname"] }
embassy-net-ppp = { }
embassy-net-esp-hosted = {}
embassy-net-driver-channel = {}
embassy-net-wiznet = {}
embassy-net-nrf91 = { features = ["defmt", "nrf-pac/nrf9160"] }
embassy-net-driver = {}
embassy-net-tuntap = {}
embassy-net-adin1110 = {}
embassy-net-enc28j60 = {}
embassy-usb-driver = { }
embassy-usb-dfu = { features = ["dfu"] }
embassy-usb-synopsys-otg = { }
embassy-usb = { features = ["defmt", "usbd-hid"] }
embassy-usb-logger = { }
# Unreleased
# embassy-stm32-wpan = {}
# embassy-imxrt = {}
# embassy-nxp = {}
# embassy-mspm0 = {}

View File

@ -1,4 +1,3 @@
use simple_logger::SimpleLogger;
use std::collections::{BTreeMap, HashMap};
use std::fs;
use std::path::{Path, PathBuf};
@ -6,9 +5,11 @@ use std::process::Command as ProcessCommand;
use anyhow::{anyhow, Result};
use clap::{Parser, Subcommand};
use log::info;
use petgraph::graph::{Graph, NodeIndex};
use petgraph::visit::Bfs;
use petgraph::{Directed, Direction};
use simple_logger::SimpleLogger;
use toml_edit::{DocumentMut, Item, Value};
use types::*;
@ -63,15 +64,6 @@ enum Command {
},
}
fn load_release_config(repo: &Path) -> ReleaseConfig {
let config_path = repo.join("release/config.toml");
if !config_path.exists() {
return HashMap::new();
}
let content = fs::read_to_string(&config_path).expect("Failed to read release/config.toml");
toml::from_str(&content).expect("Invalid TOML format in release/config.toml")
}
fn update_version(c: &mut Crate, new_version: &str) -> Result<()> {
let path = c.path.join("Cargo.toml");
c.version = new_version.to_string();
@ -122,12 +114,10 @@ fn update_versions(to_update: &Crate, dep: &CrateId, new_version: &str) -> Resul
fn list_crates(root: &PathBuf) -> Result<BTreeMap<CrateId, Crate>> {
let d = std::fs::read_dir(root)?;
let release_config = load_release_config(root);
let mut crates = BTreeMap::new();
for c in d {
let entry = c?;
let name = entry.file_name().to_str().unwrap().to_string();
if entry.file_type()?.is_dir() && name.starts_with("embassy-") {
if entry.file_type()?.is_dir() {
let path = root.join(entry.path());
let entry = path.join("Cargo.toml");
if entry.exists() {
@ -135,6 +125,8 @@ fn list_crates(root: &PathBuf) -> Result<BTreeMap<CrateId, Crate>> {
let parsed: ParsedCrate = toml::from_str(&content)?;
let id = parsed.package.name;
let metadata = &parsed.package.metadata.embassy;
let mut dependencies = Vec::new();
for (k, _) in parsed.dependencies {
if k.starts_with("embassy-") {
@ -142,18 +134,19 @@ fn list_crates(root: &PathBuf) -> Result<BTreeMap<CrateId, Crate>> {
}
}
if let Some(config) = release_config.get(&id) {
crates.insert(
id.clone(),
Crate {
name: id,
version: parsed.package.version,
path,
dependencies,
config: config.clone(),
},
);
}
crates.insert(
id.clone(),
Crate {
name: id,
version: parsed.package.version,
path,
dependencies,
config: metadata.build.first().cloned().unwrap_or_else(|| BuildConfig {
features: vec![],
target: None,
}),
},
);
}
}
}
@ -313,10 +306,8 @@ fn main() -> Result<()> {
c.path.join("Cargo.toml").display().to_string(),
];
if let Some(features) = &c.config.features {
args.push("--features".into());
args.push(features.join(","));
}
args.push("--features".into());
args.push(c.config.features.join(","));
if let Some(target) = &c.config.target {
args.push("--target".into());
@ -376,10 +367,8 @@ fn publish_release(_repo: &Path, c: &Crate, push: bool) -> Result<()> {
c.path.join("Cargo.toml").display().to_string(),
];
if let Some(features) = &c.config.features {
args.push("--features".into());
args.push(features.join(","));
}
args.push("--features".into());
args.push(c.config.features.join(","));
if let Some(target) = &c.config.target {
args.push("--target".into());

View File

@ -23,11 +23,9 @@ pub fn minimum_update(krate: &Crate) -> Result<ReleaseType, anyhow::Error> {
semver_check.with_default_features();
semver_check.set_baseline(baseline);
semver_check.set_packages(vec![package_name]);
if let Some(features) = &krate.config.features {
let extra_current_features = features.clone();
let extra_baseline_features = features.clone();
semver_check.set_extra_features(extra_current_features, extra_baseline_features);
}
let extra_current_features = krate.config.features.clone();
let extra_baseline_features = krate.config.features.clone();
semver_check.set_extra_features(extra_current_features, extra_baseline_features);
if let Some(target) = &krate.config.target {
semver_check.set_build_target(target.clone());
}
@ -70,11 +68,7 @@ pub(crate) fn build_doc_json(krate: &Crate) -> Result<PathBuf, anyhow::Error> {
.join(format!("{}.json", krate.name.to_string().replace("-", "_")));
std::fs::remove_file(&current_path).ok();
let features = if let Some(features) = &krate.config.features {
features.clone()
} else {
vec![]
};
let features = krate.config.features.clone();
log::info!("Building doc json for {} with features: {:?}", krate.name, features);

View File

@ -1,7 +1,8 @@
use serde::Deserialize;
use std::collections::{BTreeMap, HashMap};
use std::path::PathBuf;
use serde::Deserialize;
#[derive(Debug, Deserialize)]
pub struct ParsedCrate {
pub package: ParsedPackage,
@ -12,15 +13,31 @@ pub struct ParsedCrate {
pub struct ParsedPackage {
pub name: String,
pub version: String,
#[serde(default)]
pub metadata: Metadata,
}
#[derive(Debug, Deserialize, Default)]
pub struct Metadata {
#[serde(default)]
pub embassy: MetadataEmbassy,
}
#[derive(Debug, Deserialize, Default)]
pub struct MetadataEmbassy {
#[serde(default)]
pub skip: bool,
#[serde(default)]
pub build: Vec<BuildConfig>,
}
#[derive(Debug, Clone, Deserialize)]
pub struct CrateConfig {
pub features: Option<Vec<String>>,
pub struct BuildConfig {
#[serde(default)]
pub features: Vec<String>,
pub target: Option<String>,
}
pub type ReleaseConfig = HashMap<String, CrateConfig>;
pub type CrateId = String;
#[derive(Debug, Clone)]
@ -28,6 +45,6 @@ pub struct Crate {
pub name: String,
pub version: String,
pub path: PathBuf,
pub config: CrateConfig,
pub dependencies: Vec<CrateId>,
pub config: BuildConfig, // TODO make this a vec.
}