Files
openclaw/apps/macos/Package.swift

99 lines
3.8 KiB
Swift
Raw Normal View History

2025-12-05 23:13:53 +01:00
// swift-tools-version: 6.2
2026-01-04 14:32:47 +00:00
// Package manifest for the Clawdbot macOS companion (menu bar app + IPC library).
2025-12-05 23:13:53 +01:00
import PackageDescription
let package = Package(
2026-01-04 14:32:47 +00:00
name: "Clawdbot",
2025-12-05 23:13:53 +01:00
platforms: [
.macOS(.v15),
],
products: [
2026-01-04 14:32:47 +00:00
.library(name: "ClawdbotIPC", targets: ["ClawdbotIPC"]),
.library(name: "ClawdbotDiscovery", targets: ["ClawdbotDiscovery"]),
2026-01-04 14:32:47 +00:00
.executable(name: "Clawdbot", targets: ["Clawdbot"]),
.executable(name: "clawdbot-mac-discovery", targets: ["ClawdbotDiscoveryCLI"]),
2025-12-05 23:13:53 +01:00
],
dependencies: [
2025-12-06 01:07:15 +01:00
.package(url: "https://github.com/orchetect/MenuBarExtraAccess", exact: "1.2.2"),
.package(url: "https://github.com/swiftlang/swift-subprocess.git", from: "0.1.0"),
.package(url: "https://github.com/apple/swift-log.git", from: "1.8.0"),
.package(url: "https://github.com/sparkle-project/Sparkle", from: "2.8.1"),
2026-01-04 14:32:47 +00:00
.package(path: "../shared/ClawdbotKit"),
2025-12-23 01:30:40 +01:00
.package(path: "../../Swabble"),
2025-12-13 16:55:41 +00:00
.package(path: "../../Peekaboo/Core/PeekabooCore"),
.package(path: "../../Peekaboo/Core/PeekabooAutomationKit"),
2025-12-05 23:13:53 +01:00
],
targets: [
.target(
2026-01-04 14:32:47 +00:00
name: "ClawdbotProtocol",
dependencies: [],
2026-01-04 14:32:47 +00:00
path: "Sources/ClawdbotProtocol",
swiftSettings: [
.enableUpcomingFeature("StrictConcurrency"),
]),
2025-12-05 23:13:53 +01:00
.target(
2026-01-04 14:32:47 +00:00
name: "ClawdbotIPC",
2025-12-05 23:13:53 +01:00
dependencies: [],
swiftSettings: [
.enableUpcomingFeature("StrictConcurrency"),
2025-12-07 01:55:30 +01:00
]),
.target(
name: "ClawdbotDiscovery",
dependencies: [
.product(name: "ClawdbotKit", package: "ClawdbotKit"),
],
path: "Sources/ClawdbotDiscovery",
swiftSettings: [
.enableUpcomingFeature("StrictConcurrency"),
]),
2025-12-05 23:13:53 +01:00
.executableTarget(
2026-01-04 14:32:47 +00:00
name: "Clawdbot",
2025-12-05 23:13:53 +01:00
dependencies: [
2026-01-04 14:32:47 +00:00
"ClawdbotIPC",
"ClawdbotDiscovery",
2026-01-04 14:32:47 +00:00
"ClawdbotProtocol",
.product(name: "ClawdbotKit", package: "ClawdbotKit"),
.product(name: "ClawdbotChatUI", package: "ClawdbotKit"),
2025-12-23 01:30:40 +01:00
.product(name: "SwabbleKit", package: "swabble"),
2025-12-06 01:07:15 +01:00
.product(name: "MenuBarExtraAccess", package: "MenuBarExtraAccess"),
.product(name: "Subprocess", package: "swift-subprocess"),
.product(name: "Logging", package: "swift-log"),
.product(name: "Sparkle", package: "Sparkle"),
2025-12-13 16:55:41 +00:00
.product(name: "PeekabooBridge", package: "PeekabooCore"),
.product(name: "PeekabooAutomationKit", package: "PeekabooAutomationKit"),
2025-12-05 23:13:53 +01:00
],
exclude: [
"Resources/Info.plist",
],
resources: [
2026-01-04 14:32:47 +00:00
.copy("Resources/Clawdbot.icns"),
.copy("Resources/DeviceModels"),
],
2025-12-05 23:13:53 +01:00
swiftSettings: [
.enableUpcomingFeature("StrictConcurrency"),
2025-12-07 01:55:30 +01:00
]),
.executableTarget(
name: "ClawdbotDiscoveryCLI",
dependencies: [
"ClawdbotDiscovery",
],
path: "Sources/ClawdbotDiscoveryCLI",
swiftSettings: [
.enableUpcomingFeature("StrictConcurrency"),
]),
2025-12-05 23:13:53 +01:00
.testTarget(
2026-01-04 14:32:47 +00:00
name: "ClawdbotIPCTests",
2025-12-23 01:30:40 +01:00
dependencies: [
2026-01-04 14:32:47 +00:00
"ClawdbotIPC",
"Clawdbot",
"ClawdbotDiscovery",
2026-01-04 14:32:47 +00:00
"ClawdbotProtocol",
2025-12-23 01:30:40 +01:00
.product(name: "SwabbleKit", package: "swabble"),
],
2025-12-05 23:13:53 +01:00
swiftSettings: [
.enableUpcomingFeature("StrictConcurrency"),
.enableExperimentalFeature("SwiftTesting"),
2025-12-07 01:55:30 +01:00
]),
])