Skip to content

Commit aa6e0e6

Browse files
authored
improve diagnostics and outputs for registry dependencies (#6265)
motivation: nicer CLI UX changes: * update output and diangostics format * adjust any tests that check specific output
1 parent 4b98533 commit aa6e0e6

File tree

5 files changed

+27
-27
lines changed

5 files changed

+27
-27
lines changed

Sources/PackageRegistry/RegistryClient.swift

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1386,17 +1386,17 @@ public enum RegistryError: Error, CustomStringConvertible {
13861386
case .pathAlreadyExists(let path):
13871387
return "path already exists '\(path)'"
13881388
case .failedRetrievingReleases(let registry, let packageIdentity, let error):
1389-
return "failed fetching '\(packageIdentity)' releases list from '\(registry)': \(error)"
1389+
return "failed fetching \(packageIdentity) releases list from \(registry): \(error)"
13901390
case .failedRetrievingReleaseInfo(let registry, let packageIdentity, let version, let error):
1391-
return "failed fetching '\(packageIdentity)@\(version)' release information from '\(registry)': \(error)"
1391+
return "failed fetching \(packageIdentity) version \(version) release information from \(registry): \(error)"
13921392
case .failedRetrievingReleaseChecksum(let registry, let packageIdentity, let version, let error):
1393-
return "failed fetching '\(packageIdentity)@\(version)' release checksum from '\(registry)': \(error)"
1393+
return "failed fetching \(packageIdentity) version \(version) release checksum from \(registry): \(error)"
13941394
case .failedRetrievingManifest(let registry, let packageIdentity, let version, let error):
1395-
return "failed retrieving '\(packageIdentity)@\(version)' manifest from '\(registry)': \(error)"
1395+
return "failed retrieving \(packageIdentity) version \(version) manifest from \(registry): \(error)"
13961396
case .failedDownloadingSourceArchive(let registry, let packageIdentity, let version, let error):
1397-
return "failed downloading '\(packageIdentity)@\(version)' source archive from '\(registry)': \(error)"
1397+
return "failed downloading \(packageIdentity) version \(version) source archive from \(registry): \(error)"
13981398
case .failedIdentityLookup(let registry, let scmURL, let error):
1399-
return "failed looking up identity for '\(scmURL)' on '\(registry)': \(error)"
1399+
return "failed looking up identity for \(scmURL) on \(registry): \(error)"
14001400
case .failedLoadingPackageArchive(let path):
14011401
return "failed loading package archive at '\(path)' for publishing"
14021402
case .failedLoadingPackageMetadata(let path):
@@ -1420,13 +1420,13 @@ public enum RegistryError: Error, CustomStringConvertible {
14201420
case .packageVersionNotFound:
14211421
return "package version not found on registry"
14221422
case .sourceArchiveMissingChecksum(let registry, let packageIdentity, let version):
1423-
return "'\(packageIdentity)@\(version)' source archive from '\(registry)' has no checksum"
1423+
return "\(packageIdentity) version \(version) source archive from \(registry) has no checksum"
14241424
case .sourceArchiveNotSigned(let registry, let packageIdentity, let version):
1425-
return "'\(packageIdentity)@\(version)' source archive from '\(registry)' is not signed"
1425+
return "\(packageIdentity) version \(version) source archive from \(registry) is not signed"
14261426
case .failedLoadingSignature:
14271427
return "failed loading signature for validation"
14281428
case .failedRetrievingSourceArchiveSignature(let registry, let packageIdentity, let version, let error):
1429-
return "failed retrieving '\(packageIdentity)@\(version)' source archive signature from '\(registry)': \(error)"
1429+
return "failed retrieving '\(packageIdentity)' version \(version) source archive signature from '\(registry)': \(error)"
14301430
case .missingConfiguration(let details):
14311431
return "unable to proceed because of missing configuration: \(details)"
14321432
case .badConfiguration(let details):
@@ -1444,9 +1444,9 @@ public enum RegistryError: Error, CustomStringConvertible {
14441444
case .failedToValidateSignature(let error):
14451445
return "failed to validate signature: \(error)"
14461446
case .signingEntityForReleaseChanged(let package, let version, let latest, let previous):
1447-
return "the signing entity '\(String(describing: latest))' for '\(package)@\(version)' is different from the previously recorded value '\(previous)'"
1447+
return "the signing entity '\(String(describing: latest))' for \(package) version \(version) is different from the previously recorded value '\(previous)'"
14481448
case .signingEntityForPackageChanged(let package, let latest, let previous):
1449-
return "the signing entity '\(String(describing: latest))' for '\(package)' is different from the previously recorded value '\(previous)'"
1449+
return "the signing entity '\(String(describing: latest))' for \(package) is different from the previously recorded value '\(previous)'"
14501450
}
14511451
}
14521452
}

Sources/PackageRegistry/SigningEntityTOFU.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@ struct PackageSigningEntityTOFU {
234234
case .warn:
235235
observabilityScope
236236
.emit(
237-
warning: "The signing entity \(String(describing: latest)) for '\(package)@\(version)' does not match previously recorded value \(existing)"
237+
warning: "The signing entity '\(String(describing: latest))' for \(package) version \(version) does not match previously recorded value '\(existing)'"
238238
)
239239
completion(.success(()))
240240
}
@@ -256,7 +256,7 @@ struct PackageSigningEntityTOFU {
256256
case .warn:
257257
observabilityScope
258258
.emit(
259-
warning: "The signing entity \(String(describing: latest)) for '\(package)' does not match previously recorded value \(existing)"
259+
warning: "The signing entity '\(String(describing: latest))' for \(package) does not match previously recorded value '\(existing)'"
260260
)
261261
completion(.success(()))
262262
}

Sources/PackageRegistryTool/PackageRegistryTool+Publish.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ extension SwiftPackageRegistryTool {
141141

142142
guard localFileSystem.exists(metadataLocation.path) else {
143143
throw StringError(
144-
"Publishing to '\(registryURL)' requires metadata file but none was found at '\(metadataLocation)'."
144+
"Publishing to '\(registryURL)' requires metadata file but none was found at '\(metadataLocation.path)'."
145145
)
146146
}
147147

@@ -212,7 +212,7 @@ extension SwiftPackageRegistryTool {
212212
}
213213

214214
swiftTool.observabilityScope
215-
.emit(info: "publishing '\(self.packageIdentity)' archive at '\(archivePath)' to '\(registryURL)'")
215+
.emit(info: "publishing \(self.packageIdentity) archive at '\(archivePath)' to \(registryURL)")
216216
let result = try tsc_await {
217217
registryClient.publish(
218218
registryURL: registryURL,
@@ -231,14 +231,14 @@ extension SwiftPackageRegistryTool {
231231

232232
switch result {
233233
case .published(.none):
234-
print("\(packageIdentity)@\(packageVersion) was successfully published to \(registryURL)")
234+
print("\(packageIdentity) version \(packageVersion) was successfully published to \(registryURL)")
235235
case .published(.some(let location)):
236236
print(
237-
"\(packageIdentity)@\(packageVersion) was successfully published to \(registryURL) and is available at \(location)"
237+
"\(packageIdentity) version \(packageVersion) was successfully published to \(registryURL) and is available at '\(location)'"
238238
)
239239
case .processing(let statusURL, _):
240240
print(
241-
"\(packageIdentity)@\(packageVersion) was successfully submitted to \(registryURL) and is being processed. Publishing status is available at \(statusURL)."
241+
"\(packageIdentity) version \(packageVersion) was successfully submitted to \(registryURL) and is being processed. Publishing status is available at '\(statusURL)'."
242242
)
243243
}
244244
}

Sources/PackageSigning/SigningEntity/PackageSigningEntityStorage.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ public enum PackageSigningEntityStorageError: Error, Equatable, CustomStringConv
6363
public var description: String {
6464
switch self {
6565
case .conflict(let package, let version, let given, let existing):
66-
return "\(package)@\(version) was previously signed by \(existing), which is different from \(given)."
66+
return "\(package) version \(version) was previously signed by '\(existing)', which is different from '\(given)'."
6767
}
6868
}
6969
}

Tests/WorkspaceTests/WorkspaceTests.swift

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13210,7 +13210,7 @@ final class WorkspaceTests: XCTestCase {
1321013210
workspace.checkPackageGraphFailure(roots: ["MyPackage"]) { diagnostics in
1321113211
testDiagnostics(diagnostics) { result in
1321213212
result.check(
13213-
diagnostic: .equal("failed fetching 'org.foo' releases list from 'http://localhost': boom"),
13213+
diagnostic: .equal("failed fetching org.foo releases list from http://localhost: boom"),
1321413214
severity: .error
1321513215
)
1321613216
}
@@ -13233,7 +13233,7 @@ final class WorkspaceTests: XCTestCase {
1323313233
testDiagnostics(diagnostics) { result in
1323413234
result.check(
1323513235
diagnostic: .equal(
13236-
"failed fetching 'org.foo' releases list from 'http://localhost': server error 500: Internal Server Error"
13236+
"failed fetching org.foo releases list from http://localhost: server error 500: Internal Server Error"
1323713237
),
1323813238
severity: .error
1323913239
)
@@ -13296,7 +13296,7 @@ final class WorkspaceTests: XCTestCase {
1329613296
testDiagnostics(diagnostics) { result in
1329713297
result.check(
1329813298
diagnostic: .equal(
13299-
"failed fetching 'org.foo@1.0.0' release information from 'http://localhost': boom"
13299+
"failed fetching org.foo version 1.0.0 release information from http://localhost: boom"
1330013300
),
1330113301
severity: .error
1330213302
)
@@ -13320,7 +13320,7 @@ final class WorkspaceTests: XCTestCase {
1332013320
testDiagnostics(diagnostics) { result in
1332113321
result.check(
1332213322
diagnostic: .equal(
13323-
"failed fetching 'org.foo@1.0.0' release information from 'http://localhost': server error 500: Internal Server Error"
13323+
"failed fetching org.foo version 1.0.0 release information from http://localhost: server error 500: Internal Server Error"
1332413324
),
1332513325
severity: .error
1332613326
)
@@ -13382,7 +13382,7 @@ final class WorkspaceTests: XCTestCase {
1338213382
workspace.checkPackageGraphFailure(roots: ["MyPackage"]) { diagnostics in
1338313383
testDiagnostics(diagnostics) { result in
1338413384
result.check(
13385-
diagnostic: .equal("failed retrieving 'org.foo@1.0.0' manifest from 'http://localhost': boom"),
13385+
diagnostic: .equal("failed retrieving org.foo version 1.0.0 manifest from http://localhost: boom"),
1338613386
severity: .error
1338713387
)
1338813388
}
@@ -13405,7 +13405,7 @@ final class WorkspaceTests: XCTestCase {
1340513405
testDiagnostics(diagnostics) { result in
1340613406
result.check(
1340713407
diagnostic: .equal(
13408-
"failed retrieving 'org.foo@1.0.0' manifest from 'http://localhost': server error 500: Internal Server Error"
13408+
"failed retrieving org.foo version 1.0.0 manifest from http://localhost: server error 500: Internal Server Error"
1340913409
),
1341013410
severity: .error
1341113411
)
@@ -13468,7 +13468,7 @@ final class WorkspaceTests: XCTestCase {
1346813468
testDiagnostics(diagnostics) { result in
1346913469
result.check(
1347013470
diagnostic: .equal(
13471-
"failed downloading 'org.foo@1.0.0' source archive from 'http://localhost': boom"
13471+
"failed downloading org.foo version 1.0.0 source archive from http://localhost: boom"
1347213472
),
1347313473
severity: .error
1347413474
)
@@ -13492,7 +13492,7 @@ final class WorkspaceTests: XCTestCase {
1349213492
testDiagnostics(diagnostics) { result in
1349313493
result.check(
1349413494
diagnostic: .equal(
13495-
"failed downloading 'org.foo@1.0.0' source archive from 'http://localhost': server error 500: Internal Server Error"
13495+
"failed downloading org.foo version 1.0.0 source archive from http://localhost: server error 500: Internal Server Error"
1349613496
),
1349713497
severity: .error
1349813498
)

0 commit comments

Comments
 (0)