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    helper::HelperGenerator, job::JobGenerator, mailer::MailerGenerator,
27    migration::MigrationGenerator, model::ModelGenerator, new::ProjectGenerator,
28    resource::ResourceGenerator, scaffold::ScaffoldGenerator,
29    storage_adapter::StorageAdapterGenerator, storage_install::StorageInstallGenerator,
30    templates_gen::TemplatesGenerator,
31};
32pub use registry::GeneratorRegistry;
33
34pub fn default_registry() -> GeneratorRegistry {
35    let mut reg = GeneratorRegistry::new();
36    reg.register(Box::new(ControllerGenerator));
37    reg.register(Box::new(HelperGenerator));
38    reg.register(Box::new(ModelGenerator));
39    reg.register(Box::new(MigrationGenerator));
40    reg.register(Box::new(JobGenerator));
41    reg.register(Box::new(MailerGenerator));
42    reg.register(Box::new(ChannelGenerator));
43    reg.register(Box::new(ScaffoldGenerator));
44    reg.register(Box::new(ResourceGenerator));
45    reg.register(Box::new(StorageInstallGenerator));
46    reg.register(Box::new(StorageAdapterGenerator));
47    reg.register(Box::new(ProjectGenerator));
48    reg.register(Box::new(TemplatesGenerator));
49    reg.register(Box::new(GeneratorGenerator));
50    reg.register(Box::new(crate::generators::locale::LocaleGenerator));
51    reg
52}