julia> versioninfo()
Julia Version 1.0.5
Commit 3af96bcefc (2019-09-09 19:06 UTC)
Platform Info:
OS: Linux (x86_64-pc-linux-gnu)
CPU: Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-6.0.0 (ORCJIT, haswell)
I create a new package:
(Modules-1.0) pkg> generate MyPackage
Generating project MyPackage:
MyPackage/Project.toml
MyPackage/src/MyPackage.jl
(Modules-1.0) pkg> activate MyPackage
I add Test
as a dependency:
(MyPackage) pkg> add Test
Resolving package versions...
Updating `~/datascienceworkbench/lib/Modules-1.0/MyPackage/Project.toml`
[8dfed614] + Test
Updating `~/datascienceworkbench/lib/Modules-1.0/MyPackage/Manifest.toml`
[2a0f44e3] + Base64
[8ba89e20] + Distributed
[b77e0a4c] + InteractiveUtils
[8f399da3] + Libdl
[37e2e46d] + LinearAlgebra
[56ddb016] + Logging
[d6f4376e] + Markdown
[9a3f8284] + Random
[9e88b42a] + Serialization
[6462fe0b] + Sockets
[8dfed614] + Test
Next I quit and using my text editor move Test
into [extras]
to give a Project.toml like this:
name = "MyPackage"
uuid = "eb0aa806-0915-11eb-255b-a723c42b6e2c"
version = "0.1.0"
[deps]
[extras]
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
[targets]
test = ["Test"]
Now return to julia, and add another package dependency:
(Modules-1.0) pkg> activate MyPackage
(MyPackage) pkg> add JSON
Updating registry at `~/.julia/registries/General`
Updating git-repo `https://github.com/JuliaRegistries/General.git`
Resolving package versions...
Updating `~/datascienceworkbench/lib/Modules-1.0/MyPackage/Project.toml`
[682c06a0] + JSON v0.21.1
Updating `~/datascienceworkbench/lib/Modules-1.0/MyPackage/Manifest.toml`
[682c06a0] + JSON v0.21.1
[69de0a69] + Parsers v1.0.11
[2a0f44e3] - Base64
[ade2ca70] + Dates
[8ba89e20] - Distributed
[b77e0a4c] - InteractiveUtils
[8f399da3] - Libdl
[37e2e46d] - LinearAlgebra
[56ddb016] - Logging
[d6f4376e] - Markdown
[a63ad114] + Mmap
[de0858da] + Printf
[9a3f8284] - Random
[9e88b42a] - Serialization
[6462fe0b] - Sockets
[8dfed614] - Test
[4ec0a83e] + Unicode
Instead of just adding JSON
and its dependencies, it also removes Test
and its dependencies from the Manifest.toml
file.
How do I stop this from happening?