Skip to main content

doido_generators/
lib.rs

1pub mod auth_registry;
2mod banner;
3mod cli;
4pub mod commands;
5pub mod dev_workspace;
6pub mod generator;
7pub mod generators;
8pub mod new_options;
9pub mod project_auth;
10pub mod project_generator;
11pub mod registry;
12pub mod templates;
13
14// CLI entry point (merged in from the former `doido-cli` crate).
15pub use cli::run;
16
17pub use dev_workspace::DependencyMode;
18
19/// The Doido release version generated apps depend on when this binary is
20/// isolated or published. Matches `CARGO_PKG_VERSION` of this crate.
21pub const DOIDO_VERSION: &str = env!("CARGO_PKG_VERSION");
22
23pub use generator::{GeneratedFile, Generator};
24pub use generators::{
25    channel::ChannelGenerator, controller::ControllerGenerator, generator_gen::GeneratorGenerator,
26    job::JobGenerator, mailer::MailerGenerator, migration::MigrationGenerator,
27    model::ModelGenerator, new::ProjectGenerator, resource::ResourceGenerator,
28    scaffold::ScaffoldGenerator, storage_adapter::StorageAdapterGenerator,
29    storage_install::StorageInstallGenerator, templates_gen::TemplatesGenerator,
30};
31pub use registry::GeneratorRegistry;
32
33pub fn default_registry() -> GeneratorRegistry {
34    let mut reg = GeneratorRegistry::new();
35    reg.register(Box::new(ControllerGenerator));
36    reg.register(Box::new(ModelGenerator));
37    reg.register(Box::new(MigrationGenerator));
38    reg.register(Box::new(JobGenerator));
39    reg.register(Box::new(MailerGenerator));
40    reg.register(Box::new(ChannelGenerator));
41    reg.register(Box::new(ScaffoldGenerator));
42    reg.register(Box::new(ResourceGenerator));
43    reg.register(Box::new(StorageInstallGenerator));
44    reg.register(Box::new(StorageAdapterGenerator));
45    reg.register(Box::new(ProjectGenerator));
46    reg.register(Box::new(TemplatesGenerator));
47    reg.register(Box::new(GeneratorGenerator));
48    reg.register(Box::new(crate::generators::locale::LocaleGenerator));
49    reg
50}