diff --git a/crates/ruma-events-macros/CHANGELOG.md b/crates/ruma-events-macros/CHANGELOG.md deleted file mode 100644 index c07ed687..00000000 --- a/crates/ruma-events-macros/CHANGELOG.md +++ /dev/null @@ -1,23 +0,0 @@ -Since version 0.19.0 of ruma-events, ruma-events-macros is versioned in lockstep with ruma-api. -Since ruma-events-macros cannot be used independently anyway, it no longer maintains a separate -change log or its own version. Instead, refer to ruma-events's change log for changes in versions -0.19.0 and above. - -# 0.3.0 - -Breaking changes: - -* Update `event_type` in `ruma_events!` to refer to the serialized form of the - event type, not the variant of `ruma_events::EventType` - -Improvements: - -* Split `FromRaw` implementation generation from `ruma_event!` into a separate - proc-macro - -# 0.2.0 - -Improvements: - -* Code generation was updated to account for the changes in ruma-events 0.15 -* Dependencies were updated (notably to syn 1.0 and quote 1.0) diff --git a/crates/ruma-events-macros/README.md b/crates/ruma-events-macros/README.md deleted file mode 100644 index e0719891..00000000 --- a/crates/ruma-events-macros/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# ruma-events-macros - -**ruma-events-macros** provides a procedural macro for easily generating event types for [ruma-events]. - -[ruma-events]: https://github.com/ruma/ruma/tree/main/ruma-events diff --git a/crates/ruma-events/Cargo.toml b/crates/ruma-events/Cargo.toml index fd4bd760..17f2bb9c 100644 --- a/crates/ruma-events/Cargo.toml +++ b/crates/ruma-events/Cargo.toml @@ -15,7 +15,7 @@ all-features = true rustdoc-args = ["--cfg", "docsrs"] [features] -compat = ["ruma-events-macros/compat"] +compat = ["ruma-macros/compat"] markdown = ["pulldown-cmark"] unstable-exhaustive-types = [] @@ -32,8 +32,8 @@ indoc = "1.0" js_int = { version = "0.2.0", features = ["serde"] } pulldown-cmark = { version = "0.8", default-features = false, optional = true } ruma-common = { version = "0.8.0", path = "../ruma-common" } -ruma-events-macros = { version = "=0.26.0", path = "../ruma-events-macros" } ruma-identifiers = { version = "0.22.0", path = "../ruma-identifiers", features = ["serde"] } +ruma-macros = { version = "=0.1.0", path = "../ruma-macros" } ruma-serde = { version = "0.6.0", path = "../ruma-serde" } serde = { version = "1.0.118", features = ["derive"] } serde_json = { version = "1.0.60", features = ["raw_value"] } diff --git a/crates/ruma-events/src/call/answer.rs b/crates/ruma-events/src/call/answer.rs index 9f274a99..329133e9 100644 --- a/crates/ruma-events/src/call/answer.rs +++ b/crates/ruma-events/src/call/answer.rs @@ -3,7 +3,7 @@ //! [`m.call.answer`]: https://spec.matrix.org/v1.2/client-server-api/#mcallanswer use js_int::UInt; -use ruma_events_macros::EventContent; +use ruma_macros::EventContent; use serde::{Deserialize, Serialize}; use super::SessionDescription; diff --git a/crates/ruma-events/src/call/candidates.rs b/crates/ruma-events/src/call/candidates.rs index 797652e7..5a12c890 100644 --- a/crates/ruma-events/src/call/candidates.rs +++ b/crates/ruma-events/src/call/candidates.rs @@ -3,7 +3,7 @@ //! [`m.call.candidates`]: https://spec.matrix.org/v1.2/client-server-api/#mcallcandidates use js_int::UInt; -use ruma_events_macros::EventContent; +use ruma_macros::EventContent; use serde::{Deserialize, Serialize}; /// The content of an `m.call.candidates` event. diff --git a/crates/ruma-events/src/call/hangup.rs b/crates/ruma-events/src/call/hangup.rs index 3c8a975c..211b1c45 100644 --- a/crates/ruma-events/src/call/hangup.rs +++ b/crates/ruma-events/src/call/hangup.rs @@ -3,7 +3,7 @@ //! [`m.call.hangup`]: https://spec.matrix.org/v1.2/client-server-api/#mcallhangup use js_int::UInt; -use ruma_events_macros::EventContent; +use ruma_macros::EventContent; use ruma_serde::StringEnum; use serde::{Deserialize, Serialize}; diff --git a/crates/ruma-events/src/call/invite.rs b/crates/ruma-events/src/call/invite.rs index 893f0663..9cc70781 100644 --- a/crates/ruma-events/src/call/invite.rs +++ b/crates/ruma-events/src/call/invite.rs @@ -3,7 +3,7 @@ //! [`m.call.invite`]: https://spec.matrix.org/v1.2/client-server-api/#mcallinvite use js_int::UInt; -use ruma_events_macros::EventContent; +use ruma_macros::EventContent; use serde::{Deserialize, Serialize}; use super::SessionDescription; diff --git a/crates/ruma-events/src/direct.rs b/crates/ruma-events/src/direct.rs index 3565406f..86aa78b4 100644 --- a/crates/ruma-events/src/direct.rs +++ b/crates/ruma-events/src/direct.rs @@ -7,8 +7,8 @@ use std::{ ops::{Deref, DerefMut}, }; -use ruma_events_macros::EventContent; use ruma_identifiers::{RoomId, UserId}; +use ruma_macros::EventContent; use serde::{Deserialize, Serialize}; /// The content of an `m.direct` event. diff --git a/crates/ruma-events/src/dummy.rs b/crates/ruma-events/src/dummy.rs index 77f09280..b96eaf79 100644 --- a/crates/ruma-events/src/dummy.rs +++ b/crates/ruma-events/src/dummy.rs @@ -4,7 +4,7 @@ use std::fmt; -use ruma_events_macros::EventContent; +use ruma_macros::EventContent; use serde::{ de::{self, Deserialize, Deserializer}, ser::{Serialize, SerializeStruct as _, Serializer}, diff --git a/crates/ruma-events/src/enums.rs b/crates/ruma-events/src/enums.rs index f5478560..e619bf89 100644 --- a/crates/ruma-events/src/enums.rs +++ b/crates/ruma-events/src/enums.rs @@ -1,6 +1,6 @@ use ruma_common::MilliSecondsSinceUnixEpoch; -use ruma_events_macros::{event_enum, EventEnumFromEvent}; use ruma_identifiers::{EventId, RoomId, RoomVersionId, UserId}; +use ruma_macros::{event_enum, EventEnumFromEvent}; use ruma_serde::from_raw_json_value; use serde::{de, Deserialize}; use serde_json::value::RawValue as RawJsonValue; diff --git a/crates/ruma-events/src/event_kinds.rs b/crates/ruma-events/src/event_kinds.rs index 1bd453e9..78ca4a1f 100644 --- a/crates/ruma-events/src/event_kinds.rs +++ b/crates/ruma-events/src/event_kinds.rs @@ -1,8 +1,8 @@ #![allow(clippy::exhaustive_structs)] use ruma_common::MilliSecondsSinceUnixEpoch; -use ruma_events_macros::Event; use ruma_identifiers::{EventId, RoomId, UserId}; +use ruma_macros::Event; use serde::{Deserialize, Serialize}; use crate::{ diff --git a/crates/ruma-events/src/forwarded_room_key.rs b/crates/ruma-events/src/forwarded_room_key.rs index 9ec7f20c..0a2aa89e 100644 --- a/crates/ruma-events/src/forwarded_room_key.rs +++ b/crates/ruma-events/src/forwarded_room_key.rs @@ -2,8 +2,8 @@ //! //! [`m.forwarded_room_key`]: https://spec.matrix.org/v1.2/client-server-api/#mforwarded_room_key -use ruma_events_macros::EventContent; use ruma_identifiers::{EventEncryptionAlgorithm, RoomId}; +use ruma_macros::EventContent; use serde::{Deserialize, Serialize}; /// The content of an `m.forwarded_room_key` event. diff --git a/crates/ruma-events/src/fully_read.rs b/crates/ruma-events/src/fully_read.rs index 3975353b..498eefb2 100644 --- a/crates/ruma-events/src/fully_read.rs +++ b/crates/ruma-events/src/fully_read.rs @@ -2,8 +2,8 @@ //! //! [`m.fully_read`]: https://spec.matrix.org/v1.2/client-server-api/#mfully_read -use ruma_events_macros::EventContent; use ruma_identifiers::EventId; +use ruma_macros::EventContent; use serde::{Deserialize, Serialize}; /// The content of an `m.fully_read` event. diff --git a/crates/ruma-events/src/ignored_user_list.rs b/crates/ruma-events/src/ignored_user_list.rs index 32153e96..3a65b374 100644 --- a/crates/ruma-events/src/ignored_user_list.rs +++ b/crates/ruma-events/src/ignored_user_list.rs @@ -2,8 +2,8 @@ //! //! [`m.ignored_user_list`]: https://spec.matrix.org/v1.2/client-server-api/#mignored_user_list -use ruma_events_macros::EventContent; use ruma_identifiers::UserId; +use ruma_macros::EventContent; use serde::{Deserialize, Serialize}; /// The content of an `m.ignored_user_list` event. diff --git a/crates/ruma-events/src/key/verification/accept.rs b/crates/ruma-events/src/key/verification/accept.rs index 10ad481e..2a1c88a4 100644 --- a/crates/ruma-events/src/key/verification/accept.rs +++ b/crates/ruma-events/src/key/verification/accept.rs @@ -4,8 +4,8 @@ use std::collections::BTreeMap; -use ruma_events_macros::EventContent; use ruma_identifiers::TransactionId; +use ruma_macros::EventContent; use ruma_serde::Base64; use serde::{Deserialize, Serialize}; use serde_json::Value as JsonValue; diff --git a/crates/ruma-events/src/key/verification/cancel.rs b/crates/ruma-events/src/key/verification/cancel.rs index 7d992807..8271cd07 100644 --- a/crates/ruma-events/src/key/verification/cancel.rs +++ b/crates/ruma-events/src/key/verification/cancel.rs @@ -2,8 +2,8 @@ //! //! [`m.key.verification.cancel`]: https://spec.matrix.org/v1.2/client-server-api/#mkeyverificationcancel -use ruma_events_macros::EventContent; use ruma_identifiers::TransactionId; +use ruma_macros::EventContent; use ruma_serde::StringEnum; use serde::{Deserialize, Serialize}; diff --git a/crates/ruma-events/src/key/verification/done.rs b/crates/ruma-events/src/key/verification/done.rs index 2baab5d4..97de4076 100644 --- a/crates/ruma-events/src/key/verification/done.rs +++ b/crates/ruma-events/src/key/verification/done.rs @@ -2,8 +2,8 @@ //! //! [`m.key.verification.done`]: https://spec.matrix.org/v1.2/client-server-api/#mkeyverificationdone -use ruma_events_macros::EventContent; use ruma_identifiers::TransactionId; +use ruma_macros::EventContent; use serde::{Deserialize, Serialize}; use super::Relation; diff --git a/crates/ruma-events/src/key/verification/key.rs b/crates/ruma-events/src/key/verification/key.rs index 51155d32..b8b35844 100644 --- a/crates/ruma-events/src/key/verification/key.rs +++ b/crates/ruma-events/src/key/verification/key.rs @@ -2,8 +2,8 @@ //! //! [`m.key.verification.key`]: https://spec.matrix.org/v1.2/client-server-api/#mkeyverificationkey -use ruma_events_macros::EventContent; use ruma_identifiers::TransactionId; +use ruma_macros::EventContent; use ruma_serde::Base64; use serde::{Deserialize, Serialize}; diff --git a/crates/ruma-events/src/key/verification/mac.rs b/crates/ruma-events/src/key/verification/mac.rs index 5cf8881f..7afff7c3 100644 --- a/crates/ruma-events/src/key/verification/mac.rs +++ b/crates/ruma-events/src/key/verification/mac.rs @@ -4,8 +4,8 @@ use std::collections::BTreeMap; -use ruma_events_macros::EventContent; use ruma_identifiers::TransactionId; +use ruma_macros::EventContent; use ruma_serde::Base64; use serde::{Deserialize, Serialize}; diff --git a/crates/ruma-events/src/key/verification/ready.rs b/crates/ruma-events/src/key/verification/ready.rs index bab5fdc7..d7c15c96 100644 --- a/crates/ruma-events/src/key/verification/ready.rs +++ b/crates/ruma-events/src/key/verification/ready.rs @@ -2,8 +2,8 @@ //! //! [`m.key.verification.ready`]: https://spec.matrix.org/v1.2/client-server-api/#mkeyverificationready -use ruma_events_macros::EventContent; use ruma_identifiers::{DeviceId, TransactionId}; +use ruma_macros::EventContent; use serde::{Deserialize, Serialize}; use super::{Relation, VerificationMethod}; diff --git a/crates/ruma-events/src/key/verification/request.rs b/crates/ruma-events/src/key/verification/request.rs index 20edae6c..30c2d99a 100644 --- a/crates/ruma-events/src/key/verification/request.rs +++ b/crates/ruma-events/src/key/verification/request.rs @@ -3,8 +3,8 @@ //! [`m.key.verification.request`]: https://spec.matrix.org/v1.2/client-server-api/#mkeyverificationrequest use ruma_common::MilliSecondsSinceUnixEpoch; -use ruma_events_macros::EventContent; use ruma_identifiers::{DeviceId, TransactionId}; +use ruma_macros::EventContent; use serde::{Deserialize, Serialize}; use super::VerificationMethod; diff --git a/crates/ruma-events/src/key/verification/start.rs b/crates/ruma-events/src/key/verification/start.rs index 48d063ce..c992c57a 100644 --- a/crates/ruma-events/src/key/verification/start.rs +++ b/crates/ruma-events/src/key/verification/start.rs @@ -4,8 +4,8 @@ use std::collections::BTreeMap; -use ruma_events_macros::EventContent; use ruma_identifiers::{DeviceId, TransactionId}; +use ruma_macros::EventContent; use ruma_serde::Base64; use serde::{Deserialize, Serialize}; use serde_json::Value as JsonValue; diff --git a/crates/ruma-events/src/lib.rs b/crates/ruma-events/src/lib.rs index 7b227de4..b247c213 100644 --- a/crates/ruma-events/src/lib.rs +++ b/crates/ruma-events/src/lib.rs @@ -166,7 +166,7 @@ pub mod exports { /// Re-export of all the derives needed to create your own event types. pub mod macros { - pub use ruma_events_macros::{Event, EventContent}; + pub use ruma_macros::{Event, EventContent}; } pub mod call; diff --git a/crates/ruma-events/src/policy/rule/room.rs b/crates/ruma-events/src/policy/rule/room.rs index ba947448..8ce79708 100644 --- a/crates/ruma-events/src/policy/rule/room.rs +++ b/crates/ruma-events/src/policy/rule/room.rs @@ -2,7 +2,7 @@ //! //! [`m.policy.rule.room`]: https://spec.matrix.org/v1.2/client-server-api/#mpolicyruleroom -use ruma_events_macros::EventContent; +use ruma_macros::EventContent; use serde::{Deserialize, Serialize}; use crate::policy::rule::PolicyRuleEventContent; diff --git a/crates/ruma-events/src/policy/rule/server.rs b/crates/ruma-events/src/policy/rule/server.rs index 487c5951..41ff7925 100644 --- a/crates/ruma-events/src/policy/rule/server.rs +++ b/crates/ruma-events/src/policy/rule/server.rs @@ -2,7 +2,7 @@ //! //! [`m.policy.rule.server`]: https://spec.matrix.org/v1.2/client-server-api/#mpolicyruleserver -use ruma_events_macros::EventContent; +use ruma_macros::EventContent; use serde::{Deserialize, Serialize}; use crate::policy::rule::PolicyRuleEventContent; diff --git a/crates/ruma-events/src/policy/rule/user.rs b/crates/ruma-events/src/policy/rule/user.rs index 86e027da..8656d58b 100644 --- a/crates/ruma-events/src/policy/rule/user.rs +++ b/crates/ruma-events/src/policy/rule/user.rs @@ -2,7 +2,7 @@ //! //! [`m.policy.rule.user`]: https://spec.matrix.org/v1.2/client-server-api/#mpolicyruleuser -use ruma_events_macros::EventContent; +use ruma_macros::EventContent; use serde::{Deserialize, Serialize}; use crate::policy::rule::PolicyRuleEventContent; diff --git a/crates/ruma-events/src/presence.rs b/crates/ruma-events/src/presence.rs index a761c903..01ebebaf 100644 --- a/crates/ruma-events/src/presence.rs +++ b/crates/ruma-events/src/presence.rs @@ -4,8 +4,8 @@ use js_int::UInt; use ruma_common::presence::PresenceState; -use ruma_events_macros::{Event, EventContent}; use ruma_identifiers::{MxcUri, UserId}; +use ruma_macros::{Event, EventContent}; use serde::{Deserialize, Serialize}; use crate::{EventKind, StaticEventContent}; diff --git a/crates/ruma-events/src/push_rules.rs b/crates/ruma-events/src/push_rules.rs index 039445db..d89f7d61 100644 --- a/crates/ruma-events/src/push_rules.rs +++ b/crates/ruma-events/src/push_rules.rs @@ -3,7 +3,7 @@ //! [`m.push_rules`]: https://spec.matrix.org/v1.2/client-server-api/#mpush_rules use ruma_common::push::Ruleset; -use ruma_events_macros::EventContent; +use ruma_macros::EventContent; use serde::{Deserialize, Serialize}; /// The content of an `m.push_rules` event. diff --git a/crates/ruma-events/src/reaction.rs b/crates/ruma-events/src/reaction.rs index 098bdc6c..3f68f7f2 100644 --- a/crates/ruma-events/src/reaction.rs +++ b/crates/ruma-events/src/reaction.rs @@ -1,7 +1,7 @@ //! Types for the `m.reaction` event. -use ruma_events_macros::EventContent; use ruma_identifiers::EventId; +use ruma_macros::EventContent; use serde::{Deserialize, Serialize}; /// The payload for a `m.reaction` event. diff --git a/crates/ruma-events/src/receipt.rs b/crates/ruma-events/src/receipt.rs index 3e3c849d..f6a922a0 100644 --- a/crates/ruma-events/src/receipt.rs +++ b/crates/ruma-events/src/receipt.rs @@ -8,8 +8,8 @@ use std::{ }; use ruma_common::{receipt::ReceiptType, MilliSecondsSinceUnixEpoch}; -use ruma_events_macros::EventContent; use ruma_identifiers::{EventId, UserId}; +use ruma_macros::EventContent; use serde::{Deserialize, Serialize}; /// The content of an `m.receipt` event. diff --git a/crates/ruma-events/src/room/aliases.rs b/crates/ruma-events/src/room/aliases.rs index da09267c..b783a353 100644 --- a/crates/ruma-events/src/room/aliases.rs +++ b/crates/ruma-events/src/room/aliases.rs @@ -1,7 +1,7 @@ //! Types for the `m.room.aliases` event. -use ruma_events_macros::EventContent; use ruma_identifiers::{RoomAliasId, RoomVersionId}; +use ruma_macros::EventContent; use serde::{Deserialize, Serialize}; use serde_json::value::RawValue as RawJsonValue; diff --git a/crates/ruma-events/src/room/avatar.rs b/crates/ruma-events/src/room/avatar.rs index 7868f16c..d85c88e2 100644 --- a/crates/ruma-events/src/room/avatar.rs +++ b/crates/ruma-events/src/room/avatar.rs @@ -3,8 +3,8 @@ //! [`m.room.avatar`]: https://spec.matrix.org/v1.2/client-server-api/#mroomavatar use js_int::UInt; -use ruma_events_macros::EventContent; use ruma_identifiers::MxcUri; +use ruma_macros::EventContent; use serde::{Deserialize, Serialize}; use super::ThumbnailInfo; diff --git a/crates/ruma-events/src/room/canonical_alias.rs b/crates/ruma-events/src/room/canonical_alias.rs index f5ffcc0b..a6572448 100644 --- a/crates/ruma-events/src/room/canonical_alias.rs +++ b/crates/ruma-events/src/room/canonical_alias.rs @@ -2,8 +2,8 @@ //! //! [`m.room.canonical_alias`]: https://spec.matrix.org/v1.2/client-server-api/#mroomcanonical_alias -use ruma_events_macros::EventContent; use ruma_identifiers::RoomAliasId; +use ruma_macros::EventContent; use serde::{Deserialize, Serialize}; /// The content of an `m.room.canonical_alias` event. diff --git a/crates/ruma-events/src/room/create.rs b/crates/ruma-events/src/room/create.rs index 22d60f77..1d757505 100644 --- a/crates/ruma-events/src/room/create.rs +++ b/crates/ruma-events/src/room/create.rs @@ -3,8 +3,8 @@ //! [`m.room.create`]: https://spec.matrix.org/v1.2/client-server-api/#mroomcreate use ruma_common::room::RoomType; -use ruma_events_macros::EventContent; use ruma_identifiers::{EventId, RoomId, RoomVersionId, UserId}; +use ruma_macros::EventContent; use serde::{Deserialize, Serialize}; /// The content of an `m.room.create` event. diff --git a/crates/ruma-events/src/room/encrypted.rs b/crates/ruma-events/src/room/encrypted.rs index 1903751b..539d2b4c 100644 --- a/crates/ruma-events/src/room/encrypted.rs +++ b/crates/ruma-events/src/room/encrypted.rs @@ -5,8 +5,8 @@ use std::collections::BTreeMap; use js_int::UInt; -use ruma_events_macros::EventContent; use ruma_identifiers::{DeviceId, EventId}; +use ruma_macros::EventContent; use serde::{Deserialize, Serialize}; use crate::room::message::InReplyTo; diff --git a/crates/ruma-events/src/room/encryption.rs b/crates/ruma-events/src/room/encryption.rs index bc42ed16..9b9b63a8 100644 --- a/crates/ruma-events/src/room/encryption.rs +++ b/crates/ruma-events/src/room/encryption.rs @@ -3,7 +3,7 @@ //! [`m.room.encryption`]: https://spec.matrix.org/v1.2/client-server-api/#mroomencryption use js_int::UInt; -use ruma_events_macros::EventContent; +use ruma_macros::EventContent; use serde::{Deserialize, Serialize}; use crate::EventEncryptionAlgorithm; diff --git a/crates/ruma-events/src/room/guest_access.rs b/crates/ruma-events/src/room/guest_access.rs index fb3d9593..8246940a 100644 --- a/crates/ruma-events/src/room/guest_access.rs +++ b/crates/ruma-events/src/room/guest_access.rs @@ -2,7 +2,7 @@ //! //! [`m.room.guest_access`]: https://spec.matrix.org/v1.2/client-server-api/#mroomguest_access -use ruma_events_macros::EventContent; +use ruma_macros::EventContent; use ruma_serde::StringEnum; use serde::{Deserialize, Serialize}; diff --git a/crates/ruma-events/src/room/history_visibility.rs b/crates/ruma-events/src/room/history_visibility.rs index a668af71..ee3db014 100644 --- a/crates/ruma-events/src/room/history_visibility.rs +++ b/crates/ruma-events/src/room/history_visibility.rs @@ -2,7 +2,7 @@ //! //! [`m.room.history_visibility`]: https://spec.matrix.org/v1.2/client-server-api/#mroomhistory_visibility -use ruma_events_macros::EventContent; +use ruma_macros::EventContent; use ruma_serde::StringEnum; use serde::{Deserialize, Serialize}; diff --git a/crates/ruma-events/src/room/join_rules.rs b/crates/ruma-events/src/room/join_rules.rs index 80144678..57f16594 100644 --- a/crates/ruma-events/src/room/join_rules.rs +++ b/crates/ruma-events/src/room/join_rules.rs @@ -4,8 +4,8 @@ use std::{borrow::Cow, collections::BTreeMap}; -use ruma_events_macros::EventContent; use ruma_identifiers::RoomId; +use ruma_macros::EventContent; use ruma_serde::from_raw_json_value; use serde::{ de::{Deserializer, Error}, diff --git a/crates/ruma-events/src/room/member.rs b/crates/ruma-events/src/room/member.rs index 8d534a64..486bf9d1 100644 --- a/crates/ruma-events/src/room/member.rs +++ b/crates/ruma-events/src/room/member.rs @@ -4,8 +4,8 @@ use std::collections::BTreeMap; -use ruma_events_macros::EventContent; use ruma_identifiers::{MxcUri, RoomVersionId, ServerName, ServerSigningKeyId, UserId}; +use ruma_macros::EventContent; use ruma_serde::StringEnum; use serde::{Deserialize, Serialize}; use serde_json::value::RawValue as RawJsonValue; diff --git a/crates/ruma-events/src/room/message.rs b/crates/ruma-events/src/room/message.rs index 60121810..2664f6bc 100644 --- a/crates/ruma-events/src/room/message.rs +++ b/crates/ruma-events/src/room/message.rs @@ -5,8 +5,8 @@ use std::{borrow::Cow, fmt}; use js_int::UInt; -use ruma_events_macros::EventContent; use ruma_identifiers::{DeviceId, EventId, MxcUri, UserId}; +use ruma_macros::EventContent; use ruma_serde::{JsonObject, StringEnum}; use serde::{de::DeserializeOwned, Deserialize, Serialize}; use serde_json::Value as JsonValue; diff --git a/crates/ruma-events/src/room/message/feedback.rs b/crates/ruma-events/src/room/message/feedback.rs index f05f98ce..ca96382c 100644 --- a/crates/ruma-events/src/room/message/feedback.rs +++ b/crates/ruma-events/src/room/message/feedback.rs @@ -2,8 +2,8 @@ //! //! [`m.room.message.feedback`]: https://spec.matrix.org/v1.2/client-server-api/#mroommessagefeedback -use ruma_events_macros::EventContent; use ruma_identifiers::EventId; +use ruma_macros::EventContent; use ruma_serde::StringEnum; use serde::{Deserialize, Serialize}; diff --git a/crates/ruma-events/src/room/name.rs b/crates/ruma-events/src/room/name.rs index af3a177a..23a8758d 100644 --- a/crates/ruma-events/src/room/name.rs +++ b/crates/ruma-events/src/room/name.rs @@ -2,8 +2,8 @@ //! //! [`m.room.name`]: https://spec.matrix.org/v1.2/client-server-api/#mroomname -use ruma_events_macros::EventContent; use ruma_identifiers::RoomName; +use ruma_macros::EventContent; use serde::{Deserialize, Serialize}; /// The content of an `m.room.name` event. diff --git a/crates/ruma-events/src/room/pinned_events.rs b/crates/ruma-events/src/room/pinned_events.rs index 4fce1767..d935abf1 100644 --- a/crates/ruma-events/src/room/pinned_events.rs +++ b/crates/ruma-events/src/room/pinned_events.rs @@ -2,8 +2,8 @@ //! //! [`m.room.pinned_events`]: https://spec.matrix.org/v1.2/client-server-api/#mroompinned_events -use ruma_events_macros::EventContent; use ruma_identifiers::EventId; +use ruma_macros::EventContent; use serde::{Deserialize, Serialize}; /// The content of an `m.room.pinned_events` event. diff --git a/crates/ruma-events/src/room/power_levels.rs b/crates/ruma-events/src/room/power_levels.rs index 9a556607..63a4c2c9 100644 --- a/crates/ruma-events/src/room/power_levels.rs +++ b/crates/ruma-events/src/room/power_levels.rs @@ -6,8 +6,8 @@ use std::collections::BTreeMap; use js_int::{int, Int}; use ruma_common::power_levels::{default_power_level, NotificationPowerLevels}; -use ruma_events_macros::EventContent; use ruma_identifiers::UserId; +use ruma_macros::EventContent; use serde::{Deserialize, Serialize}; use crate::EventType; diff --git a/crates/ruma-events/src/room/redaction.rs b/crates/ruma-events/src/room/redaction.rs index a9d6218e..d1f72f96 100644 --- a/crates/ruma-events/src/room/redaction.rs +++ b/crates/ruma-events/src/room/redaction.rs @@ -3,8 +3,8 @@ //! [`m.room.redaction`]: https://spec.matrix.org/v1.2/client-server-api/#mroomredaction use ruma_common::MilliSecondsSinceUnixEpoch; -use ruma_events_macros::{Event, EventContent}; use ruma_identifiers::{EventId, RoomId, UserId}; +use ruma_macros::{Event, EventContent}; use serde::{Deserialize, Serialize}; use crate::{Redact, RedactContent, RedactedUnsigned, Unsigned}; diff --git a/crates/ruma-events/src/room/server_acl.rs b/crates/ruma-events/src/room/server_acl.rs index 0c75bc1b..1692cdcc 100644 --- a/crates/ruma-events/src/room/server_acl.rs +++ b/crates/ruma-events/src/room/server_acl.rs @@ -2,8 +2,8 @@ //! //! [`m.room.server_acl`]: https://spec.matrix.org/v1.2/client-server-api/#mroomserver_acl -use ruma_events_macros::EventContent; use ruma_identifiers::ServerName; +use ruma_macros::EventContent; use serde::{Deserialize, Serialize}; use wildmatch::WildMatch; diff --git a/crates/ruma-events/src/room/third_party_invite.rs b/crates/ruma-events/src/room/third_party_invite.rs index d515f127..df29ff76 100644 --- a/crates/ruma-events/src/room/third_party_invite.rs +++ b/crates/ruma-events/src/room/third_party_invite.rs @@ -2,7 +2,7 @@ //! //! [`m.room.third_party_invite`]: https://spec.matrix.org/v1.2/client-server-api/#mroomthird_party_invite -use ruma_events_macros::EventContent; +use ruma_macros::EventContent; use ruma_serde::Base64; use serde::{Deserialize, Serialize}; diff --git a/crates/ruma-events/src/room/tombstone.rs b/crates/ruma-events/src/room/tombstone.rs index 27b70db2..c0fb3083 100644 --- a/crates/ruma-events/src/room/tombstone.rs +++ b/crates/ruma-events/src/room/tombstone.rs @@ -2,8 +2,8 @@ //! //! [`m.room.tombstone`]: https://spec.matrix.org/v1.2/client-server-api/#mroomtombstone -use ruma_events_macros::EventContent; use ruma_identifiers::RoomId; +use ruma_macros::EventContent; use serde::{Deserialize, Serialize}; /// The content of an `m.room.tombstone` event. diff --git a/crates/ruma-events/src/room/topic.rs b/crates/ruma-events/src/room/topic.rs index d58d1a4f..fda0ba31 100644 --- a/crates/ruma-events/src/room/topic.rs +++ b/crates/ruma-events/src/room/topic.rs @@ -2,7 +2,7 @@ //! //! [`m.room.topic`]: https://spec.matrix.org/v1.2/client-server-api/#mroomtopic -use ruma_events_macros::EventContent; +use ruma_macros::EventContent; use serde::{Deserialize, Serialize}; /// The content of an `m.room.topic` event. diff --git a/crates/ruma-events/src/room_key.rs b/crates/ruma-events/src/room_key.rs index 570fbe82..f81696f1 100644 --- a/crates/ruma-events/src/room_key.rs +++ b/crates/ruma-events/src/room_key.rs @@ -2,8 +2,8 @@ //! //! [`m.room_key`]: https://spec.matrix.org/v1.2/client-server-api/#mroom_key -use ruma_events_macros::EventContent; use ruma_identifiers::{EventEncryptionAlgorithm, RoomId}; +use ruma_macros::EventContent; use serde::{Deserialize, Serialize}; /// The content of an `m.room_key` event. diff --git a/crates/ruma-events/src/room_key_request.rs b/crates/ruma-events/src/room_key_request.rs index bc2eb354..ce5e7150 100644 --- a/crates/ruma-events/src/room_key_request.rs +++ b/crates/ruma-events/src/room_key_request.rs @@ -2,8 +2,8 @@ //! //! [`m.room_key_request`]: https://spec.matrix.org/v1.2/client-server-api/#mroom_key_request -use ruma_events_macros::EventContent; use ruma_identifiers::{DeviceId, EventEncryptionAlgorithm, RoomId, TransactionId}; +use ruma_macros::EventContent; use ruma_serde::StringEnum; use serde::{Deserialize, Serialize}; diff --git a/crates/ruma-events/src/secret/request.rs b/crates/ruma-events/src/secret/request.rs index d89561a1..7f5efbd0 100644 --- a/crates/ruma-events/src/secret/request.rs +++ b/crates/ruma-events/src/secret/request.rs @@ -4,8 +4,8 @@ use std::convert::TryFrom; -use ruma_events_macros::EventContent; use ruma_identifiers::{DeviceId, TransactionId}; +use ruma_macros::EventContent; use ruma_serde::StringEnum; use serde::{ser::SerializeStruct, Deserialize, Serialize}; diff --git a/crates/ruma-events/src/secret/send.rs b/crates/ruma-events/src/secret/send.rs index 31f99bb5..8fb3ec9d 100644 --- a/crates/ruma-events/src/secret/send.rs +++ b/crates/ruma-events/src/secret/send.rs @@ -2,8 +2,8 @@ //! //! [`m.secret.send`]: https://spec.matrix.org/v1.2/client-server-api/#msecretsend -use ruma_events_macros::EventContent; use ruma_identifiers::TransactionId; +use ruma_macros::EventContent; use serde::{Deserialize, Serialize}; /// The content of an `m.secret.send` event. diff --git a/crates/ruma-events/src/space/child.rs b/crates/ruma-events/src/space/child.rs index 55158de3..22adbe8e 100644 --- a/crates/ruma-events/src/space/child.rs +++ b/crates/ruma-events/src/space/child.rs @@ -2,8 +2,8 @@ //! //! [`m.space.child`]: https://spec.matrix.org/v1.2/client-server-api/#mspacechild -use ruma_events_macros::EventContent; use ruma_identifiers::ServerName; +use ruma_macros::EventContent; use serde::{Deserialize, Serialize}; /// The content of an `m.space.child` event. diff --git a/crates/ruma-events/src/space/parent.rs b/crates/ruma-events/src/space/parent.rs index 2290e695..4cc2ce8b 100644 --- a/crates/ruma-events/src/space/parent.rs +++ b/crates/ruma-events/src/space/parent.rs @@ -2,8 +2,8 @@ //! //! [`m.space.parent`]: https://spec.matrix.org/v1.2/client-server-api/#mspaceparent -use ruma_events_macros::EventContent; use ruma_identifiers::ServerName; +use ruma_macros::EventContent; use serde::{Deserialize, Serialize}; /// The content of an `m.space.parent` event. diff --git a/crates/ruma-events/src/sticker.rs b/crates/ruma-events/src/sticker.rs index 512547e3..4ac8adb3 100644 --- a/crates/ruma-events/src/sticker.rs +++ b/crates/ruma-events/src/sticker.rs @@ -2,8 +2,8 @@ //! //! [`m.sticker`]: https://spec.matrix.org/v1.2/client-server-api/#msticker -use ruma_events_macros::EventContent; use ruma_identifiers::MxcUri; +use ruma_macros::EventContent; use serde::{Deserialize, Serialize}; use crate::room::ImageInfo; diff --git a/crates/ruma-events/src/tag.rs b/crates/ruma-events/src/tag.rs index 9cf4a96e..d561b2d9 100644 --- a/crates/ruma-events/src/tag.rs +++ b/crates/ruma-events/src/tag.rs @@ -4,7 +4,7 @@ use std::{collections::BTreeMap, error::Error, fmt, str::FromStr}; -use ruma_events_macros::EventContent; +use ruma_macros::EventContent; use ruma_serde::deserialize_cow_str; use serde::{Deserialize, Serialize}; diff --git a/crates/ruma-events/src/typing.rs b/crates/ruma-events/src/typing.rs index ce6d054a..c31781db 100644 --- a/crates/ruma-events/src/typing.rs +++ b/crates/ruma-events/src/typing.rs @@ -2,8 +2,8 @@ //! //! [`m.typing`]: https://spec.matrix.org/v1.2/client-server-api/#mtyping -use ruma_events_macros::EventContent; use ruma_identifiers::UserId; +use ruma_macros::EventContent; use serde::{Deserialize, Serialize}; /// The content of an `m.typing` event. diff --git a/crates/ruma-events/tests/ui/01-content-sanity-check.rs b/crates/ruma-events/tests/ui/01-content-sanity-check.rs index b129ae65..1f334730 100644 --- a/crates/ruma-events/tests/ui/01-content-sanity-check.rs +++ b/crates/ruma-events/tests/ui/01-content-sanity-check.rs @@ -1,4 +1,4 @@ -use ruma_events_macros::EventContent; +use ruma_macros::EventContent; use serde::{Deserialize, Serialize}; #[derive(Clone, Debug, Deserialize, Serialize, EventContent)] diff --git a/crates/ruma-events/tests/ui/02-no-event-type.rs b/crates/ruma-events/tests/ui/02-no-event-type.rs index c3f9611f..3910bbf8 100644 --- a/crates/ruma-events/tests/ui/02-no-event-type.rs +++ b/crates/ruma-events/tests/ui/02-no-event-type.rs @@ -1,4 +1,4 @@ -use ruma_events_macros::EventContent; +use ruma_macros::EventContent; use serde::{Deserialize, Serialize}; #[derive(Clone, Debug, Deserialize, Serialize, EventContent)] diff --git a/crates/ruma-events/tests/ui/03-invalid-event-type.rs b/crates/ruma-events/tests/ui/03-invalid-event-type.rs index f64d2f01..bd4ba3d4 100644 --- a/crates/ruma-events/tests/ui/03-invalid-event-type.rs +++ b/crates/ruma-events/tests/ui/03-invalid-event-type.rs @@ -1,4 +1,4 @@ -use ruma_events_macros::EventContent; +use ruma_macros::EventContent; use serde::{Deserialize, Serialize}; #[derive(Clone, Debug, Deserialize, Serialize, EventContent)] diff --git a/crates/ruma-events/tests/ui/04-event-sanity-check.rs b/crates/ruma-events/tests/ui/04-event-sanity-check.rs index 668eb284..6f081fe5 100644 --- a/crates/ruma-events/tests/ui/04-event-sanity-check.rs +++ b/crates/ruma-events/tests/ui/04-event-sanity-check.rs @@ -5,7 +5,7 @@ extern crate serde; use ruma_common::MilliSecondsSinceUnixEpoch; use ruma_events::{StateEventContent, Unsigned}; -use ruma_events_macros::Event; +use ruma_macros::Event; use ruma_identifiers::{EventId, RoomId, UserId}; /// State event. diff --git a/crates/ruma-events/tests/ui/05-named-fields.rs b/crates/ruma-events/tests/ui/05-named-fields.rs index 42434448..057cbcf4 100644 --- a/crates/ruma-events/tests/ui/05-named-fields.rs +++ b/crates/ruma-events/tests/ui/05-named-fields.rs @@ -1,5 +1,5 @@ use ruma_events::StateEventContent; -use ruma_events_macros::Event; +use ruma_macros::Event; /// State event. #[derive(Clone, Debug, Event)] diff --git a/crates/ruma-events/tests/ui/06-no-content-field.rs b/crates/ruma-events/tests/ui/06-no-content-field.rs index 0795d6b3..5c05ce16 100644 --- a/crates/ruma-events/tests/ui/06-no-content-field.rs +++ b/crates/ruma-events/tests/ui/06-no-content-field.rs @@ -1,5 +1,5 @@ use ruma_events::StateEventContent; -use ruma_events_macros::Event; +use ruma_macros::Event; /// State event. #[derive(Clone, Debug, Event)] diff --git a/crates/ruma-events/tests/ui/07-enum-sanity-check.rs b/crates/ruma-events/tests/ui/07-enum-sanity-check.rs index 700cfef5..18658e67 100644 --- a/crates/ruma-events/tests/ui/07-enum-sanity-check.rs +++ b/crates/ruma-events/tests/ui/07-enum-sanity-check.rs @@ -1,4 +1,4 @@ -use ruma_events_macros::event_enum; +use ruma_macros::event_enum; event_enum! { /// Any global account data event. diff --git a/crates/ruma-events/tests/ui/08-enum-invalid-path.rs b/crates/ruma-events/tests/ui/08-enum-invalid-path.rs index 07de3fda..14bd2348 100644 --- a/crates/ruma-events/tests/ui/08-enum-invalid-path.rs +++ b/crates/ruma-events/tests/ui/08-enum-invalid-path.rs @@ -1,4 +1,4 @@ -use ruma_events_macros::event_enum; +use ruma_macros::event_enum; event_enum! { enum State { diff --git a/crates/ruma-events/tests/ui/09-enum-invalid-kind.rs b/crates/ruma-events/tests/ui/09-enum-invalid-kind.rs index b21b75fe..9d7513af 100644 --- a/crates/ruma-events/tests/ui/09-enum-invalid-kind.rs +++ b/crates/ruma-events/tests/ui/09-enum-invalid-kind.rs @@ -1,4 +1,4 @@ -use ruma_events_macros::event_enum; +use ruma_macros::event_enum; event_enum! { enum NotReal { diff --git a/crates/ruma-events-macros/Cargo.toml b/crates/ruma-macros/Cargo.toml similarity index 79% rename from crates/ruma-events-macros/Cargo.toml rename to crates/ruma-macros/Cargo.toml index c55936e3..904ed16d 100644 --- a/crates/ruma-events-macros/Cargo.toml +++ b/crates/ruma-macros/Cargo.toml @@ -1,14 +1,14 @@ [package] categories = ["api-bindings", "web-programming"] -description = "A procedural macro used by the ruma-events crate." +description = "Procedural macros used by the Ruma crates." edition = "2018" homepage = "https://www.ruma.io/" keywords = ["matrix", "chat", "messaging", "ruma"] license = "MIT" -name = "ruma-events-macros" +name = "ruma-macros" readme = "README.md" repository = "https://github.com/ruma/ruma" -version = "0.26.0" +version = "0.1.0" [lib] proc-macro = true diff --git a/crates/ruma-macros/README.md b/crates/ruma-macros/README.md new file mode 100644 index 00000000..8655945e --- /dev/null +++ b/crates/ruma-macros/README.md @@ -0,0 +1,5 @@ +# ruma-macros + +**ruma-macros** provides procedural macros for easily generating types for [Ruma] crates. + +[Ruma]: https://github.com/ruma/ruma/ diff --git a/crates/ruma-macros/src/events.rs b/crates/ruma-macros/src/events.rs new file mode 100644 index 00000000..6c9fb211 --- /dev/null +++ b/crates/ruma-macros/src/events.rs @@ -0,0 +1,10 @@ +//! Methods and types for generating [ruma-events] events. +//! +//! [ruma-events]: https://github.com/ruma/ruma/tree/main/ruma-events + +pub mod event; +pub mod event_content; +pub mod event_enum; +pub mod event_parse; +pub mod event_type; +mod util; diff --git a/crates/ruma-events-macros/src/event.rs b/crates/ruma-macros/src/events/event.rs similarity index 99% rename from crates/ruma-events-macros/src/event.rs rename to crates/ruma-macros/src/events/event.rs index 52b39f34..36f38e83 100644 --- a/crates/ruma-events-macros/src/event.rs +++ b/crates/ruma-macros/src/events/event.rs @@ -7,11 +7,11 @@ use syn::{ Meta, MetaList, NestedMeta, }; -use crate::{ +use super::{ event_parse::{to_kind_variation, EventKind, EventKindVariation}, - import_ruma_events, util::is_non_stripped_room_event, }; +use crate::import_ruma_events; /// Derive `Event` macro code generation. pub fn expand_event(input: DeriveInput) -> syn::Result { diff --git a/crates/ruma-events-macros/src/event_content.rs b/crates/ruma-macros/src/events/event_content.rs similarity index 99% rename from crates/ruma-events-macros/src/event_content.rs rename to crates/ruma-macros/src/events/event_content.rs index 3f5aacc1..5b178c93 100644 --- a/crates/ruma-events-macros/src/event_content.rs +++ b/crates/ruma-macros/src/events/event_content.rs @@ -9,7 +9,7 @@ use syn::{ DeriveInput, Ident, LitStr, Token, }; -use crate::event_parse::{EventKind, EventKindVariation}; +use super::event_parse::{EventKind, EventKindVariation}; mod kw { // This `content` field is kept when the event is redacted. diff --git a/crates/ruma-events-macros/src/event_enum.rs b/crates/ruma-macros/src/events/event_enum.rs similarity index 99% rename from crates/ruma-events-macros/src/event_enum.rs rename to crates/ruma-macros/src/events/event_enum.rs index e8d13bde..fe25db0d 100644 --- a/crates/ruma-events-macros/src/event_enum.rs +++ b/crates/ruma-macros/src/events/event_enum.rs @@ -4,7 +4,7 @@ use proc_macro2::{Span, TokenStream}; use quote::{format_ident, quote, ToTokens}; use syn::{Attribute, Data, DataEnum, DeriveInput, Ident, LitStr}; -use crate::{ +use super::{ event_parse::{EventEnumDecl, EventEnumEntry, EventKind, EventKindVariation}, util::{has_prev_content_field, EVENT_FIELDS}, }; @@ -618,7 +618,7 @@ fn field_return_type( quote! { #ruma_events::Unsigned } } } - _ => panic!("the `ruma_events_macros::event_enum::EVENT_FIELD` const was changed"), + _ => panic!("the `ruma_macros::event_enum::EVENT_FIELD` const was changed"), } } diff --git a/crates/ruma-events-macros/src/event_parse.rs b/crates/ruma-macros/src/events/event_parse.rs similarity index 100% rename from crates/ruma-events-macros/src/event_parse.rs rename to crates/ruma-macros/src/events/event_parse.rs diff --git a/crates/ruma-events-macros/src/event_type.rs b/crates/ruma-macros/src/events/event_type.rs similarity index 98% rename from crates/ruma-events-macros/src/event_type.rs rename to crates/ruma-macros/src/events/event_type.rs index fb407464..fb5ccc5f 100644 --- a/crates/ruma-events-macros/src/event_type.rs +++ b/crates/ruma-macros/src/events/event_type.rs @@ -2,7 +2,7 @@ use proc_macro2::{Span, TokenStream}; use quote::{format_ident, quote}; use syn::{Ident, LitStr}; -use crate::event_parse::{EventEnumEntry, EventEnumInput, EventKind}; +use super::event_parse::{EventEnumEntry, EventEnumInput, EventKind}; pub fn expand_event_type_enum( input: EventEnumInput, diff --git a/crates/ruma-events-macros/src/util.rs b/crates/ruma-macros/src/events/util.rs similarity index 96% rename from crates/ruma-events-macros/src/util.rs rename to crates/ruma-macros/src/events/util.rs index c6a3dae2..e6f437e0 100644 --- a/crates/ruma-events-macros/src/util.rs +++ b/crates/ruma-macros/src/events/util.rs @@ -1,4 +1,4 @@ -use crate::event_parse::{EventKind, EventKindVariation}; +use super::event_parse::{EventKind, EventKindVariation}; pub(crate) fn is_non_stripped_room_event(kind: EventKind, var: EventKindVariation) -> bool { matches!(kind, EventKind::MessageLike | EventKind::State) diff --git a/crates/ruma-events-macros/src/lib.rs b/crates/ruma-macros/src/lib.rs similarity index 92% rename from crates/ruma-events-macros/src/lib.rs rename to crates/ruma-macros/src/lib.rs index 19d1bd6e..2525519c 100644 --- a/crates/ruma-events-macros/src/lib.rs +++ b/crates/ruma-macros/src/lib.rs @@ -1,33 +1,26 @@ #![doc(html_favicon_url = "https://www.ruma.io/favicon.ico")] #![doc(html_logo_url = "https://www.ruma.io/images/logo.png")] -//! A procedural macro for generating [ruma-events] events. +//! Procedural macros used by ruma crates. //! //! See the documentation for the individual macros for usage details. -//! -//! [ruma-events]: https://github.com/ruma/ruma/tree/main/ruma-events #![warn(missing_docs)] -use event_parse::EventEnumInput; use proc_macro::TokenStream; use proc_macro2 as pm2; use proc_macro_crate::{crate_name, FoundCrate}; use quote::{format_ident, quote}; use syn::{parse_macro_input, DeriveInput}; -use self::{ +use self::events::{ event::expand_event, event_content::expand_event_content, event_enum::{expand_event_enums, expand_from_impls_derived}, + event_parse::EventEnumInput, event_type::expand_event_type_enum, }; -mod event; -mod event_content; -mod event_enum; -mod event_parse; -mod event_type; -mod util; +mod events; /// Generates an enum to represent the various Matrix event types. /// @@ -38,7 +31,7 @@ mod util; /// /// ```ignore /// # // HACK: This is "ignore" because of cyclical dependency drama. -/// use ruma_events_macros::event_enum; +/// use ruma_macros::event_enum; /// /// event_enum! { /// enum ToDevice {