-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Package.swift
78 lines (64 loc) · 2.54 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
// swift-tools-version:6.0
import PackageDescription
let package:Package = .init(
name: "swift-ip",
platforms: [.macOS(.v15), .iOS(.v18), .tvOS(.v18), .visionOS(.v2), .watchOS(.v11)],
products: [
.library(name: "Firewalls", targets: ["Firewalls"]),
.library(name: "IP", targets: ["IP"]),
.library(name: "IP_BSON", targets: ["IP_BSON"]),
.library(name: "IP_NIOCore", targets: ["IP_NIOCore"]),
.library(name: "IPinfo", targets: ["IPinfo"]),
],
dependencies: [
.package(url: "https://github.com/tayloraswift/swift-bson", from: "0.3.1"),
.package(url: "https://github.com/tayloraswift/swift-json", from: "1.1.1"),
.package(url: "https://github.com/apple/swift-argument-parser", from: "1.5.0"),
.package(url: "https://github.com/apple/swift-nio", from: "2.75.0"),
],
targets: [
.executableTarget(name: "FirewallPrefabricator",
dependencies: [
.target(name: "IPinfo"),
.target(name: "Whitelists"),
.product(name: "ArgumentParser", package: "swift-argument-parser"),
]),
.target(name: "Firewalls",
dependencies: [
.target(name: "IP"),
.target(name: "IP_BSON"),
.product(name: "BSON_ISO", package: "swift-bson"),
]),
.target(name: "IP"),
.target(name: "IP_BSON",
dependencies: [
.target(name: "IP"),
.product(name: "BSON", package: "swift-bson"),
]),
.target(name: "IP_NIOCore",
dependencies: [
.target(name: "IP"),
.product(name: "NIOCore", package: "swift-nio"),
]),
.target(name: "IPinfo",
dependencies: [
.target(name: "Firewalls"),
.product(name: "JSON", package: "swift-json"),
]),
.target(name: "Whitelists",
dependencies: [
.target(name: "Firewalls"),
.product(name: "JSON", package: "swift-json"),
]),
.testTarget(name: "FirewallTests", dependencies: ["Firewalls"]),
.testTarget(name: "IPTests", dependencies: ["IP"]),
])
for target:PackageDescription.Target in package.targets
{
{
var settings:[PackageDescription.SwiftSetting] = $0 ?? []
settings.append(.enableUpcomingFeature("ExistentialAny"))
settings.append(.enableExperimentalFeature("StrictConcurrency"))
$0 = settings
} (&target.swiftSettings)
}