Skip to content

Commit 60676a7

Browse files
authored
Add Package.swift for 5.4 and 5.5 that excludes documentation (#124)
* Add packages for 5.4 and 5.5 * Update documentation build script * Exclude MQTTNIO.docc in 5.4/5.5 Package * rename package.swifts
1 parent 421db12 commit 60676a7

File tree

5 files changed

+77
-60
lines changed

5 files changed

+77
-60
lines changed

.devcontainer/devcontainer.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
"service": "app",
55
"workspaceFolder": "/workspace",
66
"extensions": [
7-
"sswg.swift-lang",
7+
"sswg.swift-lang"
88
],
99
"settings": {
1010
"lldb.library": "/usr/lib/liblldb.so"
11-
},
11+
}
1212
}

Package.swift

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// swift-tools-version:5.3
1+
// swift-tools-version:5.6
22

33
import PackageDescription
44

@@ -14,6 +14,7 @@ let package = Package(
1414
.package(url: "https://github.com/apple/swift-nio.git", from: "2.42.0"),
1515
.package(url: "https://github.com/apple/swift-nio-ssl.git", from: "2.14.0"),
1616
.package(url: "https://github.com/apple/swift-nio-transport-services.git", from: "1.6.0"),
17+
.package(url: "https://github.com/apple/swift-docc-plugin", from: "1.0.0"),
1718
],
1819
targets: [
1920
.target(
@@ -33,10 +34,3 @@ let package = Package(
3334
.testTarget(name: "MQTTNIOTests", dependencies: ["MQTTNIO"]),
3435
]
3536
)
36-
37-
#if swift(>=5.6)
38-
// Add the documentation compiler plugin if possible
39-
package.dependencies.append(
40-
.package(url: "https://github.com/apple/swift-docc-plugin", from: "1.0.0")
41-
)
42-
#endif

[email protected]

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
// swift-tools-version:5.4
2+
3+
import PackageDescription
4+
5+
let package = Package(
6+
name: "mqtt-nio",
7+
platforms: [.macOS(.v10_14), .iOS(.v12), .tvOS(.v12), .watchOS(.v6)],
8+
products: [
9+
.library(name: "MQTTNIO", targets: ["MQTTNIO"]),
10+
],
11+
dependencies: [
12+
.package(url: "https://github.com/apple/swift-atomics.git", from: "1.0.0"),
13+
.package(url: "https://github.com/apple/swift-log.git", from: "1.0.0"),
14+
.package(url: "https://github.com/apple/swift-nio.git", from: "2.42.0"),
15+
.package(url: "https://github.com/apple/swift-nio-ssl.git", from: "2.14.0"),
16+
.package(url: "https://github.com/apple/swift-nio-transport-services.git", from: "1.6.0"),
17+
],
18+
targets: [
19+
.target(
20+
name: "MQTTNIO",
21+
dependencies:
22+
[
23+
.product(name: "Atomics", package: "swift-atomics"),
24+
.product(name: "Logging", package: "swift-log"),
25+
.product(name: "NIO", package: "swift-nio"),
26+
.product(name: "NIOConcurrencyHelpers", package: "swift-nio"),
27+
.product(name: "NIOHTTP1", package: "swift-nio"),
28+
.product(name: "NIOWebSocket", package: "swift-nio"),
29+
.product(name: "NIOSSL", package: "swift-nio-ssl", condition: .when(platforms: [.linux, .macOS])),
30+
.product(name: "NIOTransportServices", package: "swift-nio-transport-services"),
31+
],
32+
exclude: ["MQTTNIO.docc"]
33+
),
34+
.testTarget(name: "MQTTNIOTests", dependencies: ["MQTTNIO"]),
35+
]
36+
)

[email protected]

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
// swift-tools-version:5.5
2+
3+
import PackageDescription
4+
5+
let package = Package(
6+
name: "mqtt-nio",
7+
platforms: [.macOS(.v10_14), .iOS(.v12), .tvOS(.v12), .watchOS(.v6)],
8+
products: [
9+
.library(name: "MQTTNIO", targets: ["MQTTNIO"]),
10+
],
11+
dependencies: [
12+
.package(url: "https://github.com/apple/swift-atomics.git", from: "1.0.0"),
13+
.package(url: "https://github.com/apple/swift-log.git", from: "1.0.0"),
14+
.package(url: "https://github.com/apple/swift-nio.git", from: "2.42.0"),
15+
.package(url: "https://github.com/apple/swift-nio-ssl.git", from: "2.14.0"),
16+
.package(url: "https://github.com/apple/swift-nio-transport-services.git", from: "1.6.0"),
17+
],
18+
targets: [
19+
.target(
20+
name: "MQTTNIO",
21+
dependencies:
22+
[
23+
.product(name: "Atomics", package: "swift-atomics"),
24+
.product(name: "Logging", package: "swift-log"),
25+
.product(name: "NIO", package: "swift-nio"),
26+
.product(name: "NIOConcurrencyHelpers", package: "swift-nio"),
27+
.product(name: "NIOHTTP1", package: "swift-nio"),
28+
.product(name: "NIOWebSocket", package: "swift-nio"),
29+
.product(name: "NIOSSL", package: "swift-nio-ssl", condition: .when(platforms: [.linux, .macOS])),
30+
.product(name: "NIOTransportServices", package: "swift-nio-transport-services"),
31+
],
32+
exclude: ["MQTTNIO.docc"]
33+
),
34+
.testTarget(name: "MQTTNIOTests", dependencies: ["MQTTNIO"]),
35+
]
36+
)

scripts/build-docc.sh

Lines changed: 1 addition & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -13,53 +13,4 @@ usePlugin()
1313
--hosting-base-path /mqtt-nio
1414
}
1515

16-
TEMP_DIR="$(pwd)/temp"
17-
18-
cleanup()
19-
{
20-
if [ -n "$TEMP_DIR" ]; then
21-
rm -rf $TEMP_DIR
22-
fi
23-
}
24-
trap cleanup exit $?
25-
26-
SG_FOLDER=.build/symbol-graphs
27-
MQTTNIO_SG_FOLDER=.build/mqtt-nio-symbol-graphs
28-
OUTPUT_PATH=docs/mqtt-nio/
29-
30-
BUILD_SYMBOLS=1
31-
32-
while getopts 's' option
33-
do
34-
case $option in
35-
s) BUILD_SYMBOLS=0;;
36-
esac
37-
done
38-
39-
if [ -z "${DOCC_HTML_DIR:-}" ]; then
40-
git clone https://github.com/apple/swift-docc-render-artifact $TEMP_DIR/swift-docc-render-artifact
41-
export DOCC_HTML_DIR="$TEMP_DIR/swift-docc-render-artifact/dist"
42-
fi
43-
44-
if test "$BUILD_SYMBOLS" == 1; then
45-
# build symbol graphs
46-
mkdir -p $SG_FOLDER
47-
swift build \
48-
-Xswiftc -emit-symbol-graph \
49-
-Xswiftc -emit-symbol-graph-dir -Xswiftc $SG_FOLDER
50-
# Copy MQTTNIO symbol graph into separate folder
51-
mkdir -p $MQTTNIO_SG_FOLDER
52-
cp $SG_FOLDER/MQTTNIO* $MQTTNIO_SG_FOLDER
53-
fi
54-
55-
# Build documentation
56-
mkdir -p $OUTPUT_PATH
57-
rm -rf $OUTPUT_PATH/*
58-
docc convert Sources/MQTTNIO/MQTTNIO.docc \
59-
--transform-for-static-hosting \
60-
--hosting-base-path /mqtt-nio \
61-
--fallback-display-name MQTTNIO \
62-
--fallback-bundle-identifier org.swift-server-community.mqtt-nio \
63-
--fallback-bundle-version 1 \
64-
--additional-symbol-graph-dir $MQTTNIO_SG_FOLDER \
65-
--output-path $OUTPUT_PATH
16+
usePlugin

0 commit comments

Comments
 (0)