Skip to content

Commit 486ec2d

Browse files
authored
Remove most deprecated APIs (#5756)
Currently, we still need the diagnostics compatibility layer because swift-driver uses the TSC diagnostics engine.
1 parent 318811f commit 486ec2d

17 files changed

+2
-667
lines changed

Sources/Basics/Observability.swift

Lines changed: 0 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -470,21 +470,6 @@ public struct ObservabilityMetadata: CustomDebugStringConvertible {
470470
}
471471
}
472472

473-
@available(*, deprecated, message: "temporary for transition DiagnosticsEngine -> DiagnosticsEmitter")
474-
public func droppingLegacyKeys() -> ObservabilityMetadata? {
475-
var metadata = ObservabilityMetadata()
476-
self.forEach { (key, value) in
477-
if key.keyType == LegacyLocationKey.self {
478-
return
479-
}
480-
if key.keyType == LegacyDataKey.self {
481-
return
482-
}
483-
metadata._storage[key] = value
484-
}
485-
return metadata.isEmpty ? .none : metadata
486-
}
487-
488473
/// A type-erased `ObservabilityMetadataKey` used when iterating through the `ObservabilityMetadata` using its `forEach` method.
489474
public struct AnyKey {
490475
/// The key's type represented erased to an `Any.Type`.
@@ -571,53 +556,6 @@ extension Diagnostic {
571556
}
572557
}
573558

574-
@available(*, deprecated, message: "temporary for transition DiagnosticsEngine -> DiagnosticsEmitter")
575-
extension ObservabilitySystem {
576-
public convenience init(diagnosticEngine: DiagnosticsEngine) {
577-
self.init(DiagnosticsEngineAdapter(diagnosticEngine: diagnosticEngine))
578-
}
579-
580-
private struct DiagnosticsEngineAdapter: ObservabilityHandlerProvider, DiagnosticsHandler {
581-
let diagnosticEngine: DiagnosticsEngine
582-
583-
var diagnosticsHandler: DiagnosticsHandler { self }
584-
585-
func handleDiagnostic(scope: ObservabilityScope, diagnostic: Diagnostic) {
586-
diagnosticEngine.emit(.init(diagnostic))
587-
}
588-
}
589-
}
590-
591-
@available(*, deprecated, message: "temporary for transition DiagnosticsEngine -> DiagnosticsEmitter")
592-
extension TSCBasic.Diagnostic {
593-
public init(_ diagnostic: Diagnostic) {
594-
let location: DiagnosticLocation
595-
if let legacyLocation = diagnostic.metadata?.legacyDiagnosticLocation {
596-
location = legacyLocation.underlying
597-
} else {
598-
location = UnknownLocation.location
599-
}
600-
601-
let data: DiagnosticData
602-
if let legacyData = diagnostic.metadata?.legacyDiagnosticData {
603-
data = legacyData.underlying
604-
} else {
605-
data = StringDiagnostic(diagnostic.message)
606-
}
607-
608-
switch diagnostic.severity {
609-
case .error:
610-
self = .init(message: .error(data), location: location)
611-
case .warning:
612-
self = .init(message: .warning(data), location: location)
613-
case .info:
614-
self = .init(message: .note(data), location: location)
615-
case .debug:
616-
self = .init(message: .note(data), location: location)
617-
}
618-
}
619-
}
620-
621559
@available(*, deprecated, message: "temporary for transition DiagnosticsEngine -> DiagnosticsEmitter")
622560
extension ObservabilityMetadata {
623561
public var legacyDiagnosticLocation: DiagnosticLocationWrapper? {

Sources/Build/BuildOperationBuildSystemDelegateHandler.swift

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -270,11 +270,6 @@ private final class InProcessTool: Tool {
270270
self.type = type
271271
}
272272

273-
@available(*, deprecated, message: "Use the overload that returns an Optional")
274-
func createCommand(_ name: String) -> ExternalCommand {
275-
return type.init(self.context)
276-
}
277-
278273
func createCommand(_ name: String) -> ExternalCommand? {
279274
return type.init(self.context)
280275
}

Sources/Build/SPMSwiftDriverExecutor.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ final class SPMSwiftDriverExecutor: DriverExecutor {
4444
forceResponseFiles: Bool,
4545
recordedInputModificationDates: [TypedVirtualPath : TimePoint]) throws -> ProcessResult {
4646
let arguments: [String] = try resolver.resolveArgumentList(for: job,
47-
forceResponseFiles: forceResponseFiles)
47+
useResponseFiles: forceResponseFiles ? .forced : .heuristic)
4848

4949
try job.verifyInputsNotModified(since: recordedInputModificationDates,
5050
fileSystem: fileSystem)
@@ -74,7 +74,7 @@ final class SPMSwiftDriverExecutor: DriverExecutor {
7474
func description(of job: Job, forceResponseFiles: Bool) throws -> String {
7575
// FIXME: This is duplicated from SwiftDriver, maybe it shouldn't be a protocol requirement.
7676
let (args, usedResponseFile) = try resolver.resolveArgumentList(for: job,
77-
forceResponseFiles: forceResponseFiles)
77+
useResponseFiles: forceResponseFiles ? .forced : .heuristic)
7878
var result = args.joined(separator: " ")
7979

8080
if usedResponseFile {

Sources/PackageCollections/API.swift

Lines changed: 0 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -106,41 +106,6 @@ public protocol PackageCollectionsProtocol {
106106
callback: @escaping (Result<PackageCollectionsModel.Collection, Error>) -> Void
107107
)
108108

109-
// MARK: - Package APIs
110-
111-
/// Returns metadata for the package identified by the given `PackageReference`, along with the
112-
/// identifiers of `PackageCollection`s where the package is found.
113-
///
114-
/// A failure is returned if the package is not found.
115-
///
116-
/// - Parameters:
117-
/// - reference: The package reference
118-
/// - callback: The closure to invoke when result becomes available
119-
// deprecated 9/21
120-
@available(*, deprecated, message: "use getPackageMetadata(identity:) instead")
121-
func getPackageMetadata(
122-
_ reference: PackageReference,
123-
callback: @escaping (Result<PackageCollectionsModel.PackageMetadata, Error>) -> Void
124-
)
125-
126-
/// Returns metadata for the package identified by the given `PackageReference`, along with the
127-
/// identifiers of `PackageCollection`s where the package is found.
128-
///
129-
/// A failure is returned if the package is not found.
130-
///
131-
/// - Parameters:
132-
/// - reference: The package reference
133-
/// - collections: Optional. If specified, only look for package in these collections. Data from the most recently
134-
/// processed collection will be used.
135-
/// - callback: The closure to invoke when result becomes available
136-
// deprecated 9/21
137-
@available(*, deprecated, message: "use getPackageMetadata(identity:) instead")
138-
func getPackageMetadata(
139-
_ reference: PackageReference,
140-
collections: Set<PackageCollectionsModel.CollectionIdentifier>?,
141-
callback: @escaping (Result<PackageCollectionsModel.PackageMetadata, Error>) -> Void
142-
)
143-
144109
/// Returns metadata for the package identified by the given `PackageIdentity`, along with the
145110
/// identifiers of `PackageCollection`s where the package is found.
146111
///

Sources/PackageCollections/Model/PackageTypes.swift

Lines changed: 0 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -85,24 +85,6 @@ extension PackageCollectionsModel {
8585
/// The package's programming languages
8686
public let languages: Set<String>?
8787

88-
// deprecated 9/21
89-
@available(*, deprecated, message: "use identity and location instead")
90-
public var reference: PackageReference {
91-
guard let url = URL(string: self.location) else {
92-
fatalError("invalid url \(self.location)")
93-
}
94-
return .init(identity: self.identity, kind: .remoteSourceControl(url), name: nil)
95-
}
96-
97-
// deprecated 9/21
98-
@available(*, deprecated, message: "use identity and location instead")
99-
public var repository: RepositorySpecifier {
100-
guard let url = URL(string: self.location) else {
101-
fatalError("invalid url \(self.location)")
102-
}
103-
return .init(url: url)
104-
}
105-
10688
/// Initializes a `Package`
10789
init(
10890
identity: PackageIdentity,
@@ -159,27 +141,6 @@ extension PackageCollectionsModel.Package {
159141

160142
/// When the package version was created
161143
public let createdAt: Date?
162-
163-
@available(*, deprecated, message: "use manifests instead")
164-
public var packageName: String { self.defaultManifest!.packageName }
165-
166-
@available(*, deprecated, message: "use manifests instead")
167-
public var targets: [Target] { self.defaultManifest!.targets }
168-
169-
@available(*, deprecated, message: "use manifests instead")
170-
public var products: [Product] { self.defaultManifest!.products }
171-
172-
@available(*, deprecated, message: "use manifests instead")
173-
public var toolsVersion: ToolsVersion { self.defaultManifest!.toolsVersion }
174-
175-
@available(*, deprecated, message: "use manifests instead")
176-
public var minimumPlatformVersions: [SupportedPlatform]? { nil }
177-
178-
@available(*, deprecated, message: "use verifiedCompatibility instead")
179-
public var verifiedPlatforms: [PackageModel.Platform]? { nil }
180-
181-
@available(*, deprecated, message: "use verifiedCompatibility instead")
182-
public var verifiedSwiftVersions: [SwiftLanguageVersion]? { nil }
183144

184145
public struct Manifest: Equatable, Codable {
185146
/// The Swift tools version specified in `Package.swift`.

Sources/PackageCollections/Model/TargetListResult.swift

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -48,15 +48,6 @@ extension PackageCollectionsModel.TargetListResult {
4848

4949
/// Package collections that contain this package and at least one of the `versions`
5050
public let collections: [PackageCollectionsModel.CollectionIdentifier]
51-
52-
// deprecated 9/2021
53-
@available(*, deprecated, message: "use identity and location instead")
54-
public var repository: RepositorySpecifier {
55-
guard let url = URL(string: self.location) else {
56-
fatalError("invalid url \(self.location)")
57-
}
58-
return .init(url: url)
59-
}
6051
}
6152
}
6253

Sources/PackageCollections/PackageCollections.swift

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -393,21 +393,6 @@ public struct PackageCollections: PackageCollectionsProtocol, Closable {
393393

394394
// MARK: - Package Metadata
395395

396-
// deprecated 9/21
397-
@available(*, deprecated, message: "user identity based API instead")
398-
public func getPackageMetadata(_ reference: PackageReference,
399-
callback: @escaping (Result<PackageCollectionsModel.PackageMetadata, Error>) -> Void) {
400-
self.getPackageMetadata(reference, collections: nil, callback: callback)
401-
}
402-
403-
// deprecated 9/21
404-
@available(*, deprecated, message: "user identity based API instead")
405-
public func getPackageMetadata(_ reference: PackageReference,
406-
collections: Set<PackageCollectionsModel.CollectionIdentifier>?,
407-
callback: @escaping (Result<PackageCollectionsModel.PackageMetadata, Error>) -> Void) {
408-
self.getPackageMetadata(identity: reference.identity, location: reference.locationString, collections: .none, callback: callback)
409-
}
410-
411396
public func getPackageMetadata(identity: PackageIdentity,
412397
location: String? = .none,
413398
callback: @escaping (Result<PackageCollectionsModel.PackageMetadata, Error>) -> Void) {

Sources/PackageGraph/DependencyMirrors.swift

Lines changed: 0 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,6 @@ public final class DependencyMirrors: Equatable {
3636
self.visited = .init()
3737
}
3838

39-
@available(*, deprecated)
40-
private convenience init(_ mirrors: [Mirror]) {
41-
self.init(Dictionary(mirrors.map({ ($0.original, $0.mirror) }), uniquingKeysWith: { first, _ in first }))
42-
}
43-
4439
public static func == (lhs: DependencyMirrors, rhs: DependencyMirrors) -> Bool {
4540
return lhs.mapping == rhs.mapping
4641
}
@@ -189,45 +184,3 @@ extension DependencyMirrors: ExpressibleByDictionaryLiteral {
189184
self.init(Dictionary(elements, uniquingKeysWith: { first, _ in first }))
190185
}
191186
}
192-
193-
@available(*, deprecated)
194-
extension DependencyMirrors: JSONMappable, JSONSerializable {
195-
public convenience init(json: JSON) throws {
196-
self.init(try [Mirror](json: json))
197-
}
198-
199-
public func toJSON() -> JSON {
200-
let mirrors = self.index.map { Mirror(original: $0.key, mirror: $0.value) }
201-
return .array(mirrors.sorted(by: { $0.original < $1.mirror }).map { $0.toJSON() })
202-
}
203-
}
204-
205-
/// An individual repository mirror.
206-
@available(*, deprecated)
207-
private struct Mirror {
208-
/// The original repository path.
209-
let original: String
210-
211-
/// The mirrored repository path.
212-
let mirror: String
213-
214-
init(original: String, mirror: String) {
215-
self.original = original
216-
self.mirror = mirror
217-
}
218-
}
219-
220-
@available(*, deprecated)
221-
extension Mirror: JSONMappable, JSONSerializable {
222-
init(json: JSON) throws {
223-
self.original = try json.get("original")
224-
self.mirror = try json.get("mirror")
225-
}
226-
227-
func toJSON() -> JSON {
228-
.init([
229-
"original": original,
230-
"mirror": mirror
231-
])
232-
}
233-
}

Sources/PackageGraph/DependencyResolver.swift

Lines changed: 0 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -46,63 +46,6 @@ public protocol DependencyResolverDelegate {
4646
func solved(result: [DependencyResolver.Binding])
4747
}
4848

49-
@available(*, deprecated, message: "user verbosity flags instead")
50-
public struct TracingDependencyResolverDelegate: DependencyResolverDelegate {
51-
private let stream: OutputByteStream
52-
53-
public init (path: AbsolutePath) throws {
54-
self.stream = try LocalFileOutputByteStream(path, closeOnDeinit: true, buffered: false)
55-
}
56-
57-
public init (stream: OutputByteStream) {
58-
self.stream = stream
59-
}
60-
61-
public func willResolve(term: Term) {
62-
self.log("resolving: \(term.node.package.identity)")
63-
}
64-
65-
public func didResolve(term: Term, version: Version, duration: DispatchTimeInterval) {
66-
self.log("resolved: \(term.node.package.identity) @ \(version)")
67-
}
68-
69-
public func derived(term: Term) {
70-
self.log("derived: \(term.node.package.identity)")
71-
}
72-
73-
public func conflict(conflict: Incompatibility) {
74-
self.log("conflict: \(conflict)")
75-
}
76-
77-
public func failedToResolve(incompatibility: Incompatibility) {
78-
self.log("failed to resolve: \(incompatibility)")
79-
}
80-
81-
public func satisfied(term: Term, by assignment: Assignment, incompatibility: Incompatibility) {
82-
log("CR: \(term) is satisfied by \(assignment)")
83-
log("CR: which is caused by \(assignment.cause?.description ?? "")")
84-
log("CR: new incompatibility \(incompatibility)")
85-
}
86-
87-
public func partiallySatisfied(term: Term, by assignment: Assignment, incompatibility: Incompatibility, difference: Term) {
88-
log("CR: \(term) is partially satisfied by \(assignment)")
89-
log("CR: which is caused by \(assignment.cause?.description ?? "")")
90-
log("CR: new incompatibility \(incompatibility)")
91-
}
92-
93-
public func solved(result: [DependencyResolver.Binding]) {
94-
self.log("solved:")
95-
for (package, binding, _) in result {
96-
self.log("\(package) \(binding)")
97-
}
98-
}
99-
100-
private func log(_ message: String) {
101-
self.stream <<< message <<< "\n"
102-
self.stream.flush()
103-
}
104-
}
105-
10649
public struct ObservabilityDependencyResolverDelegate: DependencyResolverDelegate {
10750
private let observabilityScope: ObservabilityScope
10851

Sources/PackageLoading/IdentityResolver.swift

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,6 @@ import TSCBasic
1616

1717
// TODO: refactor this when adding registry support
1818
public protocol IdentityResolver {
19-
// deprecated 9/21
20-
@available(*, deprecated, message: "use resolveIdentity for url or path instead")
21-
func resolveIdentity(for location: String) -> PackageIdentity
2219
func resolveIdentity(for packageKind: PackageReference.Kind) throws -> PackageIdentity
2320
func resolveIdentity(for url: URL) throws -> PackageIdentity
2421
func resolveIdentity(for path: AbsolutePath) throws -> PackageIdentity
@@ -32,13 +29,6 @@ public struct DefaultIdentityResolver: IdentityResolver {
3229
self.locationMapper = locationMapper
3330
}
3431

35-
// deprecated 9/21
36-
@available(*, deprecated, message: "use resolveIdentity for url or path instead")
37-
public func resolveIdentity(for location: String) -> PackageIdentity {
38-
let location = self.mappedLocation(for: location)
39-
return PackageIdentity(urlString: location)
40-
}
41-
4232
public func resolveIdentity(for packageKind: PackageReference.Kind) throws -> PackageIdentity {
4333
switch packageKind {
4434
case .root(let path):

0 commit comments

Comments
 (0)