I have a build process that worked with Xcode 12.4 that no longer seems to work with Xcode 13.4. It seems specifying a derived data path breaks the SwiftPM package resolution.
$ xcodebuild -version
Xcode 13.4
Build version 13F17a
Broken
xcodebuild \
-disableAutomaticPackageResolution \
-usePackageSupportBuiltinSCM \
-derivedDataPath "$PWD/derivedData" \
-enableCodeCoverage YES \
-scheme "$XCODE_SCHEME" \
-destination "$DESTINATION" \
build-for-testing
Works
xcodebuild \
-disableAutomaticPackageResolution \
-usePackageSupportBuiltinSCM \
-enableCodeCoverage YES \
-scheme "$XCODE_SCHEME" \
-destination "$DESTINATION" \
build-for-testing
Error
2022-07-18 17:44:18.870 xcodebuild[5927:47957] [MT] IDEFileReferenceDebug: [Load] <IDESwiftPackageCore.IDESwiftPackageDependencyFileReference, 0x600000f13900: name:Dependency path:absolute:/Users/buildbot/SwiftPMProject/derivedData/SourcePackages/checkouts/Dependency> Failed to load container at path: /Users/buildbot/SwiftPMProject/derivedData/SourcePackages/checkouts/Dependency, Error: Error Domain=com.apple.dt.IDEContainerErrorDomain Code=6 "Cannot open "Dependency" as a "Swift Package Proxy" because it is already open as a "Swift User Managed Package Folder"." UserInfo={NSLocalizedDescription=Cannot open "Dependency" as a "Swift Package Proxy" because it is already open as a "Swift User Managed Package Folder".}
Additionally there are notes that it failed to resolve the package product.
/Users/buildbot/SwiftPMProject/Package.swift: error: Missing package product 'Dependency' (in target 'SwiftPMProjectTests' from project 'SwiftPMProject')
/Users/buildbot/SwiftPMProject/Package.swift: error: Missing package product 'Dependency' (in target 'SwiftPMProjectPerformanceTests' from project 'SwiftPMProject')
It seems that xcodebuild
no longer can resolve SwiftPM dependencies when -derivedDataPath
is specified.
Are there any other new flags I should be aware of?