Добавление swift-docc-plugin в мой проект приводит к сбою сборки Swift 5.5
У меня есть проект , в который я недавно добавил swift-docc-plugin, чтобы я мог экспортировать документацию DocC как статический веб-сайт.
// swift-tools-version:5.5
import PackageDescription
let package = Package(
name: "Saga",
platforms: [
.macOS(.v12)
],
products: [
.library(name: "Saga", targets: ["Saga"]),
.executable(name: "watch", targets: ["SagaCLI"])
],
dependencies: [
.package(url: "https://github.com/kylef/PathKit", from: "1.0.1"),
.package(url: "https://github.com/JohnSundell/Codextended.git", from: "0.1.0"),
.package(url: "https://github.com/apple/swift-docc-plugin.git", branch: "main"),
],
targets: [
.target(
name: "Saga",
dependencies: [
"PathKit",
"Codextended",
]
),
.executableTarget(
name: "SagaCLI",
dependencies: ["PathKit"]
),
.testTarget(
name: "SagaTests",
dependencies: ["Saga"]
),
]
)
Проблема в том, что в Swift Package Index все сборки на Swift 5.5 и ниже не работают:
error: package at 'https://github.com/apple/swift-docc-plugin.git' @ 859caac534e94ace18b894ccd9ed301ae4aeda84 is using Swift tools version 5.6.0 but the installed version is 5.5.0 in https://github.com/apple/swift-docc-plugin.git
См. https://swiftpackageindex.com/builds/1DF06709-E2CA-4F56-B793-9CC7C8FC0A9D для полного журнала сборки.
Как мне это решить? Думаю, я мог бы удалить swift-docc-plugin из зависимостей и добавлять его каждый раз, когда хочу экспортировать документы, но это кажется смехотворно раздражающим обходным путем. Я действительно не хочу увеличивать минимальную версию моей библиотеки только из-за swift-docc-plugin.
2 ответа
В конце концов решение оказалось довольно простым. Просто добавьте это в конец Package.swift
#if swift(>=5.6)
package.dependencies += [
.package(url: "https://github.com/apple/swift-docc-plugin", from: "1.0.0")
]
#endif
К сожалению, я не думаю, что есть способ обойти это из-за того, как мы тестируем пакет, собирая его.
Вот еще подробности: https://github.com/SwiftPackageIndex/SwiftPackageIndex-Server/issues/1633#issuecomment-1075899345