-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathProject.swift
More file actions
113 lines (109 loc) · 3.87 KB
/
Project.swift
File metadata and controls
113 lines (109 loc) · 3.87 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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
import ProjectDescription
let projectName = "CryptoBook"
let organizationName = "io.tuist"
let appSettings: Settings = .settings(
base: [
"MARKETING_VERSION": "1.0",
"CURRENT_PROJECT_VERSION": "1"
],
configurations: [
.debug(name: "Debug", xcconfig: "Configs/Secrets.xcconfig"),
.release(name: "Release", xcconfig: "Configs/Secrets.xcconfig")
]
)
// MARK: - Project
let project = Project(
name: projectName,
organizationName: organizationName,
packages: [
.remote(url: "https://github.com/hmlongco/Factory.git", requirement: .upToNextMajor(from: "2.5.1")),
.remote(url: "https://github.com/pointfreeco/swift-composable-architecture.git", requirement: .upToNextMajor(from: "1.23.1")),
.remote(url: "https://github.com/onevcat/Kingfisher.git", requirement: .upToNextMajor(from: "7.0.0"))
],
settings: appSettings,
targets: [
// App
.target(
name: "CryptoBookApp",
destinations: .iOS,
product: .app,
bundleId: "\(organizationName).\(projectName)App",
deploymentTargets: .iOS("17.0"),
infoPlist: .extendingDefault(
with: [
"UILaunchScreen": [
"UIColorName": "",
"UIImageName": "",
],
"API_KEY": "$(API_KEY)",
"CRYPTOPANIC_API_KEY": "$(CRYPTOPANIC_API_KEY)",
"GEMINI_API_KEY": "$(GEMINI_API_KEY)",
"NSAppTransportSecurity": .dictionary([
"NSExceptionDomains": .dictionary([
"www.koreaexim.go.kr": .dictionary([
"NSIncludesSubdomains": .boolean(true),
"NSExceptionRequiresForwardSecrecy": .boolean(false),
"NSExceptionMinimumTLSVersion": .string("TLSv1.2")
])
])
])
]
),
sources: ["Targets/App/Sources/**"],
resources: ["Targets/App/Resources/**"],
dependencies: [
.target(name: "Domain"),
.target(name: "Data"),
.package(product: "ComposableArchitecture"),
.package(product: "Factory"),
.package(product: "Kingfisher")
]
),
// App Tests
.target(
name: "CryptoBookAppTests",
destinations: .iOS,
product: .unitTests,
bundleId: "\(organizationName).\(projectName)AppTests",
deploymentTargets: .iOS("17.0"),
sources: ["Targets/App/Tests/**"],
dependencies: [
.target(name: "CryptoBookApp")
]
),
.target(
name: "Entity",
destinations: .iOS,
product: .framework,
bundleId: "\(organizationName).Entity",
deploymentTargets: .iOS("17.0"),
sources: ["Targets/Entity/Sources/**"],
dependencies: []
),
// Domain
.target(
name: "Domain",
destinations: .iOS,
product: .framework,
bundleId: "\(organizationName).Domain",
deploymentTargets: .iOS("17.0"),
sources: ["Targets/Domain/Sources/**"],
dependencies: [
.target(name: "Entity")
]
),
// Data
.target(
name: "Data",
destinations: .iOS,
product: .framework,
bundleId: "\(organizationName).Data",
deploymentTargets: .iOS("17.0"),
sources: ["Targets/Data/Sources/**"],
dependencies: [
.target(name: "Domain"),
.target(name: "Entity")
]
),
]
)