Skip to content

Commit 8905130

Browse files
[Runner] Changed manifest updating to Pkg project API
1 parent ef6dd38 commit 8905130

File tree

2 files changed

+27
-16
lines changed

2 files changed

+27
-16
lines changed

.vscode/settings.json

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"julia.environmentPath": "/Users/alexander.carter/repos/other/TestReports.jl"
3+
}

src/runner.jl

+24-16
Original file line numberDiff line numberDiff line change
@@ -78,33 +78,41 @@ from the parsed `manifest` provided.
7878
function make_testreports_environment(manifest)
7979
all_deps = get_deps(manifest, "TestReports")
8080
push!(all_deps, "TestReports")
81+
82+
testreportsenv = mktempdir()
83+
84+
# Create project with Test and TestReports dependencies
85+
proj = Pkg.Types.Project()
86+
if VERSION >= v"1.7.0"
87+
test_uuid = manifest["deps"]["Test"][1]["uuid"]
88+
testreports_uuid = manifest["deps"]["TestReports"][1]["uuid"]
89+
else
90+
test_uuid = manifest["Test"][1]["uuid"]
91+
testreports_uuid = manifest["TestReports"][1]["uuid"]
92+
end
93+
proj.deps = Dict(
94+
"Test" => Base.UUID(test_uuid),
95+
"TestReports" => Base.UUID(testreports_uuid)
96+
)
97+
98+
# Write project file
99+
Pkg.Types.write_project(proj, joinpath(testreportsenv, "Project.toml"))
100+
101+
# Create manifest with all dependencies
81102
if VERSION >= v"1.7.0"
82103
new_manifest = Dict{String, Any}()
83104
new_manifest["deps"] = Dict(pkg => manifest["deps"][pkg] for pkg in all_deps)
84105
new_manifest["julia_version"] = manifest["julia_version"]
85106
new_manifest["manifest_format"] = manifest["manifest_format"]
86-
new_project = Dict(
87-
"deps" => Dict(
88-
"Test" => new_manifest["deps"]["Test"][1]["uuid"],
89-
"TestReports" => new_manifest["deps"]["TestReports"][1]["uuid"]
90-
)
91-
)
92107
else
93108
new_manifest = Dict(pkg => manifest[pkg] for pkg in all_deps)
94-
new_project = Dict(
95-
"deps" => Dict(
96-
"Test" => new_manifest["Test"][1]["uuid"],
97-
"TestReports" => new_manifest["TestReports"][1]["uuid"]
98-
)
99-
)
100-
end
101-
testreportsenv = mktempdir()
102-
open(joinpath(testreportsenv, "Project.toml"), "w") do io
103-
Pkg.TOML.print(io, new_project)
104109
end
110+
111+
# Write manifest file
105112
open(joinpath(testreportsenv, "Manifest.toml"), "w") do io
106113
Pkg.TOML.print(io, new_manifest, sorted=true)
107114
end
115+
108116
return testreportsenv
109117
end
110118

0 commit comments

Comments
 (0)