diff --git a/Project.toml b/Project.toml index 16d486f..711d5df 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "TestEnv" uuid = "1e6cf692-eddd-4d53-88a5-2d735e33781b" -version = "1.103.2" +version = "1.103.3" [deps] Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" diff --git a/src/julia-1.11/activate_set.jl b/src/julia-1.11/activate_set.jl index 6edb33d..fbffb3d 100644 --- a/src/julia-1.11/activate_set.jl +++ b/src/julia-1.11/activate_set.jl @@ -84,6 +84,11 @@ function activate(pkg::AbstractString=current_pkg_name(); allow_reresolve=true) @debug "Using _clean_ dep graph" end + # Now that we have set up the sandbox environment, precompile all its packages: + # (Reconnect the `io` back to the original context so the caller can see the + # precompilation progress.) + Pkg.precompile(temp_ctx; io=ctx.io, already_instantiated=true) + write_env(temp_ctx.env; update_undo=false) return Base.active_project() diff --git a/src/julia-1.11/common.jl b/src/julia-1.11/common.jl index 3e5ccf5..96fa755 100644 --- a/src/julia-1.11/common.jl +++ b/src/julia-1.11/common.jl @@ -22,7 +22,7 @@ function ctx_and_pkgspec(pkg::AbstractString) pkgspec = deepcopy(PackageSpec(pkg)) ctx = Context() isinstalled!(ctx, pkgspec) || throw(TestEnvError("$pkg not installed 👻")) - Pkg.instantiate(ctx) + Pkg.instantiate(ctx; allow_autoprecomp = false) # do precomp later within sandbox return ctx, pkgspec end diff --git a/src/julia-1.12/activate_set.jl b/src/julia-1.12/activate_set.jl index f8918bf..10a931b 100644 --- a/src/julia-1.12/activate_set.jl +++ b/src/julia-1.12/activate_set.jl @@ -84,6 +84,11 @@ function activate(pkg::AbstractString=current_pkg_name(); allow_reresolve=true) @debug "Using _clean_ dep graph" end + # Now that we have set up the sandbox environment, precompile all its packages: + # (Reconnect the `io` back to the original context so the caller can see the + # precompilation progress.) + Pkg.precompile(temp_ctx; io=ctx.io, already_instantiated=true) + write_env(temp_ctx.env; update_undo=false) return Base.active_project() diff --git a/src/julia-1.12/common.jl b/src/julia-1.12/common.jl index 4e521e9..af969ac 100644 --- a/src/julia-1.12/common.jl +++ b/src/julia-1.12/common.jl @@ -22,7 +22,7 @@ function ctx_and_pkgspec(pkg::AbstractString) pkgspec = deepcopy(PackageSpec(pkg)) ctx = Context() isinstalled!(ctx, pkgspec) || throw(TestEnvError("$pkg not installed 👻")) - Pkg.instantiate(ctx) + Pkg.instantiate(ctx; allow_autoprecomp = false) # do precomp later within sandbox return ctx, pkgspec end diff --git a/src/julia-1.13/activate_set.jl b/src/julia-1.13/activate_set.jl index f8918bf..10a931b 100644 --- a/src/julia-1.13/activate_set.jl +++ b/src/julia-1.13/activate_set.jl @@ -84,6 +84,11 @@ function activate(pkg::AbstractString=current_pkg_name(); allow_reresolve=true) @debug "Using _clean_ dep graph" end + # Now that we have set up the sandbox environment, precompile all its packages: + # (Reconnect the `io` back to the original context so the caller can see the + # precompilation progress.) + Pkg.precompile(temp_ctx; io=ctx.io, already_instantiated=true) + write_env(temp_ctx.env; update_undo=false) return Base.active_project() diff --git a/src/julia-1.13/common.jl b/src/julia-1.13/common.jl index 4e521e9..af969ac 100644 --- a/src/julia-1.13/common.jl +++ b/src/julia-1.13/common.jl @@ -22,7 +22,7 @@ function ctx_and_pkgspec(pkg::AbstractString) pkgspec = deepcopy(PackageSpec(pkg)) ctx = Context() isinstalled!(ctx, pkgspec) || throw(TestEnvError("$pkg not installed 👻")) - Pkg.instantiate(ctx) + Pkg.instantiate(ctx; allow_autoprecomp = false) # do precomp later within sandbox return ctx, pkgspec end diff --git a/src/julia-1.9/activate_set.jl b/src/julia-1.9/activate_set.jl index 20cc47f..3d107f8 100644 --- a/src/julia-1.9/activate_set.jl +++ b/src/julia-1.9/activate_set.jl @@ -69,6 +69,11 @@ function activate(pkg::AbstractString=current_pkg_name(); allow_reresolve=true) @debug "Using _clean_ dep graph" end + # Now that we have set up the sandbox environment, precompile all its packages: + # (Reconnect the `io` back to the original context so the caller can see the + # precompilation progress.) + Pkg.precompile(temp_ctx; io=ctx.io) + write_env(temp_ctx.env; update_undo=false) return Base.active_project() diff --git a/src/julia-1.9/common.jl b/src/julia-1.9/common.jl index 3e5ccf5..96fa755 100644 --- a/src/julia-1.9/common.jl +++ b/src/julia-1.9/common.jl @@ -22,7 +22,7 @@ function ctx_and_pkgspec(pkg::AbstractString) pkgspec = deepcopy(PackageSpec(pkg)) ctx = Context() isinstalled!(ctx, pkgspec) || throw(TestEnvError("$pkg not installed 👻")) - Pkg.instantiate(ctx) + Pkg.instantiate(ctx; allow_autoprecomp = false) # do precomp later within sandbox return ctx, pkgspec end