// swift-tools-version:5.9 /* * Copyright 2020 Google Inc. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import PackageDescription let package = Package( name: "FlatBuffers", platforms: [ .iOS(.v12), .macOS(.v10_14), ], products: [ .library( name: "FlatBuffers", targets: ["FlatBuffers"]), .library( name: "FlexBuffers", targets: ["FlexBuffers"]), ], dependencies: .dependencies, targets: [ .target( name: "FlatBuffers", dependencies: ["Common"], path: "swift/Sources/FlatBuffers"), .target( name: "FlexBuffers", dependencies: ["Common"], path: "swift/Sources/FlexBuffers"), .target( name: "Common", path: "swift/Sources/Common"), .testTarget( name: "FlatbuffersTests", dependencies: .dependencies, path: "tests/swift/Tests/Flatbuffers"), .testTarget( name: "FlexbuffersTests", dependencies: ["FlexBuffers"], path: "tests/swift/Tests/Flexbuffers"), ]) extension Array where Element == Package.Dependency { static var dependencies: [Package.Dependency] { #if os(Windows) [] #else // Test only Dependency [.package(url: "https://github.com/grpc/grpc-swift.git", from: "1.4.1")] #endif } } extension Array where Element == PackageDescription.Target.Dependency { static var dependencies: [PackageDescription.Target.Dependency] { #if os(Windows) ["FlatBuffers"] #else // Test only Dependency [ .product(name: "GRPC", package: "grpc-swift"), "FlatBuffers", ] #endif } }