Calcifer

Форк
0
/
Package.swift 
446 строк · 11.9 Кб
1
// swift-tools-version:5.0
2
// The swift-tools-version declares the minimum version of Swift required to build this package.
3

4
import PackageDescription
5

6
// swiftlint:disable file_length
7
let package = Package(
8
    name: "Calcifer",
9
    platforms: [
10
       .macOS(.v10_13)
11
    ],
12
    dependencies: [
13
        // MARK: - Dependencies
14
        .package(
15
            url: "https://github.com/apple/swift-package-manager.git",
16
            .branch("swift-5.0-branch")
17
        ),
18
        .package(
19
            url: "https://github.com/CognitiveDisson/xcodeproj",
20
            .branch("deadlock-fix")
21
        ),
22
        .package(
23
            url: "https://github.com/httpswift/swifter.git",
24
            .exact("1.4.6")
25
        ),
26
        .package(
27
            url: "https://github.com/weichsel/ZIPFoundation/",
28
            .exact("0.9.8")
29
        ),
30
        .package(
31
            url: "https://github.com/SwiftyBeaver/SwiftyBeaver.git",
32
            .revision("ba15995ad66a1944a4dfb6105b2959a386e65e0b")
33
        ),
34
        .package(
35
            url: "https://github.com/daltoniam/Starscream.git",
36
            .exact("3.1.0")
37
        ),
38
        .package(
39
            url: "https://github.com/avito-tech/GraphiteClient.git",
40
            .exact("0.1.1")
41
        )
42
    ],
43
    targets: [
44
        // MARK: Calcifer
45
        .target(
46
            name: "Calcifer",
47
            dependencies: [
48
                "Toolkit",
49
                "ArgumentsParser",
50
                "CommandRunner",
51
                "XcodeProjectBuilder",
52
                "XcodeProjectChecksumCalculator",
53
                "XcodeProjectPatcher",
54
                "DSYMSymbolizer",
55
                "XcodeBuildEnvironmentParametersParser",
56
                "RemoteCachePreparer",
57
                "BuildStepIntegrator",
58
                "Daemon",
59
                "LaunchdManager",
60
                "CalciferVersionShipper",
61
                "CalciferUpdater",
62
                "CalciferBinaryInstaller",
63
                "CalciferConfig",
64
                "DaemonClient"
65
            ]
66
        ),
67
        // MARK: CommandRunner
68
        .target(
69
            name: "CommandRunner",
70
            dependencies: [
71
                "Toolkit",
72
                "ArgumentsParser"
73
            ]
74
        ),
75
        // MARK: ArgumentsParser
76
        .target(
77
            name: "ArgumentsParser",
78
            dependencies: [
79
                "Toolkit"
80
            ]
81
        ),
82
        // MARK: StatisticLogger
83
        .target(
84
            name: "StatisticLogger",
85
            dependencies: [
86
                "XcodeBuildEnvironmentParametersParser",
87
                "GraphiteClient",
88
                "Toolkit"
89
            ]
90
        ),
91
        .testTarget(
92
            name: "StatisticLoggerTests",
93
            dependencies: [
94
                "StatisticLogger",
95
                "Mock"
96
            ]
97
        ),
98
        // MARK: RemoteCachePreparer
99
        .target(
100
            name: "RemoteCachePreparer",
101
            dependencies: [
102
                "XcodeBuildEnvironmentParametersParser",
103
                "XcodeProjectChecksumCalculator",
104
                "BuildProductCacheStorage",
105
                "BuildArtifacts",
106
                "XcodeProjectPatcher",
107
                "XcodeProjectBuilder",
108
                "CalciferConfig",
109
                "StatisticLogger",
110
                "DSYMSymbolizer",
111
                "Checksum",
112
                "Toolkit"
113
            ]
114
        ),
115
        .testTarget(
116
            name: "RemoteCachePreparerTests",
117
            dependencies: [
118
                "RemoteCachePreparer"
119
            ]
120
        ),
121
        // MARK: BuildProductCacheStorage
122
        .target(
123
            name: "BuildProductCacheStorage",
124
            dependencies: [
125
                "XcodeProjectChecksumCalculator",
126
                "ZIPFoundation",
127
                "ArgumentsParser",
128
                "BaseModels",
129
                "Toolkit"
130
            ]
131
        ),
132
        .testTarget(
133
            name: "BuildProductCacheStorageTests",
134
            dependencies: [
135
                "BuildProductCacheStorage",
136
                "Mock"
137
            ]
138
        ),
139
        // MARK: BuildArtifacts
140
        .target(
141
            name: "BuildArtifacts",
142
            dependencies: [
143
                "XcodeProjectChecksumCalculator",
144
                "ArgumentsParser",
145
                "Toolkit"
146
            ]
147
        ),
148
        .testTarget(
149
            name: "BuildArtifactsTests",
150
            dependencies: [
151
                "BuildArtifacts",
152
                "Mock"
153
            ]
154
        ),
155
        // MARK: XcodeProjectBuilder
156
        .target(
157
            name: "XcodeProjectBuilder",
158
            dependencies: [
159
                "ShellCommand",
160
                "CalciferConfig",
161
                "ArgumentsParser",
162
                "Toolkit"
163
            ]
164
        ),
165
        .testTarget(
166
            name: "XcodeProjectBuilderTests",
167
            dependencies: [
168
                "XcodeProjectBuilder",
169
                "Mock"
170
            ]
171
        ),
172
        // MARK: XcodeProjectChecksumCalculator
173
        .target(
174
            name: "XcodeProjCache",
175
            dependencies: [
176
                "XcodeProj",
177
                "Checksum"
178
            ]
179
        ),
180
        // MARK: XcodeProjectChecksumCalculator
181
        .target(
182
            name: "XcodeProjectChecksumCalculator",
183
            dependencies: [
184
                "ArgumentsParser",
185
                "XcodeProjCache",
186
                "XcodeProj",
187
                "Checksum",
188
                "BaseModels"
189
            ]
190
        ),
191
        .testTarget(
192
            name: "XcodeProjectChecksumCalculatorTests",
193
            dependencies: [
194
                "XcodeProjectChecksumCalculator",
195
                "Mock"
196
            ]
197
        ),
198
        // MARK: XcodeProjectPatcher
199
        .target(
200
            name: "XcodeProjectPatcher",
201
            dependencies: [
202
                "XcodeBuildEnvironmentParametersParser",
203
                "ArgumentsParser",
204
                "XcodeProjCache",
205
                "XcodeProj",
206
                "Toolkit"
207
            ]
208
        ),
209
        // MARK: DSYMSymbolizer
210
        .target(
211
            name: "DSYMSymbolizer",
212
            dependencies: [
213
                "ShellCommand",
214
                "ArgumentsParser",
215
                "Toolkit"
216
            ]
217
        ),
218
        .testTarget(
219
            name: "DSYMSymbolizerTests",
220
            dependencies: [
221
                "DSYMSymbolizer",
222
                "Mock"
223
            ]
224
        ),
225
        // MARK: XcodeBuildEnvironmentParametersParser
226
        .target(
227
            name: "XcodeBuildEnvironmentParametersParser",
228
            dependencies: [
229
                "ArgumentsParser",
230
                "Checksum",
231
                "Toolkit"
232
            ]
233
        ),
234
        .testTarget(
235
            name: "XcodeBuildEnvironmentParametersParserTests",
236
            dependencies: [
237
                "XcodeBuildEnvironmentParametersParser",
238
                "Toolkit",
239
                "Mock"
240
            ]
241
        ),
242
        // MARK: LaunchdManager
243
        .target(
244
            name: "LaunchdManager",
245
            dependencies: [
246
                "ShellCommand",
247
                "Toolkit",
248
                "ArgumentsParser"
249
            ]
250
        ),
251
        .testTarget(
252
            name: "LaunchdManagerTests",
253
            dependencies: [
254
                "LaunchdManager",
255
                "Mock"
256
            ]
257
        ),
258
        // MARK: DaemonModels
259
        .target(
260
            name: "DaemonModels",
261
            dependencies: [
262
                "Toolkit"
263
            ]
264
        ),
265
        // MARK: Warmer
266
        .target(
267
            name: "Warmer",
268
            dependencies: [
269
                "RemoteCachePreparer",
270
                "XcodeProjCache",
271
                "CalciferConfig",
272
                "ArgumentsParser",
273
                "ShellCommand",
274
                "FileWatcher"
275
            ]
276
        ),
277
        .testTarget(
278
            name: "WarmerTests",
279
            dependencies: [
280
                "Warmer",
281
                "Mock"
282
            ]
283
        ),
284
        // MARK: Daemon
285
        .target(
286
            name: "Daemon",
287
            dependencies: [
288
                "DaemonModels",
289
                "CalciferConfig",
290
                "ArgumentsParser",
291
                "RemoteCachePreparer",
292
                "CommandRunner",
293
                "ShellCommand",
294
                "Warmer",
295
                "Swifter"
296
            ]
297
        ),
298
        // MARK: DaemonClient
299
        .target(
300
            name: "DaemonClient",
301
            dependencies: [
302
                "XcodeBuildEnvironmentParametersParser",
303
                "ArgumentsParser",
304
                "CalciferConfig",
305
                "DaemonModels",
306
                "Starscream",
307
                "Toolkit"
308
            ]
309
        ),
310
        // MARK: FileWatcher
311
        .target(
312
            name: "FileWatcher",
313
            dependencies: [
314
                "Toolkit"
315
            ]
316
        ),
317
        .testTarget(
318
            name: "FileWatcherTests",
319
            dependencies: [
320
                "FileWatcher"
321
            ]
322
        ),
323
        // MARK: CalciferConfig
324
        .target(
325
            name: "CalciferConfig",
326
            dependencies: [
327
                "XcodeBuildEnvironmentParametersParser",
328
                "ArgumentsParser",
329
                "Toolkit"
330
            ]
331
        ),
332
        .testTarget(
333
            name: "CalciferConfigTests",
334
            dependencies: [
335
                "CalciferConfig",
336
                "Mock"
337
            ]
338
        ),
339
        // MARK: CalciferVersionShipper
340
        .target(
341
            name: "CalciferVersionShipper",
342
            dependencies: [
343
                "XcodeBuildEnvironmentParametersParser",
344
                "ZIPFoundation",
345
                "CalciferConfig",
346
                "Toolkit"
347
            ]
348
        ),
349
        .testTarget(
350
            name: "CalciferVersionShipperTests",
351
            dependencies: [
352
                "CalciferVersionShipper",
353
                "Mock"
354
            ]
355
        ),
356
        // MARK: CalciferBinaryInstaller
357
        .target(
358
            name: "CalciferBinaryInstaller",
359
            dependencies: [
360
                "LaunchdManager",
361
                "ArgumentsParser",
362
                "Toolkit"
363
            ]
364
        ),
365
        .testTarget(
366
            name: "CalciferBinaryInstallerTests",
367
            dependencies: [
368
                "CalciferBinaryInstaller",
369
                "Mock"
370
            ]
371
        ),
372
        // MARK: CalciferUpdater
373
        .target(
374
            name: "CalciferUpdater",
375
            dependencies: [
376
                "XcodeBuildEnvironmentParametersParser",
377
                "CalciferConfig",
378
                "ShellCommand",
379
                "Toolkit"
380
            ]
381
        ),
382
        .testTarget(
383
            name: "CalciferUpdaterTests",
384
            dependencies: [
385
                "CalciferUpdater",
386
                "Mock"
387
            ]
388
        ),
389
        // MARK: BuildStepIntegrator
390
        .target(
391
            name: "BuildStepIntegrator",
392
            dependencies: [
393
                "XcodeProj",
394
                "ArgumentsParser",
395
                "Toolkit"
396
            ]
397
        ),
398
        // MARK: Checksum
399
        .target(
400
            name: "Checksum",
401
            dependencies: [
402
                "Toolkit"
403
            ]
404
        ),
405
        // MARK: ShellCommand
406
        .target(
407
            name: "ShellCommand",
408
            dependencies: [
409
                "Toolkit"
410
            ]
411
        ),
412
        // MARK: BaseModels
413
        .target(
414
            name: "BaseModels",
415
            dependencies: [
416
            ]
417
        ),
418
        // MARK: Toolkit
419
        .target(
420
            name: "Toolkit",
421
            dependencies: [
422
                "AtomicModels",
423
                "SwiftyBeaver",
424
                "SPMUtility"
425
            ]
426
        ),
427
        // MARK: Toolkit
428
        .testTarget(
429
            name: "ToolkitTests",
430
            dependencies: [
431
                "Toolkit"
432
            ]
433
        ),
434
        // MARK: Mock
435
        .target(
436
            name: "Mock",
437
            dependencies: [
438
                "XcodeBuildEnvironmentParametersParser",
439
                "BuildProductCacheStorage",
440
                "RemoteCachePreparer",
441
                "ShellCommand"
442
            ],
443
            path: "Tests/Mock/"
444
        )
445
    ]
446
)
447

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.