mod banner;
mod cli;
pub mod commands;
pub mod generator;
pub mod generators;
pub mod project_generator;
pub mod registry;
pub mod templates;
pub use cli::run;
pub const TEMPLATE_WORKSPACE_PATH: &str = env!("DOIDO_GENERATOR_TEMPLATE_WORKSPACE_PATH");
pub const DOIDO_VERSION: &str = env!("CARGO_PKG_VERSION");
pub const TEMPLATE_USE_PATH_DEPS: bool = {
let flag = env!("DOIDO_GENERATOR_USE_PATH_DEPS").as_bytes();
flag.len() == 1 && flag[0] == b'1'
};
pub use generator::{GeneratedFile, Generator};
pub use generators::{
channel::ChannelGenerator, controller::ControllerGenerator, generator_gen::GeneratorGenerator,
job::JobGenerator, mailer::MailerGenerator, migration::MigrationGenerator,
model::ModelGenerator, new::ProjectGenerator, resource::ResourceGenerator,
scaffold::ScaffoldGenerator, storage_adapter::StorageAdapterGenerator,
storage_install::StorageInstallGenerator, templates_gen::TemplatesGenerator,
};
pub use registry::GeneratorRegistry;
pub fn default_registry() -> GeneratorRegistry {
let mut reg = GeneratorRegistry::new();
reg.register(Box::new(ControllerGenerator));
reg.register(Box::new(ModelGenerator));
reg.register(Box::new(MigrationGenerator));
reg.register(Box::new(JobGenerator));
reg.register(Box::new(MailerGenerator));
reg.register(Box::new(ChannelGenerator));
reg.register(Box::new(ScaffoldGenerator));
reg.register(Box::new(ResourceGenerator));
reg.register(Box::new(StorageInstallGenerator));
reg.register(Box::new(StorageAdapterGenerator));
reg.register(Box::new(ProjectGenerator));
reg.register(Box::new(TemplatesGenerator));
reg.register(Box::new(GeneratorGenerator));
reg.register(Box::new(crate::generators::locale::LocaleGenerator));
reg
}