| // swift-tools-version:6.0 |
| /* |
| * 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", |
| swiftSettings: .settings), |
| .target( |
| name: "FlexBuffers", |
| dependencies: ["Common"], |
| path: "swift/Sources/FlexBuffers", |
| swiftSettings: .settings), |
| .target( |
| name: "Common", |
| path: "swift/Sources/Common", |
| swiftSettings: .settings), |
| .testTarget( |
| name: "FlatbuffersTests", |
| dependencies: .dependencies, |
| path: "tests/swift/Tests/Flatbuffers"), |
| .testTarget( |
| name: "FlexbuffersTests", |
| dependencies: ["FlexBuffers"], |
| path: "tests/swift/Tests/Flexbuffers"), |
| ], |
| swiftLanguageModes: [.v6]) |
| |
| extension Array where Element == SwiftSetting { |
| static var settings: [SwiftSetting] { |
| [.enableUpcomingFeature("ExistentialAny")] |
| } |
| } |
| |
| 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-2.git", from: "2.0.0"), |
| .package( |
| url: "https://github.com/grpc/grpc-swift-nio-transport.git", |
| from: "2.0.0"), |
| ] |
| #endif |
| } |
| } |
| |
| extension Array where Element == PackageDescription.Target.Dependency { |
| static var dependencies: [PackageDescription.Target.Dependency] { |
| #if os(Windows) |
| ["FlatBuffers"] |
| #else |
| // Test only Dependency |
| [ |
| .product(name: "GRPCCore", package: "grpc-swift-2"), |
| .product( |
| name: "GRPCNIOTransportHTTP2", |
| package: "grpc-swift-nio-transport"), |
| "FlatBuffers", |
| ] |
| #endif |
| } |
| } |