Skip to content

Upgrading

Marko Justinek edited this page May 12, 2021 · 20 revisions

Changes in 0.4

Dropping Rust dependency. MockServer was moved into a separate project dependency PactSwiftMockServer and is exposed as a XCFramework in PactSwiftMockServer-Dist.

This means there is no need to make changes to the build process in the Xcode project settings.

SPM

  1. Remove the Build Phase that builds the libpact_mock_server.a binary using ./Scripts/BuildPhases/build-spm-dependency script.
  2. Remove $BUILD_DIR/../../SourcePackages/checkouts/.. entry for Library Search Paths in Build Settings.
  3. Optional: Remove cargo and rustup from PATH

Carthage

PactSwift 0.4.0 migrated to XCFrameworks.

  1. Delete your Carthage/Build folder to remove any existing framework bundles.
  2. Build new XCFrameworks by running carthage build --use-xcframeworks. Any other arguments you build with can be provided like normal.
  3. Remove references to the old frameworks in each of your targets:
    • Delete references to Carthage frameworks from the target's Frameworks, Libraries, and Embedded Content section and/or its Link Binary with Libraries build phase.
    • Delete references to Carthage frameworks from any Copy Files build phases.
    • Delete the target's carthage copy-frameworks build phase, if present.
  4. Add references to XCFrameworks in each of your targets:
    • For an application test target: In the Build Phases settings tab, in the Link Binary With Libraries build phase, add the PactSwift.xcframework from the Carthage/Build folder on disk.
  5. Remove $(FRAMEWORK_SEARCH_PATHS) entry for Runpath Search Paths in Build Settings for your test target.
Clone this wiki locally