Skip to content

Commit 31f2674

Browse files
committed
Don’t rely on working directory during index preparation
Amazon Linux and CentOS don’t support working directory. We can work around this by passing `--package-path` to `swift build`. rdar://128037023
1 parent 2f14afb commit 31f2674

File tree

2 files changed

+3
-6
lines changed

2 files changed

+3
-6
lines changed

Sources/SKSupport/Process+LaunchWithWorkingDirectoryIfPossible.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ extension Process {
3939
loggingHandler: loggingHandler
4040
)
4141
} else {
42-
self.init(
42+
Process(
4343
arguments: arguments,
4444
environmentBlock: environmentBlock,
4545
startNewProcessGroup: startNewProcessGroup,

Sources/SKSwiftPMWorkspace/SwiftPMBuildSystem.swift

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -447,15 +447,12 @@ extension SwiftPMBuildSystem: SKCore.BuildSystem {
447447
}
448448
let arguments = [
449449
swift.pathString, "build",
450+
"--package-path", workspacePath.pathString,
450451
"--scratch-path", self.workspace.location.scratchDirectory.pathString,
451452
"--disable-index-store",
452453
"--target", target.targetID,
453454
]
454-
let process = Process(
455-
arguments: arguments,
456-
workingDirectory: workspacePath
457-
)
458-
try process.launch()
455+
let process = try Process.launch(arguments: arguments, workingDirectory: nil)
459456
let result = try await process.waitUntilExitSendingSigIntOnTaskCancellation()
460457
switch result.exitStatus.exhaustivelySwitchable {
461458
case .terminated(code: 0):

0 commit comments

Comments
 (0)