This PR contains the work done to setup the library and also, the necessary protocols, model, structs, and error definitions to implement remote service clients. Reviewed-on: #4 Co-authored-by: Javier Cicchelli <javier@rock-n-code.com> Co-committed-by: Javier Cicchelli <javier@rock-n-code.com>
91 lines
2.1 KiB
Swift
91 lines
2.1 KiB
Swift
// swift-tools-version: 5.10
|
|
|
|
import PackageDescription
|
|
|
|
let package = Package(
|
|
name: .Package.name,
|
|
platforms: [
|
|
.iOS(.v14)
|
|
],
|
|
products: [
|
|
.library(
|
|
name: .Product.name.kit,
|
|
targets: [
|
|
.Target.feed.kit,
|
|
.Target.foundation.kit,
|
|
.Target.iTunes.kit,
|
|
]
|
|
),
|
|
],
|
|
targets: [
|
|
.target(
|
|
name: .Target.feed.kit,
|
|
dependencies: [
|
|
.byName(name: .Target.foundation.kit),
|
|
],
|
|
path: "Feed/Kit"
|
|
),
|
|
.target(
|
|
name: .Target.foundation.kit,
|
|
path: "Foundation/Kit"
|
|
),
|
|
.target(
|
|
name: .Target.iTunes.kit,
|
|
dependencies: [
|
|
.byName(name: .Target.feed.kit),
|
|
.byName(name: .Target.foundation.kit),
|
|
],
|
|
path: "iTunes/Kit"
|
|
),
|
|
.testTarget(
|
|
name: .Target.feed.test,
|
|
dependencies: [
|
|
.byName(name: .Target.feed.kit),
|
|
],
|
|
path: "Feed/Test"
|
|
),
|
|
.testTarget(
|
|
name: .Target.foundation.test,
|
|
dependencies: [
|
|
.byName(name: .Target.foundation.kit),
|
|
],
|
|
path: "Foundation/Test"
|
|
),
|
|
.testTarget(
|
|
name: .Target.iTunes.test,
|
|
dependencies: [
|
|
.byName(name: .Target.iTunes.kit),
|
|
],
|
|
path: "iTunes/Test"
|
|
),
|
|
]
|
|
)
|
|
|
|
// MARK: - String+Constants
|
|
private extension String {
|
|
enum Package {
|
|
static let name = "reviews-kit"
|
|
}
|
|
|
|
enum Product {
|
|
static let name = "Reviews"
|
|
}
|
|
|
|
enum Target {
|
|
static let feed = "\(String.Product.name)Feed"
|
|
static let foundation = "\(String.Product.name)Foundation"
|
|
static let iTunes = "\(String.Product.name)iTunes"
|
|
}
|
|
}
|
|
|
|
// MARK: - String+Computed
|
|
private extension String {
|
|
var kit: String {
|
|
"\(self)Kit"
|
|
}
|
|
|
|
var test: String {
|
|
"\(self)Test"
|
|
}
|
|
}
|