| |
|
|
| import PackageDescription |
|
|
| let package = Package( |
| name: "OpenClawKit", |
| platforms: [ |
| .iOS(.v18), |
| .macOS(.v15), |
| ], |
| products: [ |
| .library(name: "OpenClawProtocol", targets: ["OpenClawProtocol"]), |
| .library(name: "OpenClawKit", targets: ["OpenClawKit"]), |
| .library(name: "OpenClawChatUI", targets: ["OpenClawChatUI"]), |
| ], |
| dependencies: [ |
| .package(url: "https://github.com/steipete/ElevenLabsKit", exact: "0.1.0"), |
| .package(url: "https://github.com/gonzalezreal/textual", exact: "0.3.1"), |
| ], |
| targets: [ |
| .target( |
| name: "OpenClawProtocol", |
| path: "Sources/OpenClawProtocol", |
| swiftSettings: [ |
| .enableUpcomingFeature("StrictConcurrency"), |
| ]), |
| .target( |
| name: "OpenClawKit", |
| dependencies: [ |
| "OpenClawProtocol", |
| .product(name: "ElevenLabsKit", package: "ElevenLabsKit"), |
| ], |
| path: "Sources/OpenClawKit", |
| resources: [ |
| .process("Resources"), |
| ], |
| swiftSettings: [ |
| .enableUpcomingFeature("StrictConcurrency"), |
| ]), |
| .target( |
| name: "OpenClawChatUI", |
| dependencies: [ |
| "OpenClawKit", |
| .product( |
| name: "Textual", |
| package: "textual", |
| condition: .when(platforms: [.macOS, .iOS])), |
| ], |
| path: "Sources/OpenClawChatUI", |
| swiftSettings: [ |
| .enableUpcomingFeature("StrictConcurrency"), |
| ]), |
| .testTarget( |
| name: "OpenClawKitTests", |
| dependencies: ["OpenClawKit", "OpenClawChatUI"], |
| path: "Tests/OpenClawKitTests", |
| swiftSettings: [ |
| .enableUpcomingFeature("StrictConcurrency"), |
| .enableExperimentalFeature("SwiftTesting"), |
| ]), |
| ]) |
|
|