feat: empty manager check

This commit is contained in:
YuKun Liu committed 2022-09-21 22:36:12 -07:00
1 parent 37ef7c3ff9
commit f47d2d3d30
2 files changed
+23 -4

No files matched your search

+5 -1
View File
@@ -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
View File
@@ -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()?;