Skip to content

Commit 5e5e2ca

Browse files
authored
Add missing TSCUtility.Version import (#6107)
`TSCUtility.Version` identifier is somehow implicitly re-exported in a lot of places. In some circumstances this re-exporting doesn't happen, which breaks the build. When building `main` I've multiple times stumbled upon errors showing that `TSCUtility.Version` is not available in scope. This could only surface in certain incremental build conditions, maybe dependency scanner not allowing this identifier to be re-exported.
1 parent 636ed43 commit 5e5e2ca

File tree

46 files changed

+84
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+84
-0
lines changed

Sources/Commands/ToolWorkspaceDelegate.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import Workspace
2222

2323
import struct TSCBasic.AbsolutePath
2424
import protocol TSCBasic.OutputByteStream
25+
import struct TSCUtility.Version
2526

2627
class ToolWorkspaceDelegate: WorkspaceDelegate {
2728
private struct DownloadProgress {

Sources/PackageCollections/Model/PackageTypes.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ import struct Foundation.URL
1616
import PackageModel
1717
import SourceControl
1818

19+
import struct TSCUtility.Version
20+
1921
extension PackageCollectionsModel {
2022
/// Package metadata
2123
public struct Package: Codable, Equatable {

Sources/PackageCollections/Model/TargetListResult.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ import Foundation
1515
import PackageModel
1616
import SourceControl
1717

18+
import struct TSCUtility.Version
19+
1820
extension PackageCollectionsModel {
1921
public typealias TargetListResult = [TargetListItem]
2022

Sources/PackageCollections/PackageCollections+Validation.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ import Basics
1616
import PackageCollectionsModel
1717
import PackageModel
1818

19+
import struct TSCUtility.Version
20+
1921
// MARK: - Model validations
2022

2123
extension Model.CollectionSource {

Sources/PackageCollections/Providers/GitHubPackageMetadataProvider.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ import struct Foundation.URL
2020
import PackageModel
2121
import TSCBasic
2222

23+
import struct TSCUtility.Version
24+
2325
struct GitHubPackageMetadataProvider: PackageMetadataProvider, Closable {
2426
private static let apiHostPrefix = "api."
2527

Sources/PackageCollections/Providers/JSONPackageCollectionProvider.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ import PackageModel
2424
import SourceControl
2525
import TSCBasic
2626

27+
import struct TSCUtility.Version
28+
2729
private typealias JSONModel = PackageCollectionModel.V1
2830

2931
struct JSONPackageCollectionProvider: PackageCollectionProvider {

Sources/PackageCollections/Providers/PackageMetadataProvider.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ import struct Foundation.URL
1616
import PackageModel
1717
import TSCBasic
1818

19+
import struct TSCUtility.Version
20+
1921
/// `PackageBasicMetadata` provider
2022
protocol PackageMetadataProvider {
2123
/// Retrieves metadata for a package with the given identity and repository address.

Sources/PackageCollectionsTool/SwiftPackageCollectionsTool.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ import PackageCollections
1919
import PackageModel
2020
import TSCBasic
2121

22+
import struct TSCUtility.Version
23+
2224
private enum CollectionsError: Swift.Error {
2325
case invalidArgument(String)
2426
case invalidVersionString(String)

Sources/PackageFingerprint/FilePackageFingerprintStorage.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ import Foundation
1616
import PackageModel
1717
import TSCBasic
1818

19+
import struct TSCUtility.Version
20+
1921
public struct FilePackageFingerprintStorage: PackageFingerprintStorage {
2022
let fileSystem: FileSystem
2123
let directoryPath: AbsolutePath

Sources/PackageFingerprint/PackageFingerprintStorage.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ import Basics
1414
import Dispatch
1515
import PackageModel
1616

17+
import struct TSCUtility.Version
18+
1719
public protocol PackageFingerprintStorage {
1820
func get(package: PackageIdentity,
1921
version: Version,

Sources/PackageGraph/DependencyResolver.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ import Dispatch
1515
import PackageModel
1616
import TSCBasic
1717

18+
import struct TSCUtility.Version
19+
1820
public protocol DependencyResolver {
1921
typealias Binding = (package: PackageReference, binding: BoundVersion, products: ProductFilter)
2022
typealias Delegate = DependencyResolverDelegate

Sources/PackageGraph/PinsStore.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ import Foundation
1515
import PackageModel
1616
import TSCBasic
1717

18+
import struct TSCUtility.Version
19+
1820
public final class PinsStore {
1921
public typealias PinsMap = [PackageIdentity: PinsStore.Pin]
2022

Sources/PackageGraph/PubGrub/PubGrubDependencyResolver.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ import OrderedCollections
1717
import PackageModel
1818
import TSCBasic
1919

20+
import struct TSCUtility.Version
21+
2022
/// The solver that is able to transitively resolve a set of package constraints
2123
/// specified by a root package.
2224
public struct PubGrubDependencyResolver {

Sources/PackageGraph/PubGrub/PubGrubPackageContainer.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ import Basics
1414
import OrderedCollections
1515
import PackageModel
1616

17+
import struct TSCUtility.Version
18+
1719
/// A container for an individual package. This enhances PackageContainer to add PubGrub specific
1820
/// logic which is mostly related to computing incompatibilities at a particular version.
1921
internal final class PubGrubPackageContainer {

Sources/PackageLoading/ManifestJSONParser.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ import Basics
1515
import PackageModel
1616
import TSCBasic
1717

18+
import struct TSCUtility.Version
19+
1820
enum ManifestJSONParser {
1921
private static let filePrefix = "file://"
2022

Sources/PackageLoading/ManifestLoader.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import Dispatch
1616
import PackageModel
1717
import TSCBasic
1818
import enum TSCUtility.Diagnostics
19+
import struct TSCUtility.Version
1920

2021
public enum ManifestParseError: Swift.Error, Equatable {
2122
/// The manifest is empty, or at least from SwiftPM's perspective it is.

Sources/PackageLoading/ToolsVersionParser.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ import Basics
1515
import PackageModel
1616
import TSCBasic
1717

18+
import struct TSCUtility.Version
19+
1820
/// Protocol for the manifest loader interface.
1921
public struct ToolsVersionParser {
2022
// designed to be used as a static utility

Sources/PackageMetadata/PackageMetadata.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import struct Foundation.URL
2121
import struct TSCBasic.AbsolutePath
2222
import protocol TSCBasic.FileSystem
2323
import func TSCBasic.withTemporaryDirectory
24+
import struct TSCUtility.Version
2425

2526
public struct Package {
2627
public enum Source {

Sources/PackageRegistry/RegistryClient.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ import PackageLoading
1818
import PackageModel
1919
import TSCBasic
2020

21+
import struct TSCUtility.Version
22+
2123
/// Package registry client.
2224
/// API specification: https://github.com/apple/swift-package-manager/blob/main/Documentation/Registry.md
2325
public final class RegistryClient: Cancellable {

Sources/PackageRegistry/RegistryDownloadsManager.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ import PackageModel
1717
import TSCBasic
1818
import PackageLoading
1919

20+
import struct TSCUtility.Version
21+
2022
public class RegistryDownloadsManager: Cancellable {
2123
public typealias Delegate = RegistryDownloadsManagerDelegate
2224

Sources/SPMTestSupport/ManifestExtensions.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import Foundation
1414
import PackageModel
1515
import TSCBasic
16+
import struct TSCUtility.Version
1617

1718
public extension Manifest {
1819

Sources/SPMTestSupport/MockManifestLoader.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ import PackageGraph
1818
import TSCBasic
1919
import func XCTest.XCTFail
2020

21+
import struct TSCUtility.Version
22+
2123
public enum MockManifestLoaderError: Swift.Error {
2224
case unknownRequest(String)
2325
}

Sources/SPMTestSupport/MockPackageFingerprintStorage.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ import class Foundation.NSLock
1616
import PackageFingerprint
1717
import PackageModel
1818

19+
import struct TSCUtility.Version
20+
1921
public class MockPackageFingerprintStorage: PackageFingerprintStorage {
2022
private var packageFingerprints: [PackageIdentity: [Version: [Fingerprint.Kind: Fingerprint]]]
2123
private let lock = NSLock()

Sources/SPMTestSupport/MockRegistry.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ import PackageModel
1919
import PackageRegistry
2020
import TSCBasic
2121

22+
import struct TSCUtility.Version
23+
2224
public class MockRegistry {
2325
private static let mockRegistryURL = URL(string: "http://localhost/registry/mock")!
2426

Sources/SPMTestSupport/MockWorkspace.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ import TSCBasic
2020
import Workspace
2121
import XCTest
2222

23+
import struct TSCUtility.Version
24+
2325
public typealias Diagnostic = TSCBasic.Diagnostic
2426

2527
public final class MockWorkspace {

Sources/SPMTestSupport/PackageDependencyDescriptionExtensions.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ import Foundation
1414
import PackageModel
1515
import TSCBasic
1616

17+
import struct TSCUtility.Version
18+
1719
public extension PackageDependency {
1820
static func fileSystem(identity: PackageIdentity? = nil,
1921
deprecatedName: String? = nil,

Sources/Workspace/FileSystemPackageContainer.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ import PackageLoading
1717
import PackageModel
1818
import TSCBasic
1919

20+
import struct TSCUtility.Version
21+
2022
/// Local file system package container.
2123
///
2224
/// This class represent packages that are referenced locally in the file system.

Sources/Workspace/ManagedDependency.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ import PackageModel
1616
import SourceControl
1717
import TSCBasic
1818

19+
import struct TSCUtility.Version
20+
1921
extension Workspace {
2022
/// An individual managed dependency.
2123
///

Sources/Workspace/RegistryPackageContainer.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ import PackageModel
1818
import PackageRegistry
1919
import TSCBasic
2020

21+
import struct TSCUtility.Version
22+
2123
public class RegistryPackageContainer: PackageContainer {
2224
public let package: PackageReference
2325

Sources/Workspace/ResolverPrecomputationProvider.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ import PackageModel
1717
import SourceControl
1818
import TSCBasic
1919

20+
import struct TSCUtility.Version
21+
2022
/// Enumeration of the different errors that can arise from the `ResolverPrecomputationProvider` provider.
2123
enum ResolverPrecomputationError: Error {
2224
/// Represents the error when a package was requested but couldn't be found.

Sources/Workspace/SourceControlPackageContainer.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import SourceControl
2121
import TSCBasic
2222

2323
import enum TSCUtility.Git
24+
import struct TSCUtility.Version
2425

2526
/// Adaptor to expose an individual repository as a package container.
2627
internal final class SourceControlPackageContainer: PackageContainer, CustomStringConvertible {

Sources/Workspace/Workspace+State.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ import PackageModel
1717
import SourceControl
1818
import TSCBasic
1919

20+
import struct TSCUtility.Version
21+
2022
/// Represents the workspace internal state persisted on disk.
2123
public final class WorkspaceState {
2224
/// The dependencies managed by the Workspace.

Sources/Workspace/Workspace.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import TSCBasic
2525
import enum TSCUtility.Diagnostics
2626
import enum TSCUtility.SignpostName
2727
import struct TSCUtility.Triple
28+
import struct TSCUtility.Version
2829

2930
public typealias Diagnostic = TSCBasic.Diagnostic
3031

Tests/PackageCollectionsTests/GitHubPackageMetadataProviderTests.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ import SourceControl
2020
import SPMTestSupport
2121
import TSCBasic
2222

23+
import struct TSCUtility.Version
24+
2325
class GitHubPackageMetadataProviderTests: XCTestCase {
2426
func testBaseURL() throws {
2527
let apiURL = URL(string: "https://api.github.com/repos/octocat/Hello-World")

Tests/PackageCollectionsTests/PackageCollectionsTests.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ import PackageModel
1919
import SourceControl
2020
import TSCBasic
2121

22+
import struct TSCUtility.Version
23+
2224
final class PackageCollectionsTests: XCTestCase {
2325
func testUpdateAuthTokens() throws {
2426
let authTokens = ThreadSafeKeyValueStore<AuthTokenType, String>()

Tests/PackageCollectionsTests/PackageIndexAndCollectionsTests.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ import SPMTestSupport
1818
import TSCBasic
1919
import XCTest
2020

21+
import struct TSCUtility.Version
22+
2123
class PackageIndexAndCollectionsTests: XCTestCase {
2224
func testCollectionAddRemoveGetList() throws {
2325
try PackageCollectionsTests_skipIfUnsupportedPlatform()

Tests/PackageCollectionsTests/Utility.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ import PackageModel
2121
import SourceControl
2222
import TSCBasic
2323

24+
import struct TSCUtility.Version
25+
2426
func makeMockSources(count: Int = Int.random(in: 5 ... 10)) -> [PackageCollectionsModel.CollectionSource] {
2527
let isTrusted: [Bool?] = [true, false, nil]
2628
return (0 ..< count).map { index in

Tests/PackageFingerprintTests/FilePackageFingerprintStorageTests.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ import SPMTestSupport
1818
import TSCBasic
1919
import XCTest
2020

21+
import struct TSCUtility.Version
22+
2123
final class FilePackageFingerprintStorageTests: XCTestCase {
2224
func testHappyCase() throws {
2325
let mockFileSystem = InMemoryFileSystem()

Tests/PackageGraphTests/PubgrubTests.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ import SPMTestSupport
2020
import TSCBasic
2121
import XCTest
2222

23+
import struct TSCUtility.Version
24+
2325
// There's some useful helper utilities defined below for easier testing:
2426
//
2527
// Terms conform to ExpressibleByStringLiteral in this test module and their

Tests/PackageRegistryTests/RegistryClientTests.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ import SPMTestSupport
2020
import TSCBasic
2121
import XCTest
2222

23+
import struct TSCUtility.Version
24+
2325
final class RegistryClientTests: XCTestCase {
2426
func testGetPackageMetadata() throws {
2527
let registryURL = "https://packages.example.com"

Tests/PackageRegistryTests/RegistryDownloadsManagerTests.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ import SPMTestSupport
1818
import TSCBasic
1919
import XCTest
2020

21+
import struct TSCUtility.Version
22+
2123
class RegistryDownloadsManagerTests: XCTestCase {
2224
func testNoCache() throws {
2325
let observability = ObservabilitySystem.makeForTesting()

Tests/WorkspaceTests/PinsStoreTests.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ import SPMTestSupport
1919
import SourceControl
2020
import Workspace
2121

22+
import struct TSCUtility.Version
23+
2224
final class PinsStoreTests: XCTestCase {
2325

2426
let v1: Version = "1.0.0"

Tests/WorkspaceTests/RegistryPackageContainerTests.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ import TSCBasic
2121
@testable import Workspace
2222
import XCTest
2323

24+
import struct TSCUtility.Version
25+
2426
class RegistryPackageContainerTests: XCTestCase {
2527

2628
func testToolsVersionCompatibleVersions() throws {

Tests/WorkspaceTests/SourceControlPackageContainerTests.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import TSCBasic
2222
import XCTest
2323

2424
import enum TSCUtility.Git
25+
import struct TSCUtility.Version
2526

2627
private class MockRepository: Repository {
2728
/// The fake location of the repository.

Tests/WorkspaceTests/ToolsVersionSpecificationGenerationTests.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717
import XCTest
1818
import PackageModel
1919

20+
import struct TSCUtility.Version
21+
2022
/// Test cases for the generation of Swift tools version specifications.
2123
class ToolsVersionSpecificationGenerationTests: XCTestCase {
2224
/// Tests the generation of Swift tools version specifications.

0 commit comments

Comments
 (0)