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