diff --git a/Cargo.lock b/Cargo.lock index c56660bb9..ad1e71c52 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -754,7 +754,7 @@ dependencies = [ [[package]] name = "cairo-lang-macro" -version = "0.0.1" +version = "0.1.0" dependencies = [ "cairo-lang-macro-attributes", "cairo-lang-macro-stable", diff --git a/MAINTAINING.md b/MAINTAINING.md index bd80a3e33..d322f01b2 100644 --- a/MAINTAINING.md +++ b/MAINTAINING.md @@ -167,6 +167,22 @@ Releasing `scarb-ui` crate is also a semi-automated process. 5. Push it. 6. Run `cargo publish -p scarb-ui`. +## `cairo-lang-macro` release procedure + +Releasing `cairo-lang-macro` crate is also a semi-automated process. + +1. Make sure correct version is present in: + 1. `plugins/cairo-lang-macro/Cargo.toml` + 2. `Cargo.lock` + You will probably have to commit changes and then tag newly created commit. +2. Make sure all changes to crates `cairo-lang-macro-attributes`, `cairo-lang-macro-stable`, `scarb-stable-hasher` are + released to crates.io as well. +3. Make sure you create it on a green commit (CI is passing), this is not verified! +4. Run `cargo publish -p cairo-lang-macro --dry-run` to verify that everything is fine. +5. Create a tag on `main` named `cairo-lang-macro/vX.Y.Z`. +6. Push it. +7. Run `cargo publish -p cairo-lang-macro`. + [@software-mansion/scarb-maintainers]: https://github.com/orgs/software-mansion/teams/scarb-maintainers [@maciektr]: https://github.com/maciektr diff --git a/plugins/cairo-lang-macro/CHANGELOG.md b/plugins/cairo-lang-macro/CHANGELOG.md new file mode 100644 index 000000000..fd3eae6c6 --- /dev/null +++ b/plugins/cairo-lang-macro/CHANGELOG.md @@ -0,0 +1,9 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +## Unreleased + +## 0.1.0 (2024-07-31) + +- Initial release. diff --git a/plugins/cairo-lang-macro/Cargo.toml b/plugins/cairo-lang-macro/Cargo.toml index b4a25dc3b..1e2e40ce1 100644 --- a/plugins/cairo-lang-macro/Cargo.toml +++ b/plugins/cairo-lang-macro/Cargo.toml @@ -13,8 +13,8 @@ readme = "README.md" repository.workspace = true [dependencies] -cairo-lang-macro-attributes = { path = "../cairo-lang-macro-attributes" } -cairo-lang-macro-stable = { path = "../cairo-lang-macro-stable" } +cairo-lang-macro-attributes = "0.1" +cairo-lang-macro-stable = "1" linkme.workspace = true [dev-dependencies] diff --git a/plugins/cairo-lang-macro/README.md b/plugins/cairo-lang-macro/README.md index f71fd9dfe..5f82b3b9f 100644 --- a/plugins/cairo-lang-macro/README.md +++ b/plugins/cairo-lang-macro/README.md @@ -1,3 +1,6 @@ -# cairo-lang-macro +# Cairo Lang Macro -Shared interface for Scarb procedural macros. +This crate exposes an API for writing Scarb procedural macros for Cairo language. +To learn more about Scarb procedural macros, please see the [Scarb documentation]. + +[Scarb documentation]: https://docs.swmansion.com/scarb/