Add version information to lua module

pull/96/head
Chip Senkbeil 3 years ago
parent f3fc15c197
commit 9f5af13c86
No known key found for this signature in database
GPG Key ID: 35EF1F8EC72A4131

@ -23,10 +23,36 @@ mod utils;
fn distant_lua(lua: &Lua) -> LuaResult<LuaTable> {
let exports = lua.create_table()?;
exports.set("PENDING", utils::pending(lua)?)?;
// Provide a static pending type used when consumer wants to use async functions
// directly without wrapping them with a scheduler
exports.set("pending", utils::pending(lua)?)?;
// API modules available for users
exports.set("log", log::make_log_tbl(lua)?)?;
exports.set("session", session::make_session_tbl(lua)?)?;
exports.set("utils", utils::make_utils_tbl(lua)?)?;
exports.set("version", make_version_tbl(lua)?)?;
Ok(exports)
}
macro_rules! set_nonempty_env {
($tbl:ident, $key:literal, $env_key:literal) => {{
let value = env!($env_key);
if !value.is_empty() {
$tbl.set($key, value)?;
}
}};
}
fn make_version_tbl(lua: &Lua) -> LuaResult<LuaTable> {
let tbl = lua.create_table()?;
set_nonempty_env!(tbl, "full", "CARGO_PKG_VERSION");
set_nonempty_env!(tbl, "major", "CARGO_PKG_VERSION_MAJOR");
set_nonempty_env!(tbl, "minor", "CARGO_PKG_VERSION_MINOR");
set_nonempty_env!(tbl, "patch", "CARGO_PKG_VERSION_PATCH");
set_nonempty_env!(tbl, "pre", "CARGO_PKG_VERSION_PRE");
Ok(tbl)
}

Loading…
Cancel
Save