// swift-tools-version:5.3 // The swift-tools-version declares the minimum version of Swift required to build this package. // The MIT License // // Original work sponsored and donated by The Danish Health Data Authority (http://www.sundhedsdatastyrelsen.dk) // // Copyright (C) 2020 The Danish Health Data Authority (http://www.sundhedsdatastyrelsen.dk) // // Permission is hereby granted, free of charge, to any person obtaining a copy of // this software and associated documentation files (the "Software"), to deal in // the Software without restriction, including without limitation the rights to // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies // of the Software, and to permit persons to whom the Software is furnished to do // so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. import PackageDescription let package = Package( name: "Services", platforms: [ .iOS(.v13) ], products: [ .library( name: "CMSServices", targets: ["CMSServices"] ), .library( name: "ConfigurationServices", targets: ["ConfigurationServices"] ), .library( name: "FeedbackServices", targets: ["FeedbackServices"] ), .library( name: "MaternityServices", targets: ["MaternityServices"] ), .library( name: "PDFServices", targets: ["PDFServices"] ), .library( name: "SharedServices", targets: ["SharedServices"] ), .library( name: "UserSettingsServices", targets: ["UserSettingsServices"] ) ], dependencies: [ .package(path: "../Data"), .package(path: "../Logger"), .package(path: "../HTTPNetworking"), .package(path: "../DependencyInjection") ], targets: [ .target( name: "CMSServices", dependencies: [ .product(name: "CMSData", package: "Data"), .product(name: "ErrorData", package: "Data"), .byName(name: "HTTPNetworking"), .byName(name: "SharedServices"), ], path: "Sources/CMS" ), .target( name: "ConfigurationServices", dependencies: [ .product(name: "ErrorData", package: "Data"), .product(name: "GMAppData", package: "Data"), .byName(name: "HTTPNetworking"), .byName(name: "SharedServices"), ], path: "Sources/Configuration" ), .target( name: "FeedbackServices", dependencies: [ .product(name: "ErrorData", package: "Data"), .product(name: "GMAppData", package: "Data"), .byName(name: "HTTPNetworking"), .byName(name: "SharedServices") ], path: "Sources/Feedback" ), .target( name: "MaternityServices", dependencies: [ .product(name: "ErrorData", package: "Data"), .product(name: "GMAppData", package: "Data"), .product(name: "UIData", package: "Data"), .byName(name: "HTTPNetworking"), .byName(name: "SharedServices") ], path: "Sources/Maternity" ), .target( name: "PDFServices", dependencies: [ .product(name: "ErrorData", package: "Data"), .product(name: "GMAppData", package: "Data"), .byName(name: "HTTPNetworking"), .byName(name: "SharedServices") ], path: "Sources/PDF" ), .target( name: "SharedServices", dependencies: [ .byName(name: "HTTPNetworking"), .product(name: "ErrorData", package: "Data"), .byName(name: "Logger"), .byName(name: "DependencyInjection") ], path: "Sources/Shared" ), .target( name: "ServicesTestHelpers", dependencies: [ .byName(name: "HTTPNetworking"), .product(name: "HTTPMockHelpers", package: "HTTPNetworking"), .product(name: "ErrorData", package: "Data"), .byName(name: "Logger"), .byName(name: "DependencyInjection"), ], path: "Sources/TestHelpers" ), .target( name: "UserSettingsServices", dependencies: [], path: "Sources/UserSettings" ), // MARK: - .testTarget( name: "CMSServicesTests", dependencies: [ .byName(name: "CMSServices"), .product(name: "HTTPMockHelpers", package: "HTTPNetworking"), .byName(name: "ServicesTestHelpers") ], path: "Tests/CMSTests" ), .testTarget( name: "ConfigurationServicesTests", dependencies: [ .byName(name: "ConfigurationServices"), .product(name: "HTTPMockHelpers", package: "HTTPNetworking"), .byName(name: "ServicesTestHelpers") ], path: "Tests/ConfigurationTests" ), .testTarget( name: "FeedbackServicesTests", dependencies: [ .byName(name: "FeedbackServices"), .product(name: "HTTPMockHelpers", package: "HTTPNetworking"), .byName(name: "ServicesTestHelpers") ], path: "Tests/FeedbackTests" ), .testTarget( name: "MaternityServicesTests", dependencies: [ .byName(name: "MaternityServices"), .product(name: "HTTPMockHelpers", package: "HTTPNetworking"), .byName(name: "ServicesTestHelpers") ], path: "Tests/MaternityTests" ), .testTarget( name: "PDFServicesTests", dependencies: [ .byName(name: "PDFServices"), .product(name: "HTTPMockHelpers", package: "HTTPNetworking"), .byName(name: "ServicesTestHelpers") ], path: "Tests/PDFTests" ), .testTarget( name: "SharedServicesTests", dependencies: ["SharedServices"], path: "Tests/SharedTests" ), .testTarget( name: "UserSettingsServicesTests", dependencies: ["UserSettingsServices"], path: "Tests/UserSettingsTests" ), ] )