Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extension-specific "cannot merge projects" #3636

Closed
timholy opened this issue Sep 28, 2023 · 4 comments
Closed

Extension-specific "cannot merge projects" #3636

timholy opened this issue Sep 28, 2023 · 4 comments

Comments

@timholy
Copy link
Member

timholy commented Sep 28, 2023

This seems like a revival of #1585 for package extensions. I've submitted JuliaDiff/ForwardDiff.jl#667 and want to prepare a PR for IntervalArithmetic adding the extension. Note that the master branch of ForwardDiff is currently 0.11-DEV but there is no release yet of the 0.11 branch.

Here's what I have:

tim@diva:~/.julia/dev/IntervalArithmetic$ cat Project.toml
name = "IntervalArithmetic"
uuid = "d1acc4aa-44c8-5952-acd4-ba5d80a2a253"
repo = "https://github.com/JuliaIntervals/IntervalArithmetic.jl.git"
version = "0.21.1"

[deps]
CRlibm = "96374032-68de-5a5b-8d9e-752f78720389"
EnumX = "4e289a0a-7415-4d19-859d-a7e5c4648b56"
FastRounding = "fa42c844-2597-5d31-933b-ebd51ab2693f"
Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
RoundingEmulator = "5eaf0fd0-dfba-4ccb-bf02-d820a40db705"
SetRounding = "3cc68bcd-71a2-5612-b932-767ffbe40ab0"

[weakdeps]
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"

[extensions]
IntervalArithmeticForwardDiffExt = "ForwardDiff"

[compat]
CRlibm = "0.7, 0.8, 1"
EnumX = "1"
FastRounding = "0.2, 0.3"
RoundingEmulator = "0.2"
SetRounding = "0.2"
julia = "1.9"

I've also tried adding ForwardDiff = "0.11" to the [compat] but that didn't seem to help.

Then also:

tim@diva:~/.julia/dev/IntervalArithmetic$ rm Manifest.toml
rm: cannot remove 'Manifest.toml': No such file or directory
tim@diva:~/.julia/dev/IntervalArithmetic$ julia +1.10 --project=test -q
(test) pkg> st
Status `~/.julia/dev/IntervalArithmetic/test/Project.toml`
  [f6369f11] ForwardDiff v0.11.0-DEV `~/.julia/dev/ForwardDiff`
  [f27b6e38] Polynomials v4.0.4
  [90137ffa] StaticArrays v1.6.4
  [37e2e46d] LinearAlgebra
  [9a3f8284] Random
  [8dfed614] Test

This makes sure we start with a clean Manifest for the package and shows the test/Manifest has been set to the dev version of ForwardDiff.

Then:

tim@diva:~/.julia/dev/IntervalArithmetic$ julia +1.10 --project -q
(IntervalArithmetic) pkg> test
    Updating registry at `~/.julia/registries/HolyLabRegistry`
    Updating git-repo `[email protected]:HolyLab/HolyLabRegistry.git`
    Updating registry at `~/.julia/registries/General.toml`
    Updating `~/.julia/dev/IntervalArithmetic/Project.toml`
  [96374032] + CRlibm v1.0.1
  [4e289a0a] + EnumX v1.0.4
  [fa42c844] + FastRounding v0.3.1
  [5eaf0fd0] + RoundingEmulator v0.2.1
  [3cc68bcd] + SetRounding v0.2.1
    Updating `~/.julia/dev/IntervalArithmetic/Manifest.toml`
  [96374032] + CRlibm v1.0.1
  [4e289a0a] + EnumX v1.0.4
  [90fa49ef] + ErrorfreeArithmetic v0.5.2
  [fa42c844] + FastRounding v0.3.1
  [692b3bcd] + JLLWrappers v1.5.0
  [21216c6a] + Preferences v1.4.1
  [5eaf0fd0] + RoundingEmulator v0.2.1
  [3cc68bcd] + SetRounding v0.2.1
  [4e9b3aee] + CRlibm_jll v1.0.1+0
  [0dad84c5] + ArgTools v1.1.1
  [56f22d72] + Artifacts
  [2a0f44e3] + Base64
  [ade2ca70] + Dates
  [f43a241f] + Downloads v1.6.0
  [7b1f6079] + FileWatching
  [b77e0a4c] + InteractiveUtils
  [b27032c2] + LibCURL v0.6.4
  [76f85450] + LibGit2
  [8f399da3] + Libdl
  [37e2e46d] + LinearAlgebra
  [56ddb016] + Logging
  [d6f4376e] + Markdown
  [ca575930] + NetworkOptions v1.2.0
  [44cfe95a] + Pkg v1.10.0
  [de0858da] + Printf
  [3fa0cd96] + REPL
  [9a3f8284] + Random
  [ea8e919c] + SHA v0.7.0
  [9e88b42a] + Serialization
  [6462fe0b] + Sockets
  [fa267f1f] + TOML v1.0.3
  [a4e569a6] + Tar v1.10.0
  [cf7118a7] + UUIDs
  [4ec0a83e] + Unicode
  [e66e0078] + CompilerSupportLibraries_jll v1.0.5+1
  [deac9b47] + LibCURL_jll v8.0.1+1
  [29816b5a] + LibSSH2_jll v1.11.0+1
  [c8ffd9c3] + MbedTLS_jll v2.28.2+1
  [14a3606d] + MozillaCACerts_jll v2023.1.10
  [4536629a] + OpenBLAS_jll v0.3.23+2
  [83775a58] + Zlib_jll v1.2.13+1
  [8e850b90] + libblastrampoline_jll v5.8.0+1
  [8e850ede] + nghttp2_jll v1.52.0+1
  [3f19e933] + p7zip_jll v17.4.0+2
     Testing IntervalArithmetic
ERROR: can not merge projects
@timholy
Copy link
Member Author

timholy commented Sep 28, 2023

Note this only seems to happen if the package uses a test/Project.toml. I've verified that if I copy the dependencies into an [extras] section of the main Project.toml then it works.

@IanButterworth
Copy link
Member

Is this on master? I thought things improved with #3276

@timholy
Copy link
Member Author

timholy commented Sep 28, 2023

Oh sorry, this is 1.10. I can try master.

@timholy
Copy link
Member Author

timholy commented Sep 28, 2023

Seems fixed on master. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants