~repos /rust-embed
git clone https://pyrossh.dev/repos/rust-embed.git
rust macro which loads files into the rust binary at compile time during release and loads the file from the fs during dev.
3ce5d7bd
—
pyros2097 7 years ago
make plugin again
- Cargo.lock +1 -1
- Cargo.toml +2 -2
- src/lib.rs +17 -0
Cargo.lock
CHANGED
|
@@ -13,7 +13,7 @@ dependencies = [
|
|
|
13
13
|
|
|
14
14
|
[[package]]
|
|
15
15
|
name = "rust-embed"
|
|
16
|
-
version = "0.3.
|
|
16
|
+
version = "0.3.4"
|
|
17
17
|
dependencies = [
|
|
18
18
|
"log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
19
19
|
"walkdir 2.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
Cargo.toml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "rust-embed"
|
|
3
|
-
version = "0.3.
|
|
3
|
+
version = "0.3.4"
|
|
4
4
|
description = "Rust Marco which loads files into the rust binary at compile time during release and loads the file from the fs during dev"
|
|
5
5
|
readme = "readme.md"
|
|
6
6
|
documentation = "https://docs.rs/rust-embed"
|
|
@@ -11,7 +11,7 @@ categories = ["web-programming::http-server"]
|
|
|
11
11
|
authors = ["pyros2097 <pyros2097@gmail.com>"]
|
|
12
12
|
|
|
13
13
|
[lib]
|
|
14
|
-
|
|
14
|
+
plugin = true
|
|
15
15
|
|
|
16
16
|
[dependencies]
|
|
17
17
|
log = "0.4"
|
src/lib.rs
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
#![crate_type = "dylib"]
|
|
2
|
+
#![feature(plugin_registrar)]
|
|
3
|
+
|
|
1
4
|
#[macro_use]
|
|
2
5
|
extern crate log;
|
|
3
6
|
extern crate walkdir;
|
|
@@ -67,6 +70,20 @@ macro_rules! embed {
|
|
|
67
70
|
($x:expr) => ( ::generate_assets($x) )
|
|
68
71
|
}
|
|
69
72
|
|
|
73
|
+
macro_rules! register_macros {
|
|
74
|
+
($reg:expr, $($n:expr => $f:ident),+) => (
|
|
75
|
+
$($reg.register_macro($n, macros::$f);)+
|
|
76
|
+
)
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/// Compiler hook for Rust to register plugins.
|
|
80
|
+
#[plugin_registrar]
|
|
81
|
+
pub fn plugin_registrar(reg: &mut Registry) {
|
|
82
|
+
register_macros!(reg,
|
|
83
|
+
"embeb" => embed,
|
|
84
|
+
);
|
|
85
|
+
}
|
|
86
|
+
|
|
70
87
|
#[cfg(test)]
|
|
71
88
|
mod tests {
|
|
72
89
|
#[test]
|