mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-14 01:41:09 +00:00
450ca2baca
* rename overseer-gen to orchestra Also drop `gum` and use `tracing`. * make orchestra compile as standalone * introduce Spawner trait to split from sp_core Finalizes the independence of orchestra from polkadot-overseer * slip of the pen * other fixins * remove unused import * Update node/overseer/orchestra/proc-macro/src/impl_builder.rs Co-authored-by: Vsevolod Stakhov <vsevolod.stakhov@parity.io> * Update node/overseer/orchestra/proc-macro/src/impl_builder.rs Co-authored-by: Vsevolod Stakhov <vsevolod.stakhov@parity.io> * orchestra everywhere * leaky data * Bump scale-info from 2.1.1 to 2.1.2 (#5552) Bumps [scale-info](https://github.com/paritytech/scale-info) from 2.1.1 to 2.1.2. - [Release notes](https://github.com/paritytech/scale-info/releases) - [Changelog](https://github.com/paritytech/scale-info/blob/master/CHANGELOG.md) - [Commits](https://github.com/paritytech/scale-info/compare/v2.1.1...v2.1.2) --- updated-dependencies: - dependency-name: scale-info dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Add missing markdown code block delimiter (#5555) * bitfield-signing: remove util::jobs usage (#5523) * Switch to pooling copy-on-write instantiation strategy for WASM (companion for Substrate#11232) (#5337) * Switch to pooling copy-on-write instantiation strategy for WASM * Fix compilation of `polkadot-test-service` * Update comments * Move `max_memory_size` to `Semantics` * Rename `WasmInstantiationStrategy` to `WasmtimeInstantiationStrategy` * Update a safety comment * update lockfile for {"substrate"} Co-authored-by: parity-processbot <> * Fix build Co-authored-by: Vsevolod Stakhov <vsevolod.stakhov@parity.io> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Malte Kliemann <mail@maltekliemann.com> Co-authored-by: Chris Sosnin <48099298+slumber@users.noreply.github.com> Co-authored-by: Koute <koute@users.noreply.github.com>
68 lines
2.4 KiB
Rust
68 lines
2.4 KiB
Rust
// Copyright 2022 Parity Technologies (UK) Ltd.
|
|
// This file is part of Polkadot.
|
|
|
|
// Polkadot is free software: you can redistribute it and/or modify
|
|
// it under the terms of the GNU General Public License as published by
|
|
// the Free Software Foundation, either version 3 of the License, or
|
|
// (at your option) any later version.
|
|
|
|
// Polkadot is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU General Public License for more details.
|
|
|
|
// You should have received a copy of the GNU General Public License
|
|
// along with Polkadot. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
use proc_macro2::TokenStream;
|
|
use syn::{parse2, Result};
|
|
|
|
use super::{parse::*, *};
|
|
|
|
pub(crate) fn impl_orchestra_gen(
|
|
attr: TokenStream,
|
|
orig: TokenStream,
|
|
) -> Result<proc_macro2::TokenStream> {
|
|
let args: OrchestraAttrArgs = parse2(attr)?;
|
|
let message_wrapper = args.message_wrapper;
|
|
|
|
let of: OrchestraGuts = parse2(orig)?;
|
|
|
|
let support_crate = support_crate().expect("The crate this macro is run for, includes the proc-macro support as dependency, otherwise it could not be run in the first place. qed");
|
|
let info = OrchestraInfo {
|
|
support_crate,
|
|
subsystems: of.subsystems,
|
|
baggage: of.baggage,
|
|
orchestra_name: of.name,
|
|
message_wrapper,
|
|
message_channel_capacity: args.message_channel_capacity,
|
|
signal_channel_capacity: args.signal_channel_capacity,
|
|
extern_event_ty: args.extern_event_ty,
|
|
extern_signal_ty: args.extern_signal_ty,
|
|
extern_error_ty: args.extern_error_ty,
|
|
outgoing_ty: args.outgoing_ty,
|
|
};
|
|
|
|
let mut additive = impl_orchestra_struct(&info);
|
|
additive.extend(impl_builder(&info));
|
|
|
|
additive.extend(impl_orchestrated_subsystem(&info));
|
|
additive.extend(impl_channels_out_struct(&info));
|
|
additive.extend(impl_subsystem_types_all(&info)?);
|
|
|
|
additive.extend(impl_message_wrapper_enum(&info)?);
|
|
|
|
let ts = expander::Expander::new("orchestra-expansion")
|
|
.add_comment("Generated orchestra code by `#[orchestra(..)]`".to_owned())
|
|
.dry(!cfg!(feature = "expand"))
|
|
.verbose(true)
|
|
// once all our needed format options are available on stable
|
|
// we should enabled this again, until then too many warnings
|
|
// are generated
|
|
// .fmt(expander::Edition::_2021)
|
|
.write_to_out_dir(additive)
|
|
.expect("Expander does not fail due to IO in OUT_DIR. qed");
|
|
|
|
Ok(ts)
|
|
}
|