Skip to content

Commit 3ba4c1a

Browse files
authored
Merge pull request #95 from aciidb0mb3r/minimize-posix
Move sourcekit-lsp off of SwiftPM's POSIX
2 parents 8fc6030 + 5afd361 commit 3ba4c1a

File tree

5 files changed

+18
-21
lines changed

5 files changed

+18
-21
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@ Package.resolved
66
/*.xcodeproj
77
/*.sublime-project
88
/*.sublime-workspace
9+
/.swiftpm

Sources/SKCore/ToolchainRegistry.swift

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import SKSupport
1414
import Basic
1515
import SPMUtility
1616
import Dispatch
17-
import POSIX
1817
import Foundation
1918

2019
/// Set of known toolchains.
@@ -43,7 +42,7 @@ public final class ToolchainRegistry {
4342

4443
/// The currently selected toolchain identifier on Darwin.
4544
public internal(set) lazy var darwinToolchainOverride: String? = {
46-
if let id = getenv("TOOLCHAINS"), !id.isEmpty, id != "default" {
45+
if let id = ProcessEnv.vars["TOOLCHAINS"], !id.isEmpty, id != "default" {
4746
return id
4847
}
4948
return nil
@@ -278,7 +277,7 @@ extension ToolchainRegistry {
278277
{
279278
var shouldSetDefault = setDefault
280279
for envVar in environmentVariables {
281-
if let pathStr = getenv(envVar),
280+
if let pathStr = ProcessEnv.vars[envVar],
282281
let path = try? AbsolutePath(validating: pathStr),
283282
let toolchain = try? _registerToolchain(path, fileSystem),
284283
shouldSetDefault
@@ -301,7 +300,7 @@ extension ToolchainRegistry {
301300

302301
func _scanForToolchains(pathVariables: [String], _ fileSystem: FileSystem) {
303302
pathVariables.lazy.flatMap { envVar in
304-
getEnvSearchPaths(pathString: getenv(envVar), currentWorkingDirectory: nil)
303+
getEnvSearchPaths(pathString: ProcessEnv.vars[envVar], currentWorkingDirectory: nil)
305304
}
306305
.forEach { path in
307306
_ = try? _registerToolchain(path, fileSystem)

Tests/SKCoreTests/ToolchainRegistryTests.swift

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
import Basic
1515
import SPMUtility
1616
import XCTest
17-
import POSIX
1817

1918
final class ToolchainRegistryTests: XCTestCase {
2019
func testDefaultBasic() {
@@ -186,8 +185,8 @@ final class ToolchainRegistryTests: XCTestCase {
186185
XCTAssertNil(tr.default)
187186
XCTAssert(tr.toolchains.isEmpty)
188187

189-
try! setenv("SOURCEKIT_PATH", value: "/bogus:\(binPath):/bogus2")
190-
defer { try! setenv("SOURCEKIT_PATH", value: "") }
188+
try! ProcessEnv.setVar("SOURCEKIT_PATH", value: "/bogus:\(binPath):/bogus2")
189+
defer { try! ProcessEnv.setVar("SOURCEKIT_PATH", value: "") }
191190

192191
tr.scanForToolchains(fs)
193192

@@ -205,7 +204,7 @@ final class ToolchainRegistryTests: XCTestCase {
205204
XCTAssertNil(tc.libIndexStore)
206205

207206
let binPath2 = AbsolutePath("/other/my_toolchain/bin")
208-
try! setenv("SOME_TEST_ENV_PATH", value: "/bogus:\(binPath2):/bogus2")
207+
try! ProcessEnv.setVar("SOME_TEST_ENV_PATH", value: "/bogus:\(binPath2):/bogus2")
209208
makeToolchain(binPath: binPath2, fs, sourcekitd: true)
210209
tr.scanForToolchains(pathVariables: ["NOPE", "SOME_TEST_ENV_PATH", "MORE_NOPE"], fs)
211210

@@ -228,7 +227,7 @@ final class ToolchainRegistryTests: XCTestCase {
228227
XCTAssertNil(tr.default)
229228
XCTAssert(tr.toolchains.isEmpty)
230229

231-
try! setenv("TEST_SOURCEKIT_TOOLCHAIN_PATH_1", value: binPath.parentDirectory.pathString)
230+
try! ProcessEnv.setVar("TEST_SOURCEKIT_TOOLCHAIN_PATH_1", value: binPath.parentDirectory.pathString)
232231

233232
tr.scanForToolchains(environmentVariables: ["TEST_SOURCEKIT_TOOLCHAIN_PATH_1"], fs)
234233

@@ -255,7 +254,7 @@ final class ToolchainRegistryTests: XCTestCase {
255254
XCTAssertNil(tr.default)
256255
XCTAssert(tr.toolchains.isEmpty)
257256

258-
try! setenv("TEST_ENV_SOURCEKIT_TOOLCHAIN_PATH_2", value: binPath.parentDirectory.pathString)
257+
try! ProcessEnv.setVar("TEST_ENV_SOURCEKIT_TOOLCHAIN_PATH_2", value: binPath.parentDirectory.pathString)
259258

260259
tr.scanForToolchains(
261260
environmentVariables: ["TEST_ENV_SOURCEKIT_TOOLCHAIN_PATH_2"],

Tests/SKSupportTests/SupportPerfTests.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
@testable import SKSupport
1414
import SKTestSupport
1515
import Basic
16-
import POSIX
1716
import XCTest
1817

1918
final class SupportPerfTests: PerfTestCase {

Tests/SKSupportTests/SupportTests.swift

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import XCTest
1414
@testable import SKSupport
1515
import Basic
16-
import POSIX
1716

1817
final class SupportTests: XCTestCase {
1918

@@ -184,8 +183,8 @@ final class SupportTests: XCTestCase {
184183

185184
testLogger.currentLevel = .default
186185

187-
try! setenv("TEST_ENV_LOGGGING_1", value: "1")
188-
try! setenv("TEST_ENV_LOGGGING_0", value: "0")
186+
try! ProcessEnv.setVar("TEST_ENV_LOGGGING_1", value: "1")
187+
try! ProcessEnv.setVar("TEST_ENV_LOGGGING_0", value: "0")
189188
// .warning
190189
testLogger.setLogLevel(environmentVariable: "TEST_ENV_LOGGGING_1")
191190

@@ -221,7 +220,7 @@ final class SupportTests: XCTestCase {
221220
])
222221

223222
// invalid - no change
224-
try! setenv("TEST_ENV_LOGGGING_err", value: "")
223+
try! ProcessEnv.setVar("TEST_ENV_LOGGGING_err", value: "")
225224
testLogger.setLogLevel(environmentVariable: "TEST_ENV_LOGGGING_err")
226225

227226
log("d", level: .error)
@@ -233,7 +232,7 @@ final class SupportTests: XCTestCase {
233232
])
234233

235234
// invalid - no change
236-
try! setenv("TEST_ENV_LOGGGING_err", value: "a3")
235+
try! ProcessEnv.setVar("TEST_ENV_LOGGGING_err", value: "a3")
237236
testLogger.setLogLevel(environmentVariable: "TEST_ENV_LOGGGING_err")
238237

239238
log("d", level: .error)
@@ -245,7 +244,7 @@ final class SupportTests: XCTestCase {
245244
])
246245

247246
// too high - max out at .debug
248-
try! setenv("TEST_ENV_LOGGGING_err", value: "1000")
247+
try! ProcessEnv.setVar("TEST_ENV_LOGGGING_err", value: "1000")
249248
testLogger.setLogLevel(environmentVariable: "TEST_ENV_LOGGGING_err")
250249

251250
log("d", level: .error)
@@ -260,16 +259,16 @@ final class SupportTests: XCTestCase {
260259
])
261260

262261
// By string.
263-
try! setenv("TEST_ENV_LOGGGING_string", value: "error")
262+
try! ProcessEnv.setVar("TEST_ENV_LOGGGING_string", value: "error")
264263
testLogger.setLogLevel(environmentVariable: "TEST_ENV_LOGGGING_string")
265264
XCTAssertEqual(testLogger.currentLevel, .error)
266-
try! setenv("TEST_ENV_LOGGGING_string", value: "warning")
265+
try! ProcessEnv.setVar("TEST_ENV_LOGGGING_string", value: "warning")
267266
testLogger.setLogLevel(environmentVariable: "TEST_ENV_LOGGGING_string")
268267
XCTAssertEqual(testLogger.currentLevel, .warning)
269-
try! setenv("TEST_ENV_LOGGGING_string", value: "info")
268+
try! ProcessEnv.setVar("TEST_ENV_LOGGGING_string", value: "info")
270269
testLogger.setLogLevel(environmentVariable: "TEST_ENV_LOGGGING_string")
271270
XCTAssertEqual(testLogger.currentLevel, .info)
272-
try! setenv("TEST_ENV_LOGGGING_string", value: "debug")
271+
try! ProcessEnv.setVar("TEST_ENV_LOGGGING_string", value: "debug")
273272
testLogger.setLogLevel(environmentVariable: "TEST_ENV_LOGGGING_string")
274273
XCTAssertEqual(testLogger.currentLevel, .debug)
275274

0 commit comments

Comments
 (0)