Skip to content

Commit a73d2b8

Browse files
committed
Basics,_AsyncFileSystem: internalise SystemPackage
`SystemPackage` is only used as an internal implementation detail here. This package is not needed for the public API surface. Furthermore, as this dependency is a single use dependency, we are able to save some nominal space on the builds with this: Pre: SystemPackage.dll: 212992 bytes _AsyncFileSystem.dll: 60416 bytes Post: SystemPackage.dll: 0 bytes (static) _AsyncFileSystem.dll: 217600 This effectively shaves ~56K off the toolchain.
1 parent d603fa2 commit a73d2b8

File tree

8 files changed

+6
-8
lines changed

8 files changed

+6
-8
lines changed

Sources/Basics/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,6 @@ target_link_libraries(Basics PUBLIC
8181
_AsyncFileSystem
8282
SwiftCollections::DequeModule
8383
SwiftCollections::OrderedCollections
84-
SwiftSystem::SystemPackage
8584
TSCBasic
8685
TSCUtility)
8786
target_link_libraries(Basics PRIVATE

Sources/Basics/FileSystem/FileSystem+Extensions.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import struct Foundation.Data
1414
import class Foundation.FileManager
1515
import struct Foundation.UUID
16-
import SystemPackage
1716

1817
import struct TSCBasic.ByteString
1918
import struct TSCBasic.FileInfo

Sources/QueryEngine/CacheKey.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
@_exported import protocol Crypto.HashFunction
1414
import struct Foundation.URL
15-
import struct SystemPackage.FilePath
15+
package import struct SystemPackage.FilePath
1616

1717
/// Indicates that values of a conforming type can be hashed with an arbitrary hashing function. Unlike `Hashable`,
1818
/// this protocol doesn't utilize random seed values and produces consistent hash values across process launches.

Sources/QueryEngine/FileCacheRecord.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import struct _AsyncFileSystem.OpenReadableFile
1414

1515
// FIXME: need a new swift-system tag to remove `@preconcurrency`
16-
@preconcurrency import struct SystemPackage.FilePath
16+
@preconcurrency package import struct SystemPackage.FilePath
1717

1818
package struct FileCacheRecord: Sendable {
1919
package let path: FilePath

Sources/QueryEngine/Query.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
//
1111
//===----------------------------------------------------------------------===//
1212

13-
import struct SystemPackage.FilePath
13+
package import struct SystemPackage.FilePath
1414

1515
package protocol Query: Sendable {
1616
associatedtype Key: CacheKey

Sources/QueryEngine/QueryEngine.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import _AsyncFileSystem
1414
import Basics
1515
import Crypto
16-
@preconcurrency import SystemPackage
16+
@preconcurrency package import SystemPackage
1717

1818
package func withQueryEngine(
1919
_ fileSystem: some AsyncFileSystem,

Sources/_AsyncFileSystem/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ add_library(_AsyncFileSystem
1515
ReadableFileStream.swift
1616
WritableStream.swift
1717
)
18-
target_link_libraries(_AsyncFileSystem PUBLIC
18+
target_link_libraries(_AsyncFileSystem PRIVATE
1919
SwiftSystem::SystemPackage)
2020

2121
# NOTE(compnerd) workaround for CMake not setting up include flags yet

Sources/_AsyncFileSystem/ReadableFileStream.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
//===----------------------------------------------------------------------===//
1212

1313
package import _Concurrency
14-
internal import SystemPackage
14+
package import SystemPackage
1515
internal import class Dispatch.DispatchQueue
1616

1717
/// Type-erasure wrapper over underlying file system readable streams.

0 commit comments

Comments
 (0)