Skip to content

Commit 8d7c4cc

Browse files
committed
preload metadata at compilation time
1 parent f1901eb commit 8d7c4cc

File tree

2 files changed

+21
-8
lines changed

2 files changed

+21
-8
lines changed

src/Dash.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,10 +101,10 @@ function build_info()
101101
end
102102

103103
@place_embedded_components
104-
104+
const _metadata = load_all_metadata()
105105
function __init__()
106-
setup_renderer_resources()
107-
setup_embeded_components_resources()
106+
setup_renderer_resources()
107+
setup_embeded_components_resources()
108108
end
109109

110110

src/init/resources.jl

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ dash_module_resource_pkg(meta; resource_path, version) = ResourcePkg(
3030
)
3131

3232
function setup_renderer_resources()
33-
renderer_meta = load_meta("dash_renderer")
33+
renderer_meta = _metadata.dash_renderer
3434
renderer_resource_path = joinpath(artifact"dash_resources", "dash_renderer_deps")
3535
DashBase.main_registry().dash_dependency = (
3636
dev = ResourcePkg(
@@ -52,8 +52,21 @@ function setup_renderer_resources()
5252
)
5353
end
5454

55-
function setup_module_resources(name)
56-
meta = load_meta(name)
55+
function load_all_metadata()
56+
dash_meta = load_meta("dash")
57+
renderer_meta = load_meta("dash_renderer")
58+
components = Dict{Symbol, Any}()
59+
for comp in dash_meta["embedded_components"]
60+
components[Symbol(comp)] = filter(v->v.first!="components", load_meta(comp))
61+
end
62+
return (
63+
dash = dash_meta,
64+
dash_renderer = renderer_meta,
65+
embedded_components = (;components...)
66+
)
67+
end
68+
69+
function setup_module_resources(name, meta)
5770
path = deps_path(name)
5871
version = meta["version"]
5972
for dep in meta["deps"]
@@ -67,8 +80,8 @@ function setup_module_resources(name)
6780
end
6881
end
6982
function setup_embeded_components_resources()
70-
dash_meta = load_meta("dash")
83+
dash_meta = _metadata.dash
7184
for c in dash_meta["embedded_components"]
72-
setup_module_resources(c)
85+
setup_module_resources(c, _metadata.embedded_components[Symbol(c)])
7386
end
7487
end

0 commit comments

Comments
 (0)