Open dougboberg opened 1 month ago
The intention behind the versioning scheme for opencv-spm was to closely align with OpenCV’s version numbers. For example, if OpenCV is at version 4.10.0, opencv-spm should ideally also start with 4.10.0. If I were to move to something like 4.10.1, it could create confusion if OpenCV itself releases a 4.10.1.
As a result, I opted for the 4.10.0+X format, but this appears to be incompatible with Xcode’s package resolver, which seems to expect strict X.Y.Z versioning.
In your case, I would recommend using the commit hash or a specific branch to reference the package. This should bypass the versioning issue with the resolver.
Previously I was able to successfully use this opencv-spm with version 4.10.0. My project is configured to use the "Exact Version" with a value of "4.10.0"
Today I updated my projects dependencies including this opencv-spm package and received errors for this package:
I cleared all of Xcode's caches and tried again with no luck. Then in Terminal I ran
xcodebuild -resolvePackageDependencies
and received a similar error message:Checking on this project's Releases page I see 4.10.0+4 with hash
dd26dba92773b39488768888c107e5ef6b0e7c1b
and 4.10.0 with hashed61dc59456dce41d36de0817a89e367c1bf8849
https://github.com/yeatse/opencv-spm/releasesIt appears that the resolver is confused between the newest "4.10.0+4" and "4.10.0" and failing when the commit hash does not match.
I have tried adding "+4" to my "Exact Version" setting but that did not help. I tried changing Exact Version to "Up to Next Major Version" so it shows
< 5.0.0
but that did not help either.My guess is that the resolver is limited to a strict
X.Y.Z
format for versions.I realize this may be a problem with the SPM resolver more than it is a problem with this project. I am reporting this scenario in case you receive other users with a similar issue.