-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathPackage.swift
More file actions
95 lines (94 loc) · 3.76 KB
/
Copy pathPackage.swift
File metadata and controls
95 lines (94 loc) · 3.76 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
// swift-tools-version:5.9
import PackageDescription
let package = Package(
name: "NovaSwift",
platforms: [
.macOS(.v13),
.iOS(.v16),
.tvOS(.v16),
],
products: [
// Data layer: containers, resource model, typed decoders, graphics.
.library(name: "NovaSwiftKit", targets: ["NovaSwiftKit"]),
// Simulation core: flight physics, input intents, world state.
.library(name: "NovaSwiftEngine", targets: ["NovaSwiftEngine"]),
// Story/mission runtime: control bits, missions, crons, player state.
.library(name: "NovaSwiftStory", targets: ["NovaSwiftStory"]),
// Multiplayer netcode: transport abstraction, presence, session sync.
.library(name: "NovaSwiftNet", targets: ["NovaSwiftNet"]),
// Multiplayer bridge: maps the engine's World/ControlIntent to/from the
// net wire types and drives per-system Layer-2 sync. Depends on both.
.library(name: "NovaSwiftSync", targets: ["NovaSwiftSync"]),
// Plug-in store: catalog metadata + download/install pipeline.
.library(name: "NovaSwiftPluginStore", targets: ["NovaSwiftPluginStore"]),
// Command-line extractor / inspector.
.executable(name: "novaswift-extract", targets: ["novaswift-extract"]),
],
dependencies: [
.package(url: "https://github.com/weichsel/ZIPFoundation.git", from: "0.9.0"),
.package(url: "https://github.com/apple/swift-crypto.git", from: "3.0.0"),
],
targets: [
.target(
name: "NovaSwiftKit",
dependencies: [.product(name: "Crypto", package: "swift-crypto")],
path: "Sources/NovaSwiftKit"
),
.target(name: "NovaSwiftEngine", dependencies: ["NovaSwiftKit"], path: "Sources/NovaSwiftEngine"),
.target(name: "NovaSwiftStory", dependencies: ["NovaSwiftKit", "NovaSwiftEngine"], path: "Sources/NovaSwiftStory"),
.target(name: "NovaSwiftNet", path: "Sources/NovaSwiftNet"),
.target(
name: "NovaSwiftSync",
dependencies: ["NovaSwiftEngine", "NovaSwiftNet"],
path: "Sources/NovaSwiftSync"
),
.target(
name: "NovaSwiftPluginStore",
dependencies: [
"NovaSwiftKit",
.product(name: "ZIPFoundation", package: "ZIPFoundation"),
.product(name: "Crypto", package: "swift-crypto"),
],
path: "Sources/NovaSwiftPluginStore",
resources: [
.copy("Resources/PluginCatalog.json"),
.copy("Resources/Screenshots"),
]
),
.executableTarget(
name: "novaswift-extract",
dependencies: ["NovaSwiftKit", "NovaSwiftEngine", "NovaSwiftStory"],
path: "Sources/novaswift-extract"
),
.testTarget(
name: "NovaSwiftKitTests",
dependencies: ["NovaSwiftKit"],
path: "Tests/NovaSwiftKitTests"
),
.testTarget(
name: "NovaSwiftEngineTests",
dependencies: ["NovaSwiftEngine"],
path: "Tests/NovaSwiftEngineTests"
),
.testTarget(
name: "NovaSwiftStoryTests",
dependencies: ["NovaSwiftStory"],
path: "Tests/NovaSwiftStoryTests"
),
.testTarget(
name: "NovaSwiftNetTests",
dependencies: ["NovaSwiftNet"],
path: "Tests/NovaSwiftNetTests"
),
.testTarget(
name: "NovaSwiftSyncTests",
dependencies: ["NovaSwiftSync"],
path: "Tests/NovaSwiftSyncTests"
),
.testTarget(
name: "NovaSwiftPluginStoreTests",
dependencies: ["NovaSwiftPluginStore"],
path: "Tests/NovaSwiftPluginStoreTests"
),
]
)