diff --git a/Package.swift b/Package.swift index f804323e8f..bc211fccc3 100644 --- a/Package.swift +++ b/Package.swift @@ -30,7 +30,7 @@ let package = Package( ), .library( name: "DatadogCrashReporting", - type: .dynamic, + type: .static, targets: ["DatadogCrashReporting"] ), ], diff --git a/dependency-manager-tests/spm/Makefile b/dependency-manager-tests/spm/Makefile index c69986370c..c2365d1dd2 100644 --- a/dependency-manager-tests/spm/Makefile +++ b/dependency-manager-tests/spm/Makefile @@ -10,3 +10,11 @@ test: @cp -r SPMProject.xcodeproj.src SPMProject.xcodeproj @sed "s|REMOTE_GIT_BRANCH|${GIT_BRANCH}|g" SPMProject.xcodeproj.src/project.pbxproj > SPMProject.xcodeproj/project.pbxproj @echo "OK 👌" + +create-src-from-xcodeproj: + @echo "⚙️ Creating 'SPMProject.xcodeproj.src' from SPMProject.xcodeproj" + rm -rf SPMProject.xcodeproj.src + cp -r SPMProject.xcodeproj SPMProject.xcodeproj.src + rm SPMProject.xcodeproj.src/project.xcworkspace/xcshareddata/swiftpm/Package.resolved + sed "s|\"${GIT_BRANCH}\"|REMOTE_GIT_BRANCH|g" SPMProject.xcodeproj/project.pbxproj > SPMProject.xcodeproj.src/project.pbxproj + @echo "OK 👌" diff --git a/dependency-manager-tests/spm/README.md b/dependency-manager-tests/spm/README.md index 959aa7c091..2e3187a8e1 100644 --- a/dependency-manager-tests/spm/README.md +++ b/dependency-manager-tests/spm/README.md @@ -6,4 +6,12 @@ After pushing current branch to remote, run: ```bash $ make ``` -Then, open `SPMProject.xcodeproj` to check if SPM is able to fetch `Datadog` dependency from current branch and build the project. +This creates the `SPMProject.xcodeproj` from `SPMProject.xcodeproj.src` by replacing the `REMOTE_GIT_BRANCH` string with the name of the remote branch. + +Launch the `SPMProject.xcodeproj` to check if SPM is able to fetch the `Datadog` package from remote and build the project. + +To update the setup in `SPMProject.xcodeproj`, use: +```bash +make create-src-from-xcodeproj +``` +to apply the change back to the `SPMProject.xcodeproj.src`, so it can be committed to git. diff --git a/dependency-manager-tests/spm/SPMProject.xcodeproj.src/project.pbxproj b/dependency-manager-tests/spm/SPMProject.xcodeproj.src/project.pbxproj index d75d9497f2..404cbcc15d 100644 --- a/dependency-manager-tests/spm/SPMProject.xcodeproj.src/project.pbxproj +++ b/dependency-manager-tests/spm/SPMProject.xcodeproj.src/project.pbxproj @@ -14,8 +14,8 @@ 61C363E624374D6000C4D4E6 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 61C363E424374D6000C4D4E6 /* LaunchScreen.storyboard */; }; 61C363F124374D6100C4D4E6 /* SPMProjectTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61C363F024374D6100C4D4E6 /* SPMProjectTests.swift */; }; 61C363FC24374D6100C4D4E6 /* SPMProjectUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61C363FB24374D6100C4D4E6 /* SPMProjectUITests.swift */; }; - 61C4DBDE25C2FB0B0058DED4 /* DatadogCrashReporting in Frameworks */ = {isa = PBXBuildFile; productRef = 61C4DBDD25C2FB0B0058DED4 /* DatadogCrashReporting */; }; - 61C4DBDF25C2FB0B0058DED4 /* DatadogCrashReporting in Embed Frameworks */ = {isa = PBXBuildFile; productRef = 61C4DBDD25C2FB0B0058DED4 /* DatadogCrashReporting */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; + 61DA9CB4260BA1FA00366408 /* DatadogCrashReporting in Frameworks */ = {isa = PBXBuildFile; productRef = 61DA9CB3260BA1FA00366408 /* DatadogCrashReporting */; }; + 61DA9CB6260BA1FA00366408 /* DatadogStatic in Frameworks */ = {isa = PBXBuildFile; productRef = 61DA9CB5260BA1FA00366408 /* DatadogStatic */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -42,7 +42,6 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - 61C4DBDF25C2FB0B0058DED4 /* DatadogCrashReporting in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -72,7 +71,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 61C4DBDE25C2FB0B0058DED4 /* DatadogCrashReporting in Frameworks */, + 61DA9CB4260BA1FA00366408 /* DatadogCrashReporting in Frameworks */, + 61DA9CB6260BA1FA00366408 /* DatadogStatic in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -182,7 +182,8 @@ ); name = SPMProject; packageProductDependencies = ( - 61C4DBDD25C2FB0B0058DED4 /* DatadogCrashReporting */, + 61DA9CB3260BA1FA00366408 /* DatadogCrashReporting */, + 61DA9CB5260BA1FA00366408 /* DatadogStatic */, ); productName = SPMProject; productReference = 61C363D624374D5F00C4D4E6 /* SPMProject.app */; @@ -689,11 +690,16 @@ /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ - 61C4DBDD25C2FB0B0058DED4 /* DatadogCrashReporting */ = { + 61DA9CB3260BA1FA00366408 /* DatadogCrashReporting */ = { isa = XCSwiftPackageProductDependency; package = 61C3640924374DF200C4D4E6 /* XCRemoteSwiftPackageReference "dd-sdk-ios" */; productName = DatadogCrashReporting; }; + 61DA9CB5260BA1FA00366408 /* DatadogStatic */ = { + isa = XCSwiftPackageProductDependency; + package = 61C3640924374DF200C4D4E6 /* XCRemoteSwiftPackageReference "dd-sdk-ios" */; + productName = DatadogStatic; + }; /* End XCSwiftPackageProductDependency section */ }; rootObject = 61C363CE24374D5F00C4D4E6 /* Project object */;