2024-03-16 01:53:37 +00:00
|
|
|
// swift-tools-version: 5.10
|
|
|
|
|
|
|
|
import PackageDescription
|
|
|
|
|
|
|
|
let package = Package(
|
|
|
|
name: .Package.name,
|
|
|
|
platforms: [
|
|
|
|
.iOS(.v14)
|
|
|
|
],
|
|
|
|
products: [
|
|
|
|
.library(
|
|
|
|
name: .Product.name.kit,
|
|
|
|
targets: [
|
2024-03-21 16:40:30 +00:00
|
|
|
.Target.coordination.kit,
|
2024-03-17 15:15:44 +00:00
|
|
|
.Target.feed.kit,
|
2024-03-18 02:22:25 +00:00
|
|
|
.Target.filter.kit,
|
2024-03-17 15:15:44 +00:00
|
|
|
.Target.foundation.kit,
|
|
|
|
.Target.iTunes.kit,
|
2024-03-19 08:31:13 +00:00
|
|
|
.Target.ui.kit,
|
2024-03-16 01:53:37 +00:00
|
|
|
]
|
|
|
|
),
|
|
|
|
],
|
|
|
|
targets: [
|
2024-03-21 16:40:30 +00:00
|
|
|
.target(
|
|
|
|
name: .Target.coordination.kit,
|
|
|
|
dependencies: [
|
|
|
|
.byName(name: .Target.foundation.kit),
|
2024-03-21 22:56:38 +00:00
|
|
|
.byName(name: .Target.ui.kit),
|
2024-03-21 16:40:30 +00:00
|
|
|
],
|
|
|
|
path: "Coordination/Kit"
|
|
|
|
),
|
2024-03-16 01:53:37 +00:00
|
|
|
.target(
|
2024-03-17 15:15:44 +00:00
|
|
|
name: .Target.feed.kit,
|
|
|
|
dependencies: [
|
|
|
|
.byName(name: .Target.foundation.kit),
|
|
|
|
],
|
|
|
|
path: "Feed/Kit"
|
|
|
|
),
|
2024-03-18 02:22:25 +00:00
|
|
|
.target(
|
|
|
|
name: .Target.filter.kit,
|
|
|
|
dependencies: [
|
|
|
|
.byName(name: .Target.foundation.kit),
|
|
|
|
],
|
|
|
|
path: "Filter/Kit"
|
|
|
|
),
|
2024-03-17 15:15:44 +00:00
|
|
|
.target(
|
|
|
|
name: .Target.foundation.kit,
|
2024-03-16 01:53:37 +00:00
|
|
|
path: "Foundation/Kit"
|
|
|
|
),
|
2024-03-17 15:15:44 +00:00
|
|
|
.target(
|
|
|
|
name: .Target.iTunes.kit,
|
|
|
|
dependencies: [
|
|
|
|
.byName(name: .Target.feed.kit),
|
|
|
|
.byName(name: .Target.foundation.kit),
|
|
|
|
],
|
|
|
|
path: "iTunes/Kit"
|
|
|
|
),
|
2024-03-19 08:31:13 +00:00
|
|
|
.target(
|
|
|
|
name: .Target.ui.kit,
|
|
|
|
dependencies: [
|
|
|
|
.byName(name: .Target.foundation.kit),
|
|
|
|
],
|
|
|
|
path: "UI/Kit"
|
|
|
|
),
|
2024-03-21 16:40:30 +00:00
|
|
|
.testTarget(
|
|
|
|
name: .Target.coordination.test,
|
|
|
|
dependencies: [
|
|
|
|
.byName(name: .Target.coordination.kit),
|
|
|
|
],
|
|
|
|
path: "Coordination/Test"
|
|
|
|
),
|
2024-03-17 15:15:44 +00:00
|
|
|
.testTarget(
|
|
|
|
name: .Target.feed.test,
|
|
|
|
dependencies: [
|
|
|
|
.byName(name: .Target.feed.kit),
|
|
|
|
],
|
|
|
|
path: "Feed/Test"
|
|
|
|
),
|
2024-03-18 02:22:25 +00:00
|
|
|
.testTarget(
|
|
|
|
name: .Target.filter.test,
|
|
|
|
dependencies: [
|
|
|
|
.byName(name: .Target.filter.kit),
|
|
|
|
],
|
|
|
|
path: "Filter/Test"
|
|
|
|
),
|
2024-03-16 01:53:37 +00:00
|
|
|
.testTarget(
|
|
|
|
name: .Target.foundation.test,
|
|
|
|
dependencies: [
|
2024-03-17 15:15:44 +00:00
|
|
|
.byName(name: .Target.foundation.kit),
|
2024-03-16 01:53:37 +00:00
|
|
|
],
|
|
|
|
path: "Foundation/Test"
|
|
|
|
),
|
2024-03-17 15:15:44 +00:00
|
|
|
.testTarget(
|
|
|
|
name: .Target.iTunes.test,
|
|
|
|
dependencies: [
|
|
|
|
.byName(name: .Target.iTunes.kit),
|
|
|
|
],
|
|
|
|
path: "iTunes/Test"
|
|
|
|
),
|
2024-03-19 08:31:13 +00:00
|
|
|
.testTarget(
|
|
|
|
name: .Target.ui.test,
|
|
|
|
dependencies: [
|
|
|
|
.byName(name: .Target.ui.kit),
|
|
|
|
],
|
|
|
|
path: "UI/Test"
|
|
|
|
),
|
2024-03-16 01:53:37 +00:00
|
|
|
]
|
|
|
|
)
|
|
|
|
|
|
|
|
// MARK: - String+Constants
|
|
|
|
private extension String {
|
|
|
|
enum Package {
|
|
|
|
static let name = "reviews-kit"
|
|
|
|
}
|
|
|
|
|
|
|
|
enum Product {
|
|
|
|
static let name = "Reviews"
|
|
|
|
}
|
|
|
|
|
|
|
|
enum Target {
|
2024-03-21 16:40:30 +00:00
|
|
|
static let coordination = "\(String.Product.name)Coordination"
|
2024-03-17 15:15:44 +00:00
|
|
|
static let feed = "\(String.Product.name)Feed"
|
2024-03-18 02:22:25 +00:00
|
|
|
static let filter = "\(String.Product.name)Filter"
|
2024-03-16 01:53:37 +00:00
|
|
|
static let foundation = "\(String.Product.name)Foundation"
|
2024-03-17 15:15:44 +00:00
|
|
|
static let iTunes = "\(String.Product.name)iTunes"
|
2024-03-19 08:31:13 +00:00
|
|
|
static let ui = "\(String.Product.name)UI"
|
2024-03-16 01:53:37 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// MARK: - String+Computed
|
|
|
|
private extension String {
|
|
|
|
var kit: String {
|
|
|
|
"\(self)Kit"
|
|
|
|
}
|
|
|
|
|
|
|
|
var test: String {
|
|
|
|
"\(self)Test"
|
|
|
|
}
|
|
|
|
}
|