-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feat] #121 - Tuist로 모듈 분리하기 #125
Merged
Merged
Changes from all commits
Commits
Show all changes
9 commits
Select commit
Hold shift + click to select a range
0719114
[Feat] #121 - Plugin 추가
0inn 55ac33e
[Feat] #121 - Tuist로 Feature 기반 모듈 분리 구현
0inn 5ac652e
[Feat] #121 - DIContainer 구현 및 폴더 구조 수정
0inn b961e92
[Chore] #121 - Scheme 수정
0inn ca64693
[Fix] #121 - 강제 타입 캐스팅 제거
0inn 4cbe035
[Fix] #121 - app 타겟 추가
0inn f1a9a64
[Chore] #121 - 네이밍 수정
0inn 6b7cb28
[Feat] #121 - DIContainer 구현 및 플로우 연결
0inn 0f99fdd
[Feat] #121 - 각 VC마다 ViewControllable 프로토콜 생성
0inn File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
import ProjectDescription | ||
|
||
let dependencyPlugin = Plugin(name: "DependencyPlugin") |
109 changes: 109 additions & 0 deletions
109
SOPT-Stamp-iOS/Plugins/DependencyPlugin/ProjectDescriptionHelpers/Dependency+Project.swift
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,109 @@ | ||
// | ||
// Dependency+Project.swift | ||
// ProjectDescriptionHelpers | ||
// | ||
// Created by sejin on 2022/10/02. | ||
// | ||
|
||
import ProjectDescription | ||
|
||
public extension Dep { | ||
struct Features { | ||
public struct Main {} | ||
public struct Spalsh {} | ||
public struct Onboarding {} | ||
public struct Auth {} | ||
public struct Setting {} | ||
public struct Stamp {} | ||
public struct Attendance {} | ||
public struct Notice {} | ||
} | ||
|
||
struct Modules {} | ||
} | ||
|
||
// MARK: - Root | ||
|
||
public extension Dep { | ||
static let data = Dep.project(target: "Data", path: .data) | ||
|
||
static let domain = Dep.project(target: "Domain", path: .domain) | ||
|
||
static let core = Dep.project(target: "Core", path: .core) | ||
} | ||
|
||
// MARK: - Modules | ||
|
||
public extension Dep.Modules { | ||
static let dsKit = Dep.project(target: "DSKit", path: .relativeToModules("DSKit")) | ||
|
||
static let network = Dep.project(target: "Network", path: .relativeToModules("Network")) | ||
|
||
static let thirdPartyLibs = Dep.project(target: "ThirdPartyLibs", path: .relativeToModules("ThirdPartyLibs")) | ||
} | ||
|
||
// MARK: - Features | ||
|
||
public extension Dep.Features { | ||
static func project(name: String, group: String) -> Dep { .project(target: "\(group)\(name)", path: .relativeToFeature("\(group)\(name)")) } | ||
|
||
static let BaseFeatureDependency = TargetDependency.project(target: "BaseFeatureDependency", path: .relativeToFeature("BaseFeatureDependency")) | ||
|
||
static let RootFeature = TargetDependency.project(target: "RootFeature", path: .relativeToFeature("RootFeature")) | ||
} | ||
|
||
public extension Dep.Features.Main { | ||
static let group = "Main" | ||
|
||
static let Feature = Dep.Features.project(name: "Feature", group: group) | ||
static let Interface = Dep.project(target: "\(group)FeatureInterface", path: .relativeToFeature("\(group)Feature")) | ||
} | ||
|
||
public extension Dep.Features.Spalsh { | ||
static let group = "Splash" | ||
|
||
static let Feature = Dep.Features.project(name: "Feature", group: group) | ||
static let Interface = Dep.project(target: "\(group)FeatureInterface", path: .relativeToFeature("\(group)Feature")) | ||
} | ||
|
||
public extension Dep.Features.Onboarding { | ||
static let group = "Onboarding" | ||
|
||
static let Feature = Dep.Features.project(name: "Feature", group: group) | ||
static let Interface = Dep.project(target: "\(group)FeatureInterface", path: .relativeToFeature("\(group)Feature")) | ||
} | ||
|
||
public extension Dep.Features.Auth { | ||
static let group = "Auth" | ||
|
||
static let Feature = Dep.Features.project(name: "Feature", group: group) | ||
static let Interface = Dep.project(target: "\(group)FeatureInterface", path: .relativeToFeature("\(group)Feature")) | ||
} | ||
|
||
public extension Dep.Features.Stamp { | ||
static let group = "Stamp" | ||
|
||
static let Feature = Dep.Features.project(name: "Feature", group: group) | ||
static let Interface = Dep.project(target: "\(group)FeatureInterface", path: .relativeToFeature("\(group)Feature")) | ||
} | ||
|
||
public extension Dep.Features.Setting { | ||
static let group = "Setting" | ||
|
||
static let Feature = Dep.Features.project(name: "Feature", group: group) | ||
static let Interface = Dep.project(target: "\(group)FeatureInterface", path: .relativeToFeature("\(group)Feature")) | ||
} | ||
|
||
public extension Dep.Features.Attendance { | ||
static let group = "Attendance" | ||
|
||
static let Feature = Dep.Features.project(name: "Feature", group: group) | ||
static let Interface = Dep.project(target: "\(group)FeatureInterface", path: .relativeToFeature("\(group)Feature")) | ||
} | ||
|
||
public extension Dep.Features.Notice { | ||
static let group = "Notice" | ||
|
||
static let Feature = Dep.Features.project(name: "Feature", group: group) | ||
static let Interface = Dep.project(target: "\(group)FeatureInterface", path: .relativeToFeature("\(group)Feature")) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
4 changes: 4 additions & 0 deletions
4
SOPT-Stamp-iOS/Plugins/DependencyPlugin/ProjectDescriptionHelpers/DependencyAlias.swift
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
import Foundation | ||
import ProjectDescription | ||
|
||
public typealias Dep = TargetDependency |
27 changes: 27 additions & 0 deletions
27
SOPT-Stamp-iOS/Plugins/DependencyPlugin/ProjectDescriptionHelpers/PathExtension.swift
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
import ProjectDescription | ||
|
||
public extension ProjectDescription.Path { | ||
static func relativeToFeature(_ path: String) -> Self { | ||
return .relativeToRoot("Projects/Features/\(path)") | ||
} | ||
|
||
static func relativeToModules(_ path: String) -> Self { | ||
return .relativeToRoot("Projects/Modules/\(path)") | ||
} | ||
|
||
static var app: Self { | ||
return .relativeToRoot("Projects/App") | ||
} | ||
|
||
static var data: Self { | ||
return .relativeToRoot("Projects/Data") | ||
} | ||
|
||
static var domain: Self { | ||
return .relativeToRoot("Projects/Domain") | ||
} | ||
|
||
static var core: Self { | ||
return .relativeToRoot("Projects/Core") | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
import ProjectDescription | ||
|
||
let EnvPlugin = Plugin(name: "EnvPlugin") |
14 changes: 14 additions & 0 deletions
14
SOPT-Stamp-iOS/Plugins/EnvPlugin/ProjectDescriptionHelpers/Environment.swift
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
import ProjectDescription | ||
|
||
public enum Environment { | ||
public static let workspaceName = "SOPT-iOS" | ||
} | ||
|
||
public extension Project { | ||
enum Environment { | ||
public static let workspaceName = "SOPT-iOS" | ||
public static let deploymentTarget = DeploymentTarget.iOS(targetVersion: "16.0", devices: [.iphone]) | ||
public static let platform = Platform.iOS | ||
public static let bundlePrefix = "com.sopt-stamp-iOS" | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file was deleted.
Oops, something went wrong.
28 changes: 0 additions & 28 deletions
28
SOPT-Stamp-iOS/Plugins/UtilityPlugin/ProjectDescriptionHelpers/Dependency+Project.swift
This file was deleted.
Oops, something went wrong.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
// | ||
// AlertType.swift | ||
// Core | ||
// | ||
// Created by 김영인 on 2023/03/18. | ||
// Copyright © 2023 SOPT-iOS. All rights reserved. | ||
// | ||
|
||
import Foundation | ||
|
||
public enum AlertType { | ||
case title | ||
case titleDescription | ||
case networkErr | ||
} |
14 changes: 14 additions & 0 deletions
14
SOPT-Stamp-iOS/Projects/Core/Sources/Enum/ListDetailSceneType.swift
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
// | ||
// ListDetailSceneType.swift | ||
// Core | ||
// | ||
// Created by 김영인 on 2023/03/17. | ||
// Copyright © 2023 SOPT-iOS. All rights reserved. | ||
// | ||
|
||
@frozen | ||
public enum ListDetailSceneType { | ||
case none // 작성 전 | ||
case completed // 작성 완료 | ||
case edit // 수정 | ||
} |
20 changes: 20 additions & 0 deletions
20
SOPT-Stamp-iOS/Projects/Core/Sources/Enum/MissionListSceneType.swift
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
// | ||
// MissionListSceneType.swift | ||
// Core | ||
// | ||
// Created by 김영인 on 2023/03/17. | ||
// Copyright © 2023 SOPT-iOS. All rights reserved. | ||
// | ||
|
||
@frozen | ||
public enum MissionListSceneType { | ||
case `default` | ||
case ranking(userName: String, sentence: String, userId: Int) | ||
|
||
var isRankingView: Bool { | ||
switch self { | ||
case .default: return false | ||
case .ranking: return true | ||
} | ||
} | ||
} |
14 changes: 14 additions & 0 deletions
14
SOPT-Stamp-iOS/Projects/Core/Sources/Enum/NoticePopUpType.swift
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
// | ||
// NoticePopUpType.swift | ||
// Core | ||
// | ||
// Created by 김영인 on 2023/03/17. | ||
// Copyright © 2023 SOPT-iOS. All rights reserved. | ||
// | ||
|
||
import Foundation | ||
|
||
public enum NoticePopUpType { | ||
case forceUpdate | ||
case recommendUpdate | ||
} |
14 changes: 14 additions & 0 deletions
14
SOPT-Stamp-iOS/Projects/Core/Sources/Enum/SignUpFormValidateResult.swift
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
// | ||
// SignUpFormValidateResult.swift | ||
// Core | ||
// | ||
// Created by 김영인 on 2023/03/18. | ||
// Copyright © 2023 SOPT-iOS. All rights reserved. | ||
// | ||
|
||
import Foundation | ||
|
||
public enum SignUpFormValidateResult { | ||
case valid(text: String) | ||
case invalid(text: String) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
Dummy |
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
Dummy |
This file was deleted.
Oops, something went wrong.
File renamed without changes.
22 changes: 0 additions & 22 deletions
22
SOPT-Stamp-iOS/Projects/Demo/SOPT-Stamp-Demo/Project.swift
This file was deleted.
Oops, something went wrong.
File renamed without changes.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
현재 sopt-stamp로 되어있는 부분 sopt-ios로 다같이 바꾸는 작업도 여기서 하면 좋을거같은데 어떻게 생각하시나요~?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lsj8706
com.sopt-iOS
로 번들 아이디 바꿔둬도 될까요 ? ?