Skip to content

Commit

Permalink
Add an installation example which tests dynamic linking with SPM
Browse files Browse the repository at this point in the history
SPM builds libraries as static libraries if they're used by one target in the
project, and dynamic libraries if they're used by multiple. This means that we
can test both variations by adding a project with some frameworks which depend
on RealmSwift.
  • Loading branch information
tgoyne committed Jul 19, 2023
1 parent ef2dfc0 commit 50f69f3
Show file tree
Hide file tree
Showing 5 changed files with 794 additions and 13 deletions.
4 changes: 2 additions & 2 deletions Jenkinsfile.publish
Original file line number Diff line number Diff line change
Expand Up @@ -104,15 +104,15 @@ pipeline {
}

excludes {
// Carthage is always dynamic, while SPM is magic
// Carthage is always dynamic
exclude {
axis {
name 'linkage'
values 'static'
}
axis {
name 'method'
values 'carthage', 'spm'
values 'carthage'
}
}

Expand Down
1 change: 1 addition & 0 deletions Jenkinsfile.releasability
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,7 @@ def doBuild() {
}
}
parallelBuilds["Installation - ${platformName} CocoaPods static"] = installationTest(platform, 'cocoapods', carthageXcodeVersion, 'swift', 'static')
parallelBuilds["Installation - ${platformName} spm static"] = installationTest(platform, 'spm', carthageXcodeVersion, 'swift', 'static')
}
parallelBuilds['Installation - iOS Static'] = installationTest('ios', 'xcframework', carthageXcodeVersion, 'objc', 'static')
parallelBuilds['Installation - XCFramework Evolution'] = xcframeworkEvolutionTest()
Expand Down
1 change: 1 addition & 0 deletions examples/installation/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ CocoaPodsExample.xcworkspace
CocoaPodsDynamicExample.xcworkspace
Cartfile.resolved
SwiftPackageManager.xcodeproj
SwiftPackageManagerDynamic.xcodeproj
Loading

0 comments on commit 50f69f3

Please sign in to comment.