// swift-tools-version: 6.2 import PackageDescription let package = Package( name: "AppleIntelligenceGRPC", platforms: [ .macOS(.v26) ], products: [ .executable(name: "AppleIntelligenceServer", targets: ["AppleIntelligenceServer"]), .executable(name: "AppleIntelligenceApp", targets: ["AppleIntelligenceApp"]), ], dependencies: [ .package(url: "https://github.com/grpc/grpc-swift.git", from: "2.0.0"), .package(url: "https://github.com/grpc/grpc-swift-nio-transport.git", from: "1.0.0"), .package(url: "https://github.com/grpc/grpc-swift-protobuf.git", from: "1.0.0"), .package(url: "https://github.com/apple/swift-protobuf.git", from: "1.28.0"), .package(url: "https://github.com/apple/swift-argument-parser.git", from: "1.3.0"), ], targets: [ // Shared library with gRPC service code .target( name: "AppleIntelligenceCore", dependencies: [ .product(name: "GRPCCore", package: "grpc-swift"), .product(name: "GRPCNIOTransportHTTP2", package: "grpc-swift-nio-transport"), .product(name: "GRPCProtobuf", package: "grpc-swift-protobuf"), .product(name: "SwiftProtobuf", package: "swift-protobuf"), ], swiftSettings: [ .unsafeFlags(["-Xfrontend", "-suppress-warnings"]) ] ), // CLI server (original) .executableTarget( name: "AppleIntelligenceServer", dependencies: [ "AppleIntelligenceCore", .product(name: "ArgumentParser", package: "swift-argument-parser"), ], swiftSettings: [ .unsafeFlags(["-parse-as-library"]), .unsafeFlags(["-Xfrontend", "-suppress-warnings"]) ] ), // Menu bar app .executableTarget( name: "AppleIntelligenceApp", dependencies: [ "AppleIntelligenceCore", ], exclude: [ "Info.plist" ], swiftSettings: [ .unsafeFlags(["-parse-as-library"]), .unsafeFlags(["-Xfrontend", "-suppress-warnings"]) ] ), ] )