@@ -29,35 +29,6 @@ public struct ManifestParseDiagnostic: DiagnosticData {
29
29
}
30
30
}
31
31
32
- public struct ManifestEmptyProductTargets : DiagnosticData {
33
- public let productName : String
34
-
35
- public var description : String {
36
- " manifest parse error: product ' \( productName) ' doesn't reference any targets \n "
37
- }
38
- }
39
-
40
- public struct ManifestProductTargetNotFound : DiagnosticData {
41
- public let productName : String
42
- public let targetName : String
43
-
44
- public var description : String {
45
- " manifest parse error: target ' \( targetName) ' referenced in product ' \( productName) ' could not be found \n "
46
- }
47
- }
48
-
49
- public struct ManifestInvalidBinaryProductType : DiagnosticData {
50
- public let productName : String
51
-
52
- public var description : String {
53
- """
54
- manifest parse error: invalid type for binary product ' \( productName) '; a binary product can only be a library \
55
- with no defined type
56
-
57
- """
58
- }
59
- }
60
-
61
32
public struct ManifestDuplicateDependencyURLsDiagnostic : DiagnosticData {
62
33
public let duplicates : [ [ PackageDependencyDescription ] ]
63
34
@@ -78,15 +49,6 @@ public struct ManifestDuplicateDependencyURLsDiagnostic: DiagnosticData {
78
49
}
79
50
}
80
51
81
- public struct ManifestTargetDependencyUnknownPackageDiagnostic : DiagnosticData {
82
- public let targetName : String
83
- public let packageName : String
84
-
85
- public var description : String {
86
- " manifest parse error: target ' \( targetName) ' depends on an unknown package ' \( packageName) ' \n "
87
- }
88
- }
89
-
90
52
public struct ManifestDuplicateDependencyNamesDiagnostic : DiagnosticData {
91
53
public let duplicates : [ [ PackageDependencyDescription ] ]
92
54
@@ -108,48 +70,6 @@ public struct ManifestDuplicateDependencyNamesDiagnostic: DiagnosticData {
108
70
}
109
71
}
110
72
111
- public struct ManifestDuplicateTargetNamesDiagnostic : DiagnosticData {
112
- public let duplicates : [ String ]
113
-
114
- public var description : String {
115
- " manifest parse error: duplicate target names: \( duplicates. joined ( separator: " , " ) ) \n "
116
- }
117
- }
118
-
119
- public struct ManifestInvalidBinaryLocationDiagnostic : DiagnosticData {
120
- public let targetName : String
121
-
122
- public var description : String {
123
- " manifest parse error: invalid location of binary target ' \( targetName) ' \n "
124
- }
125
- }
126
-
127
- public struct ManifestInvalidBinaryURLSchemeDiagnostic : DiagnosticData {
128
- public let targetName : String
129
- public let validSchemes : [ String ]
130
-
131
- public var description : String {
132
- """
133
- manifest parse error: invalid URL scheme for binary target ' \( targetName) ' (valid schemes are \
134
- \( validSchemes. joined ( separator: " , " ) )
135
-
136
- """
137
- }
138
- }
139
-
140
- public struct ManifestInvalidBinaryLocationExtensionDiagnostic : DiagnosticData {
141
- public let targetName : String
142
- public let validExtensions : [ String ]
143
-
144
- public var description : String {
145
- """
146
- manifest parse error: unsupported extension of binary target ' \( targetName) ' (valid extensions are \
147
- \( validExtensions. joined ( separator: " , " ) ) )
148
-
149
- """
150
- }
151
- }
152
-
153
73
extension ManifestParseError : DiagnosticDataConvertible {
154
74
public var diagnosticData : DiagnosticData {
155
75
switch self {
@@ -158,25 +78,25 @@ extension ManifestParseError: DiagnosticDataConvertible {
158
78
case . runtimeManifestErrors( let errors) :
159
79
return ManifestParseDiagnostic ( errors, diagnosticFile: nil )
160
80
case . emptyProductTargets( let productName) :
161
- return ManifestEmptyProductTargets ( productName: productName)
81
+ return Diagnostic . Message . emptyProductTargets ( productName: productName) . data
162
82
case . productTargetNotFound( let productName, let targetName) :
163
- return ManifestProductTargetNotFound ( productName: productName, targetName: targetName)
83
+ return Diagnostic . Message . productTargetNotFound ( productName: productName, targetName: targetName) . data
164
84
case . invalidBinaryProductType( let productName) :
165
- return ManifestInvalidBinaryProductType ( productName: productName)
85
+ return Diagnostic . Message . invalidBinaryProductType ( productName: productName) . data
166
86
case . duplicateDependencyURLs( let duplicates) :
167
87
return ManifestDuplicateDependencyURLsDiagnostic ( duplicates: duplicates)
168
88
case . duplicateTargetNames( let targetNames) :
169
- return ManifestDuplicateTargetNamesDiagnostic ( duplicates: targetNames)
89
+ return Diagnostic . Message . duplicateTargetNames ( duplicates: targetNames) . data
170
90
case . unknownTargetDependencyPackage( let targetName, let packageName) :
171
- return ManifestTargetDependencyUnknownPackageDiagnostic ( targetName: targetName, packageName: packageName)
91
+ return Diagnostic . Message . unknownTargetDependencyPackage ( targetName: targetName, packageName: packageName) . data
172
92
case . duplicateDependencyNames( let duplicates) :
173
93
return ManifestDuplicateDependencyNamesDiagnostic ( duplicates: duplicates)
174
94
case . invalidBinaryLocation( let targetName) :
175
- return ManifestInvalidBinaryLocationDiagnostic ( targetName: targetName)
95
+ return Diagnostic . Message . invalidBinaryLocation ( targetName: targetName) . data
176
96
case . invalidBinaryURLScheme( let targetName, let validSchemes) :
177
- return ManifestInvalidBinaryURLSchemeDiagnostic ( targetName: targetName, validSchemes: validSchemes)
97
+ return Diagnostic . Message . invalidBinaryURLScheme ( targetName: targetName, validSchemes: validSchemes) . data
178
98
case . invalidBinaryLocationExtension( let targetName, let validExtensions) :
179
- return ManifestInvalidBinaryLocationExtensionDiagnostic ( targetName: targetName, validExtensions: validExtensions)
99
+ return Diagnostic . Message . invalidBinaryLocationExtension ( targetName: targetName, validExtensions: validExtensions) . data
180
100
}
181
101
}
182
102
}
@@ -339,4 +259,36 @@ extension Diagnostic.Message {
339
259
static func artifactFailedExtraction( targetName: String , reason: String ) -> Diagnostic . Message {
340
260
. error( " artifact of binary target ' \( targetName) ' failed extraction: \( reason) " )
341
261
}
262
+
263
+ static func productTargetNotFound( productName: String , targetName: String ) -> Diagnostic . Message {
264
+ . error( " manifest parse error: target ' \( targetName) ' referenced in product ' \( productName) ' could not be found " )
265
+ }
266
+
267
+ static func emptyProductTargets( productName: String ) -> Diagnostic . Message {
268
+ . error( " manifest parse error: product ' \( productName) ' doesn't reference any targets " )
269
+ }
270
+
271
+ static func invalidBinaryProductType( productName: String ) -> Diagnostic . Message {
272
+ . error( " manifest parse error: invalid type for binary product ' \( productName) '; a binary product can only be a library with no defined type " )
273
+ }
274
+
275
+ static func duplicateTargetNames( duplicates: [ String ] ) -> Diagnostic . Message {
276
+ . error( " manifest parse error: duplicate target names: \( duplicates. joined ( separator: " , " ) ) " )
277
+ }
278
+
279
+ static func unknownTargetDependencyPackage( targetName: String , packageName: String ) -> Diagnostic . Message {
280
+ . error( " manifest parse error: target ' \( targetName) ' depends on an unknown package ' \( packageName) ' " )
281
+ }
282
+
283
+ static func invalidBinaryLocation( targetName: String ) -> Diagnostic . Message {
284
+ . error( " manifest parse error: invalid location of binary target ' \( targetName) ' " )
285
+ }
286
+
287
+ static func invalidBinaryURLScheme( targetName: String , validSchemes: [ String ] ) -> Diagnostic . Message {
288
+ . error( " manifest parse error: invalid URL scheme for binary target ' \( targetName) ' (valid schemes are \( validSchemes. joined ( separator: " , " ) ) " )
289
+ }
290
+
291
+ static func invalidBinaryLocationExtension( targetName: String , validExtensions: [ String ] ) -> Diagnostic . Message {
292
+ . error( " manifest parse error: unsupported extension of binary target ' \( targetName) ' (valid extensions are \( validExtensions. joined ( separator: " , " ) ) " )
293
+ }
342
294
}
0 commit comments