-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPackage.swift
More file actions
102 lines (99 loc) · 3.32 KB
/
Package.swift
File metadata and controls
102 lines (99 loc) · 3.32 KB
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
// swift-tools-version: 6.0
import Foundation
import PackageDescription
private let packageRoot = URL(fileURLWithPath: #filePath).deletingLastPathComponent()
private let infoPlistPath = packageRoot
.appendingPathComponent("Sources/XdigestApp/Info.plist").path
let package = Package(
name: "Xdigest",
platforms: [.macOS(.v15)],
products: [
.executable(name: "Xdigest", targets: ["XdigestApp"]),
],
dependencies: [
// Sparkle owns the full update lifecycle: download, signature
// verification, in-place replacement, and relaunch. The appcast
// URL and EdDSA public key live in Info.plist; release.sh
// publishes new versions by updating appcast.xml on origin/main.
.package(url: "https://github.com/sparkle-project/Sparkle", from: "2.0.0"),
],
targets: [
.target(
name: "XdigestCore",
path: "Sources/XdigestCore"
),
.target(
name: "BirdService",
dependencies: ["XdigestCore"],
path: "Sources/BirdService"
),
.target(
name: "ScorerService",
dependencies: ["XdigestCore"],
path: "Sources/ScorerService"
),
.target(
name: "DigestService",
dependencies: ["XdigestCore"],
path: "Sources/DigestService"
),
.target(
name: "ServerService",
dependencies: ["XdigestCore"],
path: "Sources/ServerService"
),
.target(
name: "Pipeline",
dependencies: ["XdigestCore", "BirdService", "ScorerService", "DigestService"],
path: "Sources/Pipeline"
),
.executableTarget(
name: "XdigestApp",
dependencies: [
"XdigestCore", "BirdService", "ScorerService", "DigestService",
"ServerService", "Pipeline",
.product(name: "Sparkle", package: "Sparkle"),
],
path: "Sources/XdigestApp",
exclude: ["Info.plist"],
linkerSettings: [
.unsafeFlags([
"-Xlinker", "-sectcreate",
"-Xlinker", "__TEXT",
"-Xlinker", "__info_plist",
"-Xlinker", infoPlistPath,
]),
]
),
.testTarget(
name: "XdigestCoreTests",
dependencies: ["XdigestCore"],
path: "Tests/XdigestCoreTests"
),
.testTarget(
name: "BirdServiceTests",
dependencies: ["BirdService", "XdigestCore"],
path: "Tests/BirdServiceTests"
),
.testTarget(
name: "ScorerServiceTests",
dependencies: ["ScorerService", "XdigestCore"],
path: "Tests/ScorerServiceTests"
),
.testTarget(
name: "DigestServiceTests",
dependencies: ["DigestService", "XdigestCore"],
path: "Tests/DigestServiceTests"
),
.testTarget(
name: "ServerServiceTests",
dependencies: ["ServerService", "XdigestCore"],
path: "Tests/ServerServiceTests"
),
.testTarget(
name: "PipelineTests",
dependencies: ["Pipeline", "XdigestCore"],
path: "Tests/PipelineTests"
),
]
)