-
Notifications
You must be signed in to change notification settings - Fork 0
/
Package.swift
86 lines (77 loc) · 1.79 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
import PackageDescription
let buildTests = false
#if os(Linux)
let supportsTests = true
#else
let supportsTests = false
#endif
#if os(Linux)
let rxCocoaDependencies: [Target.Dependency] = [
.Target(name: "RxSwift"),
]
#else
let rxCocoaDependencies: [Target.Dependency] = [
.Target(name: "RxSwift"),
.Target(name: "RxCocoaRuntime"),
]
#endif
let library = [
Target(
name: "RxSwift"
),
Target(
name: "RxBlocking",
dependencies: [
.Target(name: "RxSwift")
]
),
Target(
name: "RxCocoa",
dependencies: rxCocoaDependencies
),
]
#if os(Linux)
let cocoaRuntime: [Target] = []
#else
let cocoaRuntime: [Target] = [
Target(
name: "RxCocoaRuntime",
dependencies: [
.Target(name: "RxSwift")
]
)
]
#endif
let tests: [Target] = (buildTests ? [
Target(
name: "AllTestz",
dependencies: [
.Target(name: "RxSwift"),
.Target(name: "RxBlocking"),
.Target(name: "RxTest"),
.Target(name: "RxCocoa")
]
)
] : []) + (supportsTests ? [Target(
name: "RxTest",
dependencies: [
.Target(name: "RxSwift")
]
)
] : [])
let testExcludes: [String] = (!buildTests ? ["Sources/AllTestz"] : []) + (!supportsTests ? ["Sources/RxTest"] : [])
#if os(Linux)
let excludes: [String] = [
"Tests",
"Sources/RxCocoaRuntime",
] + testExcludes
#else
let excludes: [String] = [
"Tests",
] + testExcludes
#endif
let package = Package(
name: "RxSwift",
targets: library + cocoaRuntime + tests,
exclude: excludes
)