-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathPackage.swift
116 lines (106 loc) · 2.39 KB
/
Package.swift
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
114
115
116
// swift-tools-version:5.9
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
let nhDeps = {
var out: [Target.Dependency] = [
.product(name: "Crypto", package: "swift-crypto"),
"NetworkHalpers",
"SaferContinuation",
"Swiftwood",
]
#if os(Linux)
out.append("NHLinuxSupport")
#else
out.append("Swizzles")
#endif
return out
}()
let nhTestDeps = {
var out: [Target.Dependency] = [
"NetworkHandler",
"TestSupport",
"PizzaMacros",
]
#if !os(Linux)
out.append("Swizzles")
#endif
return out
}()
let targets = {
var out: [Target] = [
.target(
name: "NetworkHandler",
dependencies: nhDeps),
.target(
name: "NetworkHalpers",
dependencies: [
.product(name: "Crypto", package: "swift-crypto"),
"Swiftwood",
]),
.target(
name: "NHLinuxSupport"),
.target(
name: "TestSupport",
dependencies: [
"NetworkHandler",
"SwiftlyDotEnv",
]),
.testTarget(
name: "NetworkHandlerTests",
dependencies: nhTestDeps),
.testTarget(
name: "NetworkHalpersTests",
dependencies: [
"NetworkHalpers",
"TestSupport",
"PizzaMacros",
]),
]
#if !os(Linux)
out.append(
.target(
name: "Swizzles",
publicHeadersPath: "include",
cSettings: [
.headerSearchPath("."),
]))
#endif
return out
}()
let products = {
var out: [Product] = [
// Products define the executables and libraries produced by a package, and make them visible to other packages.
.library(
name: "NetworkHandler",
targets: ["NetworkHandler"]),
.library(
name: "NetworkHalpers",
targets: ["NetworkHalpers"]),
]
#if !os(Linux)
out.append(
.library(
name: "Swizzles",
targets: [
"Swizzles",
]))
#endif
return out
}()
let package = Package(
name: "NetworkHandler",
platforms: [
.macOS(.v12),
.iOS(.v15),
.tvOS(.v15),
.watchOS(.v8),
],
products: products,
dependencies: [
.package(url: "https://github.com/apple/swift-crypto.git", .upToNextMajor(from: "3.0.0")),
.package(url: "https://github.com/mredig/SaferContinuation.git", .upToNextMinor(from: "1.3.0")),
.package(url: "https://github.com/mredig/Swiftwood.git", .upToNextMajor(from: "0.4.0")),
.package(url: "https://github.com/mredig/PizzaMacros.git", .upToNextMinor(from: "0.1.0")),
.package(url: "https://github.com/mredig/SwiftlyDotEnv.git", .upToNextMinor(from: "0.2.3")),
],
targets: targets)