-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathDependency+Project.swift
More file actions
65 lines (49 loc) · 2.14 KB
/
Dependency+Project.swift
File metadata and controls
65 lines (49 loc) · 2.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
//
// Dependency+Project.swift
// EnvPlugin
//
// Created by 최안용 on 1/13/26.
//
import ProjectDescription
public extension TargetDependency {
struct Features {
public struct Home {}
public struct TabBar {}
public struct Follow {}
public struct Travel {}
}
struct Modules {}
}
public extension TargetDependency {
static let data = TargetDependency.project(target: "Data", path: .data)
static let domain = TargetDependency.project(target: "Domain", path: .domain)
static let core = TargetDependency.project(target: "Core", path: .core)
}
public extension TargetDependency.Modules {
static let dsKit = TargetDependency.project(target: "DSKit", path: .relativeToModules("DSKit"))
static let networks = TargetDependency.project(target: "Networks", path: .relativeToModules("Networks"))
static let thirdPartyLibs = TargetDependency.project(target: "ThirdPartyLibs", path: .relativeToModules("ThirdPartyLibs"))
}
public extension TargetDependency.Features {
static func project(name: String, group: String) -> TargetDependency {
.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 TargetDependency.Features.Home {
static let group = "Home"
static let feature = TargetDependency.Features.project(name: "Feature", group: group)
}
public extension TargetDependency.Features.TabBar {
static let group = "TabBar"
static let feature = TargetDependency.Features.project(name: "Feature", group: group)
}
public extension TargetDependency.Features.Follow {
static let group = "Follow"
static let feature = TargetDependency.Features.project(name: "Feature", group: group)
}
public extension TargetDependency.Features.Travel {
static let group = "Travel"
static let feature = TargetDependency.Features.project(name: "Feature", group: group)
}