Skip to content

Commit

Permalink
Precompile: Improve handling of packages that are missing modules (#2579
Browse files Browse the repository at this point in the history
)

(cherry picked from commit 5104536)
  • Loading branch information
IanButterworth authored and KristofferC committed Jun 7, 2021
1 parent 9315827 commit d6c5399
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions src/API.jl
Original file line number Diff line number Diff line change
Expand Up @@ -1012,6 +1012,7 @@ function precompile(ctx::Context; internal_call::Bool=false, strict::Bool=false,

function handle_interrupt(err)
notify(interrupted_or_done)
sleep(0.2) # yield for a period to let the print loop cease first
if err isa InterruptException
lock(print_lock) do
println(io, " Interrupted: Exiting precompilation...")
Expand Down Expand Up @@ -1162,8 +1163,8 @@ function precompile(ctx::Context; internal_call::Bool=false, strict::Bool=false,
end
loaded && (n_loaded += 1)
catch err
if err isa ErrorException
failed_deps[pkg] = (strict || is_direct_dep) ? String(take!(iob)) : ""
if err isa ErrorException || (err isa ArgumentError && startswith(err.msg, "Invalid header in cache file"))
failed_deps[pkg] = (strict || is_direct_dep) ? string(sprint(showerror, err), "\n", String(take!(iob))) : ""
!fancyprint && lock(print_lock) do
println(io, string(color_string("", Base.error_color()), name))
end
Expand Down

0 comments on commit d6c5399

Please sign in to comment.