Skip to content

Commit fd4f39b

Browse files
committed
Warn if the DocC executable doesn't support combined documentation
1 parent 7f7f636 commit fd4f39b

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

Plugins/Swift-DocC Convert/SwiftDocCConvert.swift

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,18 @@ import PackagePlugin
3232
let verbose = argumentExtractor.extractFlag(named: "verbose") > 0
3333
let isCombinedDocumentationEnabled = argumentExtractor.extractFlag(named: PluginFlag.enableCombinedDocumentationSupportFlagName) > 0
3434

35+
if isCombinedDocumentationEnabled {
36+
let doccFeatures = try? DocCFeatures(doccExecutable: doccExecutableURL)
37+
guard doccFeatures?.contains(.linkDependencies) == true else {
38+
// The developer uses the combined documentation plugin flag with a DocC version that doesn't support combined documentation.
39+
Diagnostics.error("""
40+
Unsupported use of '--\(PluginFlag.enableCombinedDocumentationSupportFlagName)'. \
41+
DocC version at '\(doccExecutableURL.path)' doesn't support combined documentation.
42+
""")
43+
return
44+
}
45+
}
46+
3547
// Parse the given command-line arguments
3648
let parsedArguments = ParsedArguments(argumentExtractor.remainingArguments)
3749

0 commit comments

Comments
 (0)