feat: empty manager check
This commit is contained in:
1 parent
37ef7c3ff9
commit
f47d2d3d30
2 files changed
+23
-4
No files matched your search
+5
-1
@@ -7,10 +7,14 @@ async fn main() -> Result<()> {
|
||||
let args = Cli::parse();
|
||||
set_up_logging();
|
||||
|
||||
let _ = PluginManager::init(&PluginConfig {
|
||||
let plugin_state = PluginManager::init(&PluginConfig {
|
||||
available: true,
|
||||
required: vec![],
|
||||
});
|
||||
if !plugin_state {
|
||||
log::error!("🚫 Plugin system initialization failed");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
match args.action {
|
||||
Commands::Translate(opts) => {
|
||||
|
||||
+18
-3
@@ -38,9 +38,6 @@ pub struct PluginManager;
|
||||
|
||||
impl PluginManager {
|
||||
pub fn init(config: &PluginConfig) -> bool {
|
||||
if !config.available {
|
||||
return false;
|
||||
}
|
||||
|
||||
let lua = if let Ok(v) = LUA.lock() {
|
||||
v
|
||||
@@ -48,6 +45,12 @@ impl PluginManager {
|
||||
return false;
|
||||
};
|
||||
|
||||
if !config.available {
|
||||
// // if plugin system is available, just set manager to nil.
|
||||
// lua.globals().set("manager", mlua::Value::Nil).unwrap();
|
||||
return true;
|
||||
}
|
||||
|
||||
let manager = lua.create_table().unwrap();
|
||||
let plugin_dir = Self::init_plugin_dir();
|
||||
|
||||
@@ -136,6 +139,9 @@ impl PluginManager {
|
||||
|
||||
let lua = LUA.lock().unwrap();
|
||||
|
||||
if !lua.globals().contains_key("manager")? {
|
||||
return Ok(());
|
||||
}
|
||||
let manager = lua.globals().get::<_, Table>("manager")?;
|
||||
|
||||
let args = lua.create_table()?;
|
||||
@@ -157,6 +163,9 @@ impl PluginManager {
|
||||
pub fn on_build_finish(crate_config: &CrateConfig, platform: &str) -> anyhow::Result<()> {
|
||||
let lua = LUA.lock().unwrap();
|
||||
|
||||
if !lua.globals().contains_key("manager")? {
|
||||
return Ok(());
|
||||
}
|
||||
let manager = lua.globals().get::<_, Table>("manager")?;
|
||||
|
||||
let args = lua.create_table()?;
|
||||
@@ -178,6 +187,9 @@ impl PluginManager {
|
||||
pub fn on_serve_start(crate_config: &CrateConfig) -> anyhow::Result<()> {
|
||||
let lua = LUA.lock().unwrap();
|
||||
|
||||
if !lua.globals().contains_key("manager")? {
|
||||
return Ok(());
|
||||
}
|
||||
let manager = lua.globals().get::<_, Table>("manager")?;
|
||||
|
||||
let args = lua.create_table()?;
|
||||
@@ -219,6 +231,9 @@ impl PluginManager {
|
||||
pub fn on_serve_shutdown(crate_config: &CrateConfig) -> anyhow::Result<()> {
|
||||
let lua = LUA.lock().unwrap();
|
||||
|
||||
if !lua.globals().contains_key("manager")? {
|
||||
return Ok(());
|
||||
}
|
||||
let manager = lua.globals().get::<_, Table>("manager")?;
|
||||
|
||||
let args = lua.create_table()?;
|
||||
|
||||
Reference in new issue
Block a user