From 166cee2c348c98a726a650ac326bf2128b399e0b Mon Sep 17 00:00:00 2001 From: Chris de Graaf Date: Fri, 9 Nov 2018 16:44:58 -0600 Subject: [PATCH] Add the package to the current env, not the global one --- Manifest.toml | 12 ++++++------ src/generate.jl | 5 +++-- test/tests.jl | 7 +++++-- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/Manifest.toml b/Manifest.toml index de9ec39..1083e59 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -36,10 +36,10 @@ deps = ["Base64"] uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" [[Mustache]] -deps = ["Pkg", "Tables", "Test"] -git-tree-sha1 = "1cee2f530502aa2357724e7b19af3239b2e7f6b7" +deps = ["Tables", "Test"] +git-tree-sha1 = "536782063c50421b05d1369bbd09fced13624361" uuid = "ffc61752-8dc7-55ee-8c37-f3e9cdd09e70" -version = "0.5.5" +version = "0.5.7" [[Pkg]] deps = ["Dates", "LibGit2", "Markdown", "Printf", "REPL", "Random", "SHA", "UUIDs"] @@ -73,10 +73,10 @@ uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" uuid = "6462fe0b-24de-5631-8697-dd941f90decc" [[Tables]] -deps = ["Pkg", "Requires", "Test"] -git-tree-sha1 = "7b7e95a34c2c2504f1403aa9005399e239f461b9" +deps = ["Requires", "Test"] +git-tree-sha1 = "c7fb447deab835fa70ce6717e78c68b0f466a42c" uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" -version = "0.1.9" +version = "0.1.11" [[Test]] deps = ["Distributed", "InteractiveUtils", "Logging", "Random"] diff --git a/src/generate.jl b/src/generate.jl index edaa3d5..ab46da4 100644 --- a/src/generate.jl +++ b/src/generate.jl @@ -63,7 +63,7 @@ function generate( LibGit2.commit(repo, "Files generated by PkgTemplates") @info "Committed $(length(files)) files/directories: $(join(files, ", "))" - # Add the new package to the global environment. + # Add the new package to the current environment. Pkg.develop(PackageSpec(path=pkg_dir)) if length(collect(LibGit2.GitBranchIter(repo))) > 1 @@ -113,6 +113,7 @@ Returns an array of generated file/directory names. """ function gen_tests(pkg_dir::AbstractString, t::Template) # TODO: Silence Pkg for this section? Adding and removing Test creates a lot of noise. + proj = Base.current_project() try Pkg.activate(pkg_dir) Pkg.add("Test") @@ -133,7 +134,7 @@ function gen_tests(pkg_dir::AbstractString, t::Template) gen_file(joinpath(pkg_dir, "Project.toml"), toml) Pkg.update() # Regenerate Manifest.toml (this cleans up Project.toml too). finally - Pkg.activate() + proj === nothing ? Pkg.activate() : Pkg.activate(proj) end pkg = basename(pkg_dir) diff --git a/test/tests.jl b/test/tests.jl index 2ec7b70..6c0a20a 100644 --- a/test/tests.jl +++ b/test/tests.jl @@ -320,12 +320,15 @@ end @test findall("Manifest.toml", idx) !== nothing rm(pkg_dir; recursive=true) - # Check that the created package ends up developed in the global environment. + # Check that the created package ends up developed in the current environment. + temp_dir = mktempdir() + Pkg.activate(temp_dir) t = Template(; user=me) generate(test_pkg, t; gitconfig=gitconfig) - Pkg.activate() @test haskey(Pkg.installed(), test_pkg) rm(pkg_dir; recursive=true) + Pkg.activate() + rm(temp_dir; recursive=true) end @testset "Version floor" begin