Skip to content

Commit 02b41c4

Browse files
committed
trimming: Locate package modules by PkgId
1 parent c93dd2d commit 02b41c4

File tree

1 file changed

+24
-13
lines changed

1 file changed

+24
-13
lines changed

contrib/juliac-buildscript.jl

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -205,14 +205,11 @@ let mod = Base.include(Base.__toplevel__, inputfile)
205205
end
206206

207207
# Additional method patches depending on whether user code loads certain stdlibs
208-
let loaded = Base.loaded_modules_array()
209-
function find_loaded_module(name)
210-
idx = findfirst((m) -> Symbol(m) === name, loaded)
211-
idx === nothing && return nothing
212-
return loaded[idx]
213-
end
208+
let
209+
find_loaded_root_module(key::Base.PkgId) = Base.maybe_root_module(key)
214210

215-
SparseArrays = find_loaded_module(:SparseArrays)
211+
SparseArrays = find_loaded_root_module(Base.PkgId(
212+
Base.UUID("2f01184e-e22b-5df5-ae63-d93ebab69eaf"), "SparseArrays"))
216213
if SparseArrays !== nothing
217214
@eval SparseArrays.CHOLMOD begin
218215
function __init__()
@@ -228,10 +225,20 @@ let loaded = Base.loaded_modules_array()
228225
end
229226
end
230227

231-
Artifacts = find_loaded_module(:Artifacts)
228+
Artifacts = find_loaded_root_module(Base.PkgId(
229+
Base.UUID("56f22d72-fd6d-98f1-02f0-08ddc0907c33"), "Artifacts"))
232230
if Artifacts !== nothing
233231
@eval Artifacts begin
234-
function _artifact_str(__module__, artifacts_toml, name, path_tail, artifact_dict, hash, platform, _::Val{lazyartifacts}) where lazyartifacts
232+
function _artifact_str(
233+
__module__,
234+
artifacts_toml,
235+
name,
236+
path_tail,
237+
artifact_dict,
238+
hash,
239+
platform,
240+
_::Val{LazyArtifacts}
241+
) where LazyArtifacts
235242
# If the artifact exists, we're in the happy path and we can immediately
236243
# return the path to the artifact:
237244
dirs = artifacts_dirs(bytes2hex(hash.bytes))
@@ -245,28 +252,32 @@ let loaded = Base.loaded_modules_array()
245252
end
246253
end
247254

248-
Pkg = find_loaded_module(:Pkg)
255+
Pkg = find_loaded_root_module(Base.PkgId(
256+
Base.UUID("44cfe95a-1eb2-52ea-b672-e2afdf69b78f"), "Pkg"))
249257
if Pkg !== nothing
250258
@eval Pkg begin
251259
__init__() = rand() #TODO, methods that do nothing don't get codegened
252260
end
253261
end
254262

255-
StyledStrings = find_loaded_module(:StyledStrings)
263+
StyledStrings = find_loaded_root_module(Base.PkgId(
264+
Base.UUID("f489334b-da3d-4c2e-b8f0-e476e12c162b"), "StyledStrings"))
256265
if StyledStrings !== nothing
257266
@eval StyledStrings begin
258267
__init__() = rand()
259268
end
260269
end
261270

262-
Markdown = find_loaded_module(:Markdown)
271+
Markdown = find_loaded_root_module(Base.PkgId(
272+
Base.UUID("d6f4376e-aef5-505a-96c1-9c027394607a"), "Markdown"))
263273
if Markdown !== nothing
264274
@eval Markdown begin
265275
__init__() = rand()
266276
end
267277
end
268278

269-
JuliaSyntaxHighlighting = find_loaded_module(:JuliaSyntaxHighlighting)
279+
JuliaSyntaxHighlighting = find_loaded_root_module(Base.PkgId(
280+
Base.UUID("ac6e5ff7-fb65-4e79-a425-ec3bc9c03011"), "JuliaSyntaxHighlighting"))
270281
if JuliaSyntaxHighlighting !== nothing
271282
@eval JuliaSyntaxHighlighting begin
272283
__init__() = rand()

0 commit comments

Comments
 (0)