From 50e934b3a6fede628b84816f4e30b1f3b9220075 Mon Sep 17 00:00:00 2001 From: 9names <60134748+9names@users.noreply.github.com> Date: Sun, 13 Aug 2023 12:02:07 +1000 Subject: [PATCH] Initial cargo-generate support (#65) * Add cargo-generate pre-hook to remove template docs * Copy templated Cargo.toml over stock if using cargo-generate * Add blank line at end of files * Add licenses to Cargo.toml files --- Cargo.toml | 1 + cargo-generate.toml | 7 +++ cargo-generate/Cargo.toml | 76 +++++++++++++++++++++++++++++++++ cargo-generate/remove_rprs.rhai | 6 +++ 4 files changed, 90 insertions(+) create mode 100644 cargo-generate.toml create mode 100644 cargo-generate/Cargo.toml create mode 100644 cargo-generate/remove_rprs.rhai diff --git a/Cargo.toml b/Cargo.toml index 1c44347..de633d3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,6 +2,7 @@ edition = "2021" name = "rp2040-project-template" version = "0.1.0" +license = "MIT OR Apache-2.0" [dependencies] cortex-m = "0.7" diff --git a/cargo-generate.toml b/cargo-generate.toml new file mode 100644 index 0000000..db18e4c --- /dev/null +++ b/cargo-generate.toml @@ -0,0 +1,7 @@ +[template] +cargo_generate_version = ">=0.9.0" + +[hooks] +pre = [ + "cargo-generate/remove_rprs.rhai" +] diff --git a/cargo-generate/Cargo.toml b/cargo-generate/Cargo.toml new file mode 100644 index 0000000..1ca578c --- /dev/null +++ b/cargo-generate/Cargo.toml @@ -0,0 +1,76 @@ +[package] +edition = "2021" +name = "{{project-name}}" +version = "0.1.0" +license = "MIT OR Apache-2.0" + +[dependencies] +cortex-m = "0.7" +cortex-m-rt = "0.7" +embedded-hal = { version = "0.2.5", features = ["unproven"] } + +defmt = "0.3" +defmt-rtt = "0.4" +panic-probe = { version = "0.3", features = ["print-defmt"] } + +# We're using a Pico by default on this template +rp-pico = "0.7" + +# but you can use any BSP. Uncomment this to use the pro_micro_rp2040 BSP instead +# sparkfun-pro-micro-rp2040 = "0.6" + +# If you're not going to use a Board Support Package you'll need these: +# rp2040-hal = { version="0.8", features=["rt", "critical-section-impl"] } +# rp2040-boot2 = "0.2" + +# cargo build/run +[profile.dev] +codegen-units = 1 +debug = 2 +debug-assertions = true +incremental = false +opt-level = 3 +overflow-checks = true + +# cargo build/run --release +[profile.release] +codegen-units = 1 +debug = 2 +debug-assertions = false +incremental = false +lto = 'fat' +opt-level = 3 +overflow-checks = false + +# do not optimize proc-macro crates = faster builds from scratch +[profile.dev.build-override] +codegen-units = 8 +debug = false +debug-assertions = false +opt-level = 0 +overflow-checks = false + +[profile.release.build-override] +codegen-units = 8 +debug = false +debug-assertions = false +opt-level = 0 +overflow-checks = false + +# cargo test +[profile.test] +codegen-units = 1 +debug = 2 +debug-assertions = true +incremental = false +opt-level = 3 +overflow-checks = true + +# cargo test --release +[profile.bench] +codegen-units = 1 +debug = 2 +debug-assertions = false +incremental = false +lto = 'fat' +opt-level = 3 diff --git a/cargo-generate/remove_rprs.rhai b/cargo-generate/remove_rprs.rhai new file mode 100644 index 0000000..fea7c2b --- /dev/null +++ b/cargo-generate/remove_rprs.rhai @@ -0,0 +1,6 @@ +file::delete("README.md"); +file::delete("debug_probes.md"); +file::delete("CODE_OF_CONDUCT.md"); +file::delete("Cargo.toml"); +file::rename("cargo-generate/Cargo.toml", "Cargo.toml"); +file::delete("cargo-generate")