From 6158009803ae83610d5e994de1a47291502478d8 Mon Sep 17 00:00:00 2001 From: Kristoffer Carlsson Date: Thu, 25 Apr 2024 14:46:29 +0200 Subject: [PATCH] do not precompile full env on `using` callback from REPL (#3876) (cherry picked from commit 20ceec9b8e9174f672debc1591cedc0e09f403ae) --- ext/REPLExt/REPLExt.jl | 4 ++-- src/API.jl | 4 ++-- src/Operations.jl | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ext/REPLExt/REPLExt.jl b/ext/REPLExt/REPLExt.jl index 572bcb11a4..d6bfecc9a6 100644 --- a/ext/REPLExt/REPLExt.jl +++ b/ext/REPLExt/REPLExt.jl @@ -243,7 +243,7 @@ function try_prompt_pkg_add(pkgs::Vector{Symbol}) resp = strip(resp) lower_resp = lowercase(resp) if lower_resp in ["y", "yes"] - API.add(string.(available_pkgs)) + API.add(string.(available_pkgs); allow_autoprecomp=false) elseif lower_resp in ["o"] editable_envs = filter(v -> v != "@stdlib", LOAD_PATH) option_list = String[] @@ -281,7 +281,7 @@ function try_prompt_pkg_add(pkgs::Vector{Symbol}) end choice == -1 && return false API.activate(shown_envs[choice]) do - API.add(string.(available_pkgs)) + API.add(string.(available_pkgs); allow_autoprecomp=false) end elseif (lower_resp in ["n"]) return false diff --git a/src/API.jl b/src/API.jl index 6a3b74be9f..f6b1ab357d 100644 --- a/src/API.jl +++ b/src/API.jl @@ -254,7 +254,7 @@ function develop(ctx::Context, pkgs::Vector{PackageSpec}; shared::Bool=true, end function add(ctx::Context, pkgs::Vector{PackageSpec}; preserve::PreserveLevel=Operations.default_preserve(), - platform::AbstractPlatform=HostPlatform(), target::Symbol=:deps, kwargs...) + platform::AbstractPlatform=HostPlatform(), target::Symbol=:deps, allow_autoprecomp::Bool=true, kwargs...) require_not_empty(pkgs, :add) Context!(ctx; kwargs...) @@ -303,7 +303,7 @@ function add(ctx::Context, pkgs::Vector{PackageSpec}; preserve::PreserveLevel=Op update_source_if_set(ctx.env.project, pkg) end - Operations.add(ctx, pkgs, new_git; preserve, platform, target) + Operations.add(ctx, pkgs, new_git; allow_autoprecomp, preserve, platform, target) return end diff --git a/src/Operations.jl b/src/Operations.jl index 9138c2fc6f..44b1371889 100644 --- a/src/Operations.jl +++ b/src/Operations.jl @@ -1398,7 +1398,7 @@ function _resolve(io::IO, env::EnvCache, registries::Vector{Registry.RegistryIns end function add(ctx::Context, pkgs::Vector{PackageSpec}, new_git=Set{UUID}(); - preserve::PreserveLevel=default_preserve(), platform::AbstractPlatform=HostPlatform(), + allow_autoprecomp::Bool=true, preserve::PreserveLevel=default_preserve(), platform::AbstractPlatform=HostPlatform(), target::Symbol=:deps) assert_can_add(ctx, pkgs) # load manifest data @@ -1449,7 +1449,7 @@ function add(ctx::Context, pkgs::Vector{PackageSpec}, new_git=Set{UUID}(); write_env(ctx.env) # write env before building show_update(ctx.env, ctx.registries; io=ctx.io) build_versions(ctx, union(new_apply, new_git)) - Pkg._auto_precompile(ctx) + allow_autoprecomp && Pkg._auto_precompile(ctx) else record_project_hash(ctx.env) write_env(ctx.env)