@@ -694,7 +694,7 @@ function manifest_uuid_path(env::String, pkg::PkgId)::Union{Nothing,String,Missi
694
694
# if `pkg` matches the project, return the project itself
695
695
return project_file_path (project_file, pkg. name)
696
696
end
697
- mby_ext = project_file_ext_path (project_file, pkg. name )
697
+ mby_ext = project_file_ext_path (project_file, pkg)
698
698
mby_ext === nothing || return mby_ext
699
699
# look for manifest file and `where` stanza
700
700
return explicit_manifest_uuid_path (project_file, pkg)
@@ -709,7 +709,7 @@ function manifest_uuid_path(env::String, pkg::PkgId)::Union{Nothing,String,Missi
709
709
if parent_project_file != = nothing
710
710
parentproj = project_file_name_uuid (parent_project_file, parentid. name)
711
711
if parentproj == parentid
712
- mby_ext = project_file_ext_path (parent_project_file, pkg. name )
712
+ mby_ext = project_file_ext_path (parent_project_file, pkg)
713
713
mby_ext === nothing || return mby_ext
714
714
end
715
715
end
@@ -725,13 +725,13 @@ function find_ext_path(project_path::String, extname::String)
725
725
return joinpath (project_path, " ext" , extname * " .jl" )
726
726
end
727
727
728
- function project_file_ext_path (project_file:: String , name :: String )
728
+ function project_file_ext_path (project_file:: String , ext :: PkgId )
729
729
d = parsed_toml (project_file)
730
730
p = dirname (project_file)
731
731
exts = get (d, " extensions" , nothing ):: Union{Dict{String, Any}, Nothing}
732
732
if exts != = nothing
733
- if name in keys (exts)
734
- return find_ext_path (p, name)
733
+ if ext . name in keys (exts) && ext . uuid == uuid5 ( UUID (d[ " uuid " ] :: String ), ext . name )
734
+ return find_ext_path (p, ext . name)
735
735
end
736
736
end
737
737
return nothing
@@ -834,9 +834,7 @@ function implicit_env_project_file_extension(dir::String, ext::PkgId)
834
834
for pkg in readdir (dir; join= true )
835
835
project_file = env_project_file (pkg)
836
836
project_file isa String || continue
837
- proj = project_file_name_uuid (project_file, " " )
838
- uuid5 (proj. uuid, ext. name) == ext. uuid || continue
839
- path = project_file_ext_path (project_file, ext. name)
837
+ path = project_file_ext_path (project_file, ext)
840
838
if path != = nothing
841
839
return path, project_file
842
840
end
0 commit comments