From 2f6ec99eb8d649bdfecfaf29fdc0b876d5f79372 Mon Sep 17 00:00:00 2001 From: Minseok Kang Date: Fri, 19 Jul 2024 03:48:20 +0900 Subject: [PATCH] =?UTF-8?q?[CAT-13]=20Tuist=20=EA=B0=9C=EC=84=A0=20(#6)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .mise.toml | 2 +- DependencyGraph/graphMaker.sh | 14 +- DependencyGraph/pomonyang_dev_graph.png | Bin 0 -> 120949 bytes ...ang_graph.png => pomonyang_prod_graph.png} | Bin Makefile | 17 +- Package.swift | 4 +- .../DEP+SPMTarget.swift | 3 - .../TargetDependency+Modulable.swift | 4 +- Projects/Core/APIClient/Project.swift | 2 +- Projects/Domain/AppService/Project.swift | 2 +- Projects/Domain/Model/Project.swift | 2 +- Projects/Feature/AppFeature/Project.swift | 2 +- Projects/Shared/DesignSystem/Project.swift | 3 +- Projects/Shared/Utils/Project.swift | 2 +- README.md | 17 +- .../Templates/Product+Extension.swift | 41 ---- .../Templates/Project+Extension.swift | 216 ++++++++---------- 17 files changed, 136 insertions(+), 195 deletions(-) create mode 100644 DependencyGraph/pomonyang_dev_graph.png rename DependencyGraph/{pomonyang_graph.png => pomonyang_prod_graph.png} (100%) delete mode 100644 Tuist/ProjectDescriptionHelpers/Templates/Product+Extension.swift diff --git a/.mise.toml b/.mise.toml index 3e1eebc..9ccb620 100644 --- a/.mise.toml +++ b/.mise.toml @@ -1,2 +1,2 @@ [tools] -tuist = "4.18.0" \ No newline at end of file +tuist = "4.21.1" \ No newline at end of file diff --git a/DependencyGraph/graphMaker.sh b/DependencyGraph/graphMaker.sh index 36562b3..0eb333f 100644 --- a/DependencyGraph/graphMaker.sh +++ b/DependencyGraph/graphMaker.sh @@ -1,6 +1,12 @@ -tuist graph PomoNyang -d -t -f dot -sed -i '' '/Example/d; /ThirdParty_/d' graph.dot -dot -Tpng graph.dot -o DependencyGraph/pomonyang_graph.png +TUIST_BUILD_CONFIG=prod tuist graph PomoNyang -d -t -f dot +sed -i '' '/ThirdParty_/d' graph.dot +dot -Tpng graph.dot -o DependencyGraph/pomonyang_prod_graph.png rm graph.dot -open DependencyGraph/pomonyang_graph.png +TUIST_BUILD_CONFIG=dev tuist graph -d -f dot +sed -i '' '/ThirdParty_/d' graph.dot +dot -Tpng graph.dot -o DependencyGraph/pomonyang_dev_graph.png +rm graph.dot + +open DependencyGraph/pomonyang_dev_graph.png +open DependencyGraph/pomonyang_prod_graph.png diff --git a/DependencyGraph/pomonyang_dev_graph.png b/DependencyGraph/pomonyang_dev_graph.png new file mode 100644 index 0000000000000000000000000000000000000000..a0b684709d3b230093243980b305f2e733033cc2 GIT binary patch literal 120949 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: T, target: TargetType = .sources) -> TargetDependency { let moduleName = String(describing: module) - return .project(target: "\(moduleName)\(target.postfixName)", path: .relativeToRoot("Projects/\(module.path)")) + return .project(target: "\(moduleName)\(target.suffixName)", path: .relativeToRoot("Projects/\(module.path)")) } public enum TargetType: Hashable { case sources case interface - public var postfixName: String { + public var suffixName: String { switch self { case .sources: return "" diff --git a/Projects/Core/APIClient/Project.swift b/Projects/Core/APIClient/Project.swift index 3689b21..0951bc6 100644 --- a/Projects/Core/APIClient/Project.swift +++ b/Projects/Core/APIClient/Project.swift @@ -8,7 +8,7 @@ let project: Project = .project( module: PomoNyang.Core.APIClient, scripts: [], targets: [ - .sources(.staticLibrary), + .sources, .interface, .tests, .testing diff --git a/Projects/Domain/AppService/Project.swift b/Projects/Domain/AppService/Project.swift index 5b95ecd..9ef7447 100644 --- a/Projects/Domain/AppService/Project.swift +++ b/Projects/Domain/AppService/Project.swift @@ -8,7 +8,7 @@ let project: Project = .project( module: PomoNyang.Domain.AppService, scripts: [], targets: [ - .sources(.staticLibrary), + .sources, .interface, .tests, .testing diff --git a/Projects/Domain/Model/Project.swift b/Projects/Domain/Model/Project.swift index 0e965d8..84d5340 100644 --- a/Projects/Domain/Model/Project.swift +++ b/Projects/Domain/Model/Project.swift @@ -8,7 +8,7 @@ let project: Project = .project( module: PomoNyang.Domain.Model, scripts: [], targets: [ - .sources(.staticLibrary), + .sources, .interface, .tests, .testing diff --git a/Projects/Feature/AppFeature/Project.swift b/Projects/Feature/AppFeature/Project.swift index 05cb7c5..94e7fe7 100644 --- a/Projects/Feature/AppFeature/Project.swift +++ b/Projects/Feature/AppFeature/Project.swift @@ -8,7 +8,7 @@ let project: Project = .project( module: PomoNyang.Feature.AppFeature, scripts: [], targets: [ - .sources(.staticLibrary), + .sources, .interface, .tests, .testing diff --git a/Projects/Shared/DesignSystem/Project.swift b/Projects/Shared/DesignSystem/Project.swift index 1a1f6fe..2719721 100644 --- a/Projects/Shared/DesignSystem/Project.swift +++ b/Projects/Shared/DesignSystem/Project.swift @@ -6,9 +6,10 @@ import DependencyPlugin let project: Project = .project( module: PomoNyang.Shared.DesignSystem, + includeResource: true, scripts: [], targets: [ - .sources(.staticFramework), + .sources, .interface, .tests, .testing diff --git a/Projects/Shared/Utils/Project.swift b/Projects/Shared/Utils/Project.swift index bd903d3..d4fed33 100644 --- a/Projects/Shared/Utils/Project.swift +++ b/Projects/Shared/Utils/Project.swift @@ -8,7 +8,7 @@ let project: Project = .project( module: PomoNyang.Shared.Utils, scripts: [], targets: [ - .sources(.staticLibrary), + .sources, .interface, .tests, .testing diff --git a/README.md b/README.md index b8be287..d01bf25 100644 --- a/README.md +++ b/README.md @@ -8,12 +8,14 @@ - ```mise install tuist``` (프로젝트 루트 경로에서) ### 프로젝트 생성 -- 뽀모냥 앱 프로젝트 생성 - - ```make pomonyang``` -- conifg={configuration} 붙여서 빌드 환경 변경 (dev, prod) - - 예시: ```make pomonyang config=dev``` +- 개발환경 생성 + - ```make dev``` +- 운영환경 생성 + - ```make prod``` ### Tuist +- Manifests 생성 + - ```make manifests``` - 외부 라이브러리 구성 - ```make install``` - 프로젝트 변경 사항 반영 및 열기 (target: 타겟명) @@ -31,5 +33,8 @@ - Xcode 파일 생성 템플릿 추가 - ```make template``` -### 의존성 그래프 (테스트, 데모, 외부의존성 제외) - ![PomoNyang](DependencyGraph/pomonyang_graph.png) \ No newline at end of file +### 의존성 그래프 (외부의존성 제외) +- 운영 환경 +![PomoNyang](DependencyGraph/pomonyang_prod_graph.png) +- 개발 환경 +![PomoNyang](DependencyGraph/pomonyang_dev_graph.png) \ No newline at end of file diff --git a/Tuist/ProjectDescriptionHelpers/Templates/Product+Extension.swift b/Tuist/ProjectDescriptionHelpers/Templates/Product+Extension.swift deleted file mode 100644 index d5dfbac..0000000 --- a/Tuist/ProjectDescriptionHelpers/Templates/Product+Extension.swift +++ /dev/null @@ -1,41 +0,0 @@ -// -// Product+Extension.swift -// ProjectDescriptionHelpers -// -// Created by MinseokKang on 2024/07/15. -// - -import ProjectDescription - -extension Product { - var isResourceRequired: Bool { - switch self { - case .app, - .framework, - .staticFramework, - .bundle, - .unitTests, - .uiTests, - .appClip, - .appExtension, - .watch2App, - .watch2Extension, - .tvTopShelfExtension, - .messagesExtension, - .stickerPackExtension: - return true - - case .staticLibrary, - .dynamicLibrary, - .commandLineTool, - .xpc, - .systemExtension, - .extensionKitExtension, - .macro: - return false - - @unknown default: - fatalError("\(self.rawValue) is not handled!") - } - } -} diff --git a/Tuist/ProjectDescriptionHelpers/Templates/Project+Extension.swift b/Tuist/ProjectDescriptionHelpers/Templates/Project+Extension.swift index c16fb97..dc633fb 100644 --- a/Tuist/ProjectDescriptionHelpers/Templates/Project+Extension.swift +++ b/Tuist/ProjectDescriptionHelpers/Templates/Project+Extension.swift @@ -15,9 +15,9 @@ extension Project { options: Project.Options = .options(disableSynthesizedResourceAccessors: true), packages: [Package] = [], infoPlist: InfoPlist = .default, - includeResource: Bool? = nil, + includeResource: Bool = false, scripts: [TargetScript], - targets: Set, // [.sources(.staticLibrary), .interface, .tests, .testing, .example], + targets: Set, // [.sources, .interface, .tests, .testing, .example], dependencies: [TargetDependency], schemes: [Scheme] = [], resourceSynthesizers: [ResourceSynthesizer] = [] @@ -25,96 +25,84 @@ extension Project { let name = String(describing: module) var projectTargets: [Target] = [] targets.forEach { targetType in - let targetName = "\(name)\(targetType.postfixName)" + let targetName = "\(name)\(targetType.suffixName)" switch targetType { - case .sources(let machOType): - let resources: ResourceFileElements? = if let includeResource { - includeResource ? ["Resources/**"] : nil - } else { - machOType.isResourceRequired ? ["Resources/**"] : nil - } - let target: Target = .target( - name: targetName, - product: machOType, - infoPlist: infoPlist, - sources: ["Sources/**/*.swift"], - resources: resources, - scripts: scripts, - dependencies: [ - targets.contains(.interface) ? [.target(name: "\(name)Interface")] : [], - dependencies - ].flatMap { $0 } - ) - projectTargets.append(target) - - case .interface: - let target: Target = .target( - name: targetName, - product: .staticLibrary, - infoPlist: infoPlist, - sources: ["Interface/**/*.swift"], - resources: nil, - scripts: [], - dependencies: [] - ) - projectTargets.append(target) - - case .tests: - let target: Target = .target( - name: targetName, - product: .unitTests, - infoPlist: infoPlist, - sources: ["Tests/**/*.swift"], - resources: nil, - scripts: [], - dependencies: [ - [.target(name: "\(name)")], // sources 의존성 연결 - targets.contains(.testing) ? [.target(name: "\(name)Testing")] : [] - ].flatMap { $0 } - ) - projectTargets.append(target) - - case .testing: - let target: Target = .target( - name: targetName, - product: .framework, - infoPlist: infoPlist, - sources: ["Testing/**/*.swift"], - resources: nil, - scripts: [], - dependencies: targets.contains(.interface) ? [.target(name: "\(name)Interface")] : [] - ) - projectTargets.append(target) - - case .example: - let target: Target = .target( - name: targetName, - product: .app, - infoPlist: InfoPlist.Example.app(name: targetName), - sources: ["Example/Sources/**/*.swift"], - resources: ["Example/Resources/**"], - scripts: [.reveal(target: .dev)], - dependencies: [ - [.target(name: "\(name)")], // sources 의존성 연결 - targets.contains(.testing) ? [.target(name: "\(name)Testing")] : [] - ].flatMap { $0 } - ) - projectTargets.append(target) - - case .preview: - let target: Target = .target( - name: targetName, - product: .framework, - infoPlist: infoPlist, - sources: ["Preview/Sources/**/*.swift"], - resources: ["Preview/Resources/**"], - scripts: [], - dependencies: [ - .target(name: "\(name)") // sources 의존성 연결 - ] - ) - projectTargets.append(target) + case .sources: + let product: Product = if includeResource { + currentConfig == .dev ? .framework : .staticFramework + } else { + currentConfig == .dev ? .framework : .staticLibrary + } + let resources: ResourceFileElements? = includeResource ? ["Resources/**"] : nil + let target: Target = .target( + name: targetName, + product: product, + infoPlist: infoPlist, + sources: ["Sources/**/*.swift"], + resources: resources, + scripts: scripts, + dependencies: [ + targets.contains(.interface) ? [.target(name: "\(name)Interface")] : [], + dependencies + ].flatMap { $0 } + ) + projectTargets.append(target) + + case .interface: + let product: Product = currentConfig == .dev ? .framework : .staticLibrary + let target: Target = .target( + name: targetName, + product: product, + infoPlist: infoPlist, + sources: ["Interface/**/*.swift"], + resources: nil, + scripts: [], + dependencies: [] + ) + projectTargets.append(target) + + case .tests: + let target: Target = .target( + name: targetName, + product: .unitTests, + infoPlist: infoPlist, + sources: ["Tests/**/*.swift"], + resources: nil, + scripts: [], + dependencies: [ + [.target(name: "\(name)")], // sources 의존성 연결 + targets.contains(.testing) ? [.target(name: "\(name)Testing")] : [] + ].flatMap { $0 } + ) + projectTargets.append(target) + + case .testing: + let target: Target = .target( + name: targetName, + product: .framework, + infoPlist: infoPlist, + sources: ["Testing/**/*.swift"], + resources: nil, + scripts: [], + dependencies: targets.contains(.interface) ? [.target(name: "\(name)Interface")] : [] + ) + projectTargets.append(target) + + case .example: + let target: Target = .target( + name: targetName, + product: .app, + infoPlist: InfoPlist.Example.app(name: targetName), + sources: ["Example/Sources/**/*.swift"], + resources: ["Example/Resources/**"], + scripts: [.reveal(target: .dev)], + dependencies: [ + [.target(name: "\(name)")], // sources 의존성 연결 + targets.contains(.testing) ? [.target(name: "\(name)Testing")] : [] + ].flatMap { $0 } + ) + projectTargets.append(target) } } @@ -134,10 +122,10 @@ extension Project { } extension Project { - /// based on µFeatures Architecture + Preview + /// based on µFeatures Architecture public enum TargetType: Hashable { /// Feature 소스코드 타겟 - case sources(Product) + case sources /// Feature 소스코드의 인터페이스 case interface /// 테스트를 위한 타겟 @@ -146,41 +134,19 @@ extension Project { case testing /// 데모앱을 위한 타겟 case example - /// Xcode Preview를 위한 타겟 - case preview - public var postfixName: String { + public var suffixName: String { switch self { - case .sources: - return "" - case .interface: - return "Interface" - case .tests: - return "Tests" - case .testing: - return "Testing" - case .example: - return "Example" - case .preview: - return "Preview" - } - } - - // associated value 상관없이 case로 hash하면 됨 - public func hash(into hasher: inout Hasher) { - switch self { - case .sources: - hasher.combine(0) - case .interface: - hasher.combine(1) - case .tests: - hasher.combine(2) - case .testing: - hasher.combine(3) - case .example: - hasher.combine(4) - case .preview: - hasher.combine(5) + case .sources: + return "" + case .interface: + return "Interface" + case .tests: + return "Tests" + case .testing: + return "Testing" + case .example: + return "Example" } } }