| // 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 | |
| } | |
| } |