diff --git a/IosClientKit/Package.swift b/IosClientKit/Package.swift new file mode 100644 index 0000000..160ecfc --- /dev/null +++ b/IosClientKit/Package.swift @@ -0,0 +1,52 @@ +// 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] +)