forked from ReactiveX/RxSwift
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPackage.swift
84 lines (75 loc) · 1.82 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
import PackageDescription
import Foundation
let buildTests = false
let RxTestIsTarget = buildTests || ProcessInfo.processInfo.environment["TEST"] == "1"
#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
)
] + (RxTestIsTarget ? [
Target(
name: "RxTest",
dependencies: [
.Target(name: "RxSwift")
]
),
] : [])
#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")
]
)
] : [])
let testExcludes: [String] = (buildTests ? [] : ["Sources/AllTestz"]) + (RxTestIsTarget ? [] : ["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
)