This PR contains the work done to create the `Filter` library into the **Libraries** package, and moved the `FilterWordsUseCase` use case to it from the `Foundation` library. Reviewed-on: #7 Co-authored-by: Javier Cicchelli <javier@rock-n-code.com> Co-committed-by: Javier Cicchelli <javier@rock-n-code.com>
107 lines
2.5 KiB
Swift
107 lines
2.5 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.filter.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.filter.kit,
|
|
dependencies: [
|
|
.byName(name: .Target.foundation.kit),
|
|
],
|
|
path: "Filter/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.filter.test,
|
|
dependencies: [
|
|
.byName(name: .Target.filter.kit),
|
|
],
|
|
path: "Filter/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 filter = "\(String.Product.name)Filter"
|
|
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"
|
|
}
|
|
}
|