Adopt strict concurrency for project (#157)
* Adopt strict concurrency for project * Fix one warning related to that * Add version-specific manifest for Swift 6.0 --------- Co-authored-by: Alexey Ivashko <a_ivashko@apple.com> Co-authored-by: Mattt Zmuda <mattt@me.com>
This commit is contained in:
parent
f1b50e6de2
commit
78d187716e
3 changed files with 60 additions and 5 deletions
|
|
@ -1,4 +1,4 @@
|
|||
// swift-tools-version:6.0
|
||||
// swift-tools-version:6.1
|
||||
// The swift-tools-version declares the minimum version of Swift required to build this package.
|
||||
|
||||
import PackageDescription
|
||||
|
|
@ -7,14 +7,16 @@ import PackageDescription
|
|||
var dependencies: [Package.Dependency] = [
|
||||
.package(url: "https://github.com/apple/swift-system.git", from: "1.0.0"),
|
||||
.package(url: "https://github.com/apple/swift-log.git", from: "1.5.0"),
|
||||
.package(url: "https://github.com/mattt/eventsource.git", from: "1.1.0")
|
||||
.package(url: "https://github.com/mattt/eventsource.git", from: "1.1.0"),
|
||||
]
|
||||
|
||||
// Target dependencies needed on all platforms
|
||||
var targetDependencies: [Target.Dependency] = [
|
||||
.product(name: "SystemPackage", package: "swift-system"),
|
||||
.product(name: "Logging", package: "swift-log"),
|
||||
.product(name: "EventSource", package: "eventsource", condition: .when(platforms: [.macOS, .iOS, .tvOS, .visionOS, .watchOS]))
|
||||
.product(
|
||||
name: "EventSource", package: "eventsource",
|
||||
condition: .when(platforms: [.macOS, .iOS, .tvOS, .visionOS, .watchOS])),
|
||||
]
|
||||
|
||||
let package = Package(
|
||||
|
|
@ -39,7 +41,11 @@ let package = Package(
|
|||
// Targets can depend on other targets in this package and products from dependencies.
|
||||
.target(
|
||||
name: "MCP",
|
||||
dependencies: targetDependencies),
|
||||
dependencies: targetDependencies,
|
||||
swiftSettings: [
|
||||
.enableUpcomingFeature("StrictConcurrency")
|
||||
]
|
||||
),
|
||||
.testTarget(
|
||||
name: "MCPTests",
|
||||
dependencies: ["MCP"] + targetDependencies),
|
||||
|
|
|
|||
49
Package@swift-6.0.swift
Normal file
49
Package@swift-6.0.swift
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
// swift-tools-version:6.0
|
||||
// The swift-tools-version declares the minimum version of Swift required to build this package.
|
||||
|
||||
import PackageDescription
|
||||
|
||||
// Base dependencies needed on all platforms
|
||||
var dependencies: [Package.Dependency] = [
|
||||
.package(url: "https://github.com/apple/swift-system.git", from: "1.0.0"),
|
||||
.package(url: "https://github.com/apple/swift-log.git", from: "1.5.0"),
|
||||
.package(url: "https://github.com/mattt/eventsource.git", from: "1.1.0"),
|
||||
]
|
||||
|
||||
// Target dependencies needed on all platforms
|
||||
var targetDependencies: [Target.Dependency] = [
|
||||
.product(name: "SystemPackage", package: "swift-system"),
|
||||
.product(name: "Logging", package: "swift-log"),
|
||||
.product(
|
||||
name: "EventSource", package: "eventsource",
|
||||
condition: .when(platforms: [.macOS, .iOS, .tvOS, .visionOS, .watchOS])),
|
||||
]
|
||||
|
||||
let package = Package(
|
||||
name: "mcp-swift-sdk",
|
||||
platforms: [
|
||||
.macOS("13.0"),
|
||||
.macCatalyst("16.0"),
|
||||
.iOS("16.0"),
|
||||
.watchOS("9.0"),
|
||||
.tvOS("16.0"),
|
||||
.visionOS("1.0"),
|
||||
],
|
||||
products: [
|
||||
// Products define the executables and libraries a package produces, making them visible to other packages.
|
||||
.library(
|
||||
name: "MCP",
|
||||
targets: ["MCP"])
|
||||
],
|
||||
dependencies: dependencies,
|
||||
targets: [
|
||||
// Targets are the basic building blocks of a package, defining a module or a test suite.
|
||||
// Targets can depend on other targets in this package and products from dependencies.
|
||||
.target(
|
||||
name: "MCP",
|
||||
dependencies: targetDependencies),
|
||||
.testTarget(
|
||||
name: "MCPTests",
|
||||
dependencies: ["MCP"] + targetDependencies),
|
||||
]
|
||||
)
|
||||
|
|
@ -20,7 +20,7 @@ extension Value: NotRequired {
|
|||
// MARK: -
|
||||
|
||||
/// A method that can be used to send requests and receive responses.
|
||||
public protocol Method {
|
||||
public protocol Method: Sendable {
|
||||
/// The parameters of the method.
|
||||
associatedtype Parameters: Codable, Hashable, Sendable = Empty
|
||||
/// The result of the method.
|
||||
|
|
|
|||
Loading…
Reference in a new issue