53 lines
1.6 KiB
Swift
53 lines
1.6 KiB
Swift
// swift-tools-version: 6.0
|
||
import PackageDescription
|
||
|
||
let package = Package(
|
||
name: "IosClientKit",
|
||
defaultLocalization: "en",
|
||
platforms: [
|
||
.iOS("17.0"),
|
||
.macOS(.v14),
|
||
],
|
||
products: [
|
||
// 组合根:App 宿主只链接这一个产品,其余模块经依赖传递带入。
|
||
.library(name: "App", targets: ["App"]),
|
||
],
|
||
targets: [
|
||
// 叶子模块
|
||
.target(name: "CoreModel"),
|
||
.target(name: "CoreCommon"),
|
||
.target(name: "DesignSystem"),
|
||
|
||
// 领域层(纯 Swift:不 import SwiftUI / 数据框架)
|
||
.target(name: "CoreDomain", dependencies: ["CoreModel"]),
|
||
|
||
// 基础设施层
|
||
.target(name: "CoreNetwork", dependencies: ["CoreModel", "CoreCommon"]),
|
||
.target(name: "CoreDatabase", dependencies: ["CoreModel"]),
|
||
.target(
|
||
name: "CoreRepository",
|
||
dependencies: ["CoreDomain", "CoreNetwork", "CoreDatabase", "CoreModel", "CoreCommon"]
|
||
),
|
||
|
||
// UI 层
|
||
.target(name: "CoreUI", dependencies: ["DesignSystem", "CoreCommon"]),
|
||
|
||
// Feature 层
|
||
.target(
|
||
name: "FeatureHome",
|
||
dependencies: ["CoreDomain", "CoreUI", "CoreModel", "CoreCommon"]
|
||
),
|
||
.target(name: "FeatureAuth", dependencies: ["CoreDomain", "CoreUI", "CoreModel"]),
|
||
|
||
// 组合根(依赖一切,用于 DI 装配)
|
||
.target(
|
||
name: "App",
|
||
dependencies: [
|
||
"FeatureHome", "FeatureAuth", "CoreRepository",
|
||
"CoreUI", "DesignSystem", "CoreDomain", "CoreModel",
|
||
]
|
||
),
|
||
],
|
||
swiftLanguageModes: [.v5]
|
||
)
|