-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPackage.swift
More file actions
126 lines (118 loc) · 4.41 KB
/
Copy pathPackage.swift
File metadata and controls
126 lines (118 loc) · 4.41 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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
// swift-tools-version: 6.2
// SPDX-License-Identifier: (see LICENSE)
// Mayam — Swift Package Manager Manifest
import PackageDescription
let package = Package(
name: "Mayam",
platforms: [
.macOS(.v15)
],
products: [
.executable(
name: "mayam",
targets: ["MayamServer"]
),
.library(
name: "MayamCore",
targets: ["MayamCore"]
),
.library(
name: "MayamWeb",
targets: ["MayamWeb"]
),
.executable(
name: "mayam-cli",
targets: ["MayamCLI"]
)
],
dependencies: [
.package(url: "https://github.com/Raster-Lab/DICOMKit.git", branch: "main"),
.package(url: "https://github.com/Raster-Lab/HL7kit.git", branch: "main"),
.package(url: "https://github.com/Raster-Lab/J2KSwift.git", branch: "main"),
.package(url: "https://github.com/Raster-Lab/JLSwift.git", branch: "main"),
.package(url: "https://github.com/Raster-Lab/JXLSwift.git", branch: "main"),
.package(url: "https://github.com/apple/swift-log.git", from: "1.6.3"),
.package(url: "https://github.com/jpsim/Yams.git", from: "5.3.1"),
.package(url: "https://github.com/apple/swift-nio.git", from: "2.65.0"),
.package(url: "https://github.com/apple/swift-nio-ssl.git", from: "2.26.0"),
.package(url: "https://github.com/apple/swift-crypto.git", from: "3.0.0")
],
targets: [
// MARK: - MayamServer (Main Entry Point)
.executableTarget(
name: "MayamServer",
dependencies: [
"MayamCore",
"MayamWeb"
]
),
// MARK: - MayamCore (Core PACS Engine)
.target(
name: "MayamCore",
dependencies: [
.product(name: "DICOMKit", package: "DICOMKit"),
.product(name: "DICOMNetwork", package: "DICOMKit"),
.product(name: "J2KCore", package: "J2KSwift"),
.product(name: "J2KCodec", package: "J2KSwift"),
.product(name: "J2K3D", package: "J2KSwift"),
.product(name: "JPEGLS", package: "JLSwift"),
.product(name: "JXLSwift", package: "JXLSwift"),
.product(name: "Logging", package: "swift-log"),
.product(name: "Yams", package: "Yams"),
.product(name: "NIO", package: "swift-nio"),
.product(name: "NIOCore", package: "swift-nio"),
.product(name: "NIOPosix", package: "swift-nio"),
.product(name: "NIOSSL", package: "swift-nio-ssl"),
.product(name: "Crypto", package: "swift-crypto"),
.product(name: "HL7v2Kit", package: "HL7kit"),
.product(name: "FHIRkit", package: "HL7kit"),
.product(name: "HL7Core", package: "HL7kit")
],
resources: [
.copy("Database/Migrations")
]
),
// MARK: - MayamWeb (DICOMweb & Admin REST API)
.target(
name: "MayamWeb",
dependencies: [
"MayamCore",
.product(name: "NIOCore", package: "swift-nio"),
.product(name: "NIOPosix", package: "swift-nio"),
.product(name: "NIOHTTP1", package: "swift-nio"),
.product(name: "NIOSSL", package: "swift-nio-ssl"),
.product(name: "Crypto", package: "swift-crypto")
]
),
// MARK: - MayamAdmin (Web Console Static Assets)
.target(
name: "MayamAdmin",
dependencies: [],
resources: [
.copy("Assets")
]
),
// MARK: - MayamCLI (Command-Line Tools)
.executableTarget(
name: "MayamCLI",
dependencies: [
"MayamCore"
]
),
// MARK: - Test Targets
.testTarget(
name: "MayamCoreTests",
dependencies: [
"MayamCore",
.product(name: "NIOEmbedded", package: "swift-nio"),
.product(name: "HL7v2Kit", package: "HL7kit"),
.product(name: "FHIRkit", package: "HL7kit"),
.product(name: "HL7Core", package: "HL7kit")
]
),
.testTarget(
name: "MayamWebTests",
dependencies: ["MayamWeb", "MayamCore"]
)
]
)