// 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"]), .target( name: "FeaturePlan", dependencies: ["CoreDomain", "CoreUI", "CoreModel", "CoreCommon"] ), .target( name: "FeatureCheckin", dependencies: ["CoreDomain", "CoreUI", "CoreModel", "CoreCommon"] ), .target( name: "FeatureProfile", dependencies: ["CoreDomain", "CoreUI", "CoreModel", "CoreCommon"] ), // 组合根(依赖一切,用于 DI 装配) .target( name: "App", dependencies: [ "FeatureHome", "FeatureAuth", "FeaturePlan", "FeatureCheckin", "FeatureProfile", "CoreRepository", "CoreUI", "DesignSystem", "CoreDomain", "CoreModel", ] ), ], swiftLanguageModes: [.v5] )