Closed timsearle closed 2 years ago
@timsearle Please commit Packages.resolved
to your repository to lock in specific version of the dependencies. Changing it to .exact
is not possible as the app can include multiple extensions depending on aepsdk-core-ios
.
Apologies - I referenced the wrong package, I meant to reference this one:
We do have our Package.resolved committed, but Xcode's integration with SPM seems to often re-generate/update it with these downstream package resolutions to higher versions.
@timsearle We have multiple extensions depending on aepsdk-rulesengine-ios.git
. Changing it to .exact
will force us to make multiple releases with any update to rules engine.
I am going to close this one for now but let us know if the behaviour remains the same with Xcode 14.
Expected Behaviour
All dependencies for a given version of the Target package are pinned to exact versions
Actual Behaviour
https://github.com/adobe/aepsdk-rulesengine-ios.git is set to
upToNextMajor
inPackage.swift
- this means SPM in Xcode is more likely to regularly re-resolve packages and can mean what gets built on CI is different to what has been built locally.Sample Code that illustrates the problem
https://github.com/adobe/aepsdk-target-ios/blob/d78737f8fc24965d385ced2efd2ba9fabb22348b/Package.swift#L23
Change to: