Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 2 additions & 20 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,27 +36,9 @@ jobs:
cache-dependency-path: WebSocketServer/package-lock.json
- run: npm ci

spm:
runs-on: macos-14
steps:
- uses: actions/checkout@v4
- name: Build via Swift Package Manager
run: ./scripts/build-spm-package.sh

ios:
runs-on: macos-14
steps:
- uses: actions/checkout@v4
- name: Install Carthage
run: brew install carthage
- name: Build dependencies
run: make setup-ci
- name: Build RIBsTreeViewerClient (Simulator)
run: |
xcodebuild build \
-project RIBsTreeViewerClient.xcodeproj \
-scheme RIBsTreeViewerClient \
-destination 'generic/platform=iOS Simulator' \
-configuration Release \
BUILD_LIBRARY_FOR_DISTRIBUTION=YES \
CODE_SIGNING_ALLOWED=NO
- name: Verify usable state (SPM + Xcode + Browser + WebSocket)
run: ./scripts/verify.sh
19 changes: 4 additions & 15 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,24 +1,13 @@
.PHONY: help
.DEFAULT_GOAL := help

help:
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'

CARTHAGE_BUILD_FLAGS = --platform iOS --no-use-binaries --use-xcframeworks

setup: ## Fetch and build Carthage dependencies (RIBs, RxSwift).
carthage update --platform iOS --no-build
@./scripts/patch_carthage_checkouts.sh
carthage build $(CARTHAGE_BUILD_FLAGS) RxSwift RxRelay
carthage build $(CARTHAGE_BUILD_FLAGS) RIBs

setup-ci: ## Carthage bootstrap for CI (uses Cartfile.resolved).
carthage bootstrap --platform iOS --no-build --cache-builds
@./scripts/patch_carthage_checkouts.sh
carthage build $(CARTHAGE_BUILD_FLAGS) --cache-builds RxSwift RxRelay
carthage build $(CARTHAGE_BUILD_FLAGS) --cache-builds RIBs
verify: ## Run full usability checks (./scripts/verify.sh).
@./scripts/verify.sh

generate_xcframeworks: ## Generate XCFrameworks.
generate_xcframeworks: ## Regenerate Products/RIBsTreeViewerClient.xcframework (SPM deps).
@./scripts/generate_xcframeworks.sh

websocket-server: ## Start the WebSocket relay (port 8080).
Expand Down
10 changes: 5 additions & 5 deletions Products/RIBsTreeViewerClient.xcframework/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -8,32 +8,32 @@
<key>BinaryPath</key>
<string>RIBsTreeViewerClient.framework/RIBsTreeViewerClient</string>
<key>LibraryIdentifier</key>
<string>ios-arm64_x86_64-simulator</string>
<string>ios-arm64</string>
<key>LibraryPath</key>
<string>RIBsTreeViewerClient.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
<dict>
<key>BinaryPath</key>
<string>RIBsTreeViewerClient.framework/RIBsTreeViewerClient</string>
<key>LibraryIdentifier</key>
<string>ios-arm64</string>
<string>ios-arm64_x86_64-simulator</string>
<key>LibraryPath</key>
<string>RIBsTreeViewerClient.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
</array>
<key>CFBundlePackageType</key>
Expand Down
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -386,7 +386,7 @@
"usr": "s:20RIBsTreeViewerClient0abC4ImplC",
"mangledName": "$s20RIBsTreeViewerClient0abC4ImplC",
"moduleName": "RIBsTreeViewerClient",
"intro_iOS": "13.0",
"intro_iOS": "15.0",
"declAttributes": [
"AccessControl",
"Available"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.2 effective-5.10 (swiftlang-6.2.0.19.9 clang-1700.3.19.1)
// swift-module-flags: -target arm64-apple-ios13.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name RIBsTreeViewerClient
// swift-module-flags: -target arm64-apple-ios15.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name RIBsTreeViewerClient
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2
import Foundation
import RIBs
Expand All @@ -22,7 +22,7 @@ public enum RIBsTreeViewerOption {
case webSocketURL(Swift.String)
case monitoringIntervalMillis(Swift.Int)
}
@available(iOS 13.0, *)
@available(iOS 15.0, *)
public class RIBsTreeViewerImpl : RIBsTreeViewerClient.RIBsTreeViewer {
#if compiler(>=5.3) && $NonescapableTypes
required public init(router: any RIBs.Routing, options: [RIBsTreeViewerClient.RIBsTreeViewerOption]?)
Expand Down
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.2 effective-5.10 (swiftlang-6.2.0.19.9 clang-1700.3.19.1)
// swift-module-flags: -target arm64-apple-ios13.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name RIBsTreeViewerClient
// swift-module-flags: -target arm64-apple-ios15.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name RIBsTreeViewerClient
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2
import Foundation
import RIBs
Expand All @@ -22,7 +22,7 @@ public enum RIBsTreeViewerOption {
case webSocketURL(Swift.String)
case monitoringIntervalMillis(Swift.Int)
}
@available(iOS 13.0, *)
@available(iOS 15.0, *)
public class RIBsTreeViewerImpl : RIBsTreeViewerClient.RIBsTreeViewer {
#if compiler(>=5.3) && $NonescapableTypes
required public init(router: any RIBs.Routing, options: [RIBsTreeViewerClient.RIBsTreeViewerOption]?)
Expand Down
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -386,7 +386,7 @@
"usr": "s:20RIBsTreeViewerClient0abC4ImplC",
"mangledName": "$s20RIBsTreeViewerClient0abC4ImplC",
"moduleName": "RIBsTreeViewerClient",
"intro_iOS": "13.0",
"intro_iOS": "15.0",
"declAttributes": [
"AccessControl",
"Available"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.2 effective-5.10 (swiftlang-6.2.0.19.9 clang-1700.3.19.1)
// swift-module-flags: -target arm64-apple-ios13.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name RIBsTreeViewerClient
// swift-module-flags: -target arm64-apple-ios15.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name RIBsTreeViewerClient
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2
import Foundation
import RIBs
Expand All @@ -22,7 +22,7 @@ public enum RIBsTreeViewerOption {
case webSocketURL(Swift.String)
case monitoringIntervalMillis(Swift.Int)
}
@available(iOS 13.0, *)
@available(iOS 15.0, *)
public class RIBsTreeViewerImpl : RIBsTreeViewerClient.RIBsTreeViewer {
#if compiler(>=5.3) && $NonescapableTypes
required public init(router: any RIBs.Routing, options: [RIBsTreeViewerClient.RIBsTreeViewerOption]?)
Expand Down
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.2 effective-5.10 (swiftlang-6.2.0.19.9 clang-1700.3.19.1)
// swift-module-flags: -target arm64-apple-ios13.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name RIBsTreeViewerClient
// swift-module-flags: -target arm64-apple-ios15.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name RIBsTreeViewerClient
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2
import Foundation
import RIBs
Expand All @@ -22,7 +22,7 @@ public enum RIBsTreeViewerOption {
case webSocketURL(Swift.String)
case monitoringIntervalMillis(Swift.Int)
}
@available(iOS 13.0, *)
@available(iOS 15.0, *)
public class RIBsTreeViewerImpl : RIBsTreeViewerClient.RIBsTreeViewer {
#if compiler(>=5.3) && $NonescapableTypes
required public init(router: any RIBs.Routing, options: [RIBsTreeViewerClient.RIBsTreeViewerOption]?)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -386,7 +386,7 @@
"usr": "s:20RIBsTreeViewerClient0abC4ImplC",
"mangledName": "$s20RIBsTreeViewerClient0abC4ImplC",
"moduleName": "RIBsTreeViewerClient",
"intro_iOS": "13.0",
"intro_iOS": "15.0",
"declAttributes": [
"AccessControl",
"Available"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.2 effective-5.10 (swiftlang-6.2.0.19.9 clang-1700.3.19.1)
// swift-module-flags: -target x86_64-apple-ios13.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name RIBsTreeViewerClient
// swift-module-flags: -target x86_64-apple-ios15.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name RIBsTreeViewerClient
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2
import Foundation
import RIBs
Expand All @@ -22,7 +22,7 @@ public enum RIBsTreeViewerOption {
case webSocketURL(Swift.String)
case monitoringIntervalMillis(Swift.Int)
}
@available(iOS 13.0, *)
@available(iOS 15.0, *)
public class RIBsTreeViewerImpl : RIBsTreeViewerClient.RIBsTreeViewer {
#if compiler(>=5.3) && $NonescapableTypes
required public init(router: any RIBs.Routing, options: [RIBsTreeViewerClient.RIBsTreeViewerOption]?)
Expand Down
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.2 effective-5.10 (swiftlang-6.2.0.19.9 clang-1700.3.19.1)
// swift-module-flags: -target x86_64-apple-ios13.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name RIBsTreeViewerClient
// swift-module-flags: -target x86_64-apple-ios15.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name RIBsTreeViewerClient
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2
import Foundation
import RIBs
Expand All @@ -22,7 +22,7 @@ public enum RIBsTreeViewerOption {
case webSocketURL(Swift.String)
case monitoringIntervalMillis(Swift.Int)
}
@available(iOS 13.0, *)
@available(iOS 15.0, *)
public class RIBsTreeViewerImpl : RIBsTreeViewerClient.RIBsTreeViewer {
#if compiler(>=5.3) && $NonescapableTypes
required public init(router: any RIBs.Routing, options: [RIBsTreeViewerClient.RIBsTreeViewerOption]?)
Expand Down
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -14,47 +14,47 @@
</data>
<key>Info.plist</key>
<data>
H94fkPqXB41T4AezCDV8qa3ceWw=
D6asmWDkXcskZokn4kWVvf2JMl4=
</data>
<key>Modules/RIBsTreeViewerClient.swiftmodule/arm64-apple-ios-simulator.abi.json</key>
<data>
Qml/PWH5GgqSv1EHmPh9gV6cSIc=
I5CRo3J/gkgmldEirZcoI//qgAs=
</data>
<key>Modules/RIBsTreeViewerClient.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface</key>
<data>
KsAMQQXP8TNfvYkxjRfEXhrlLXw=
6HSV4ex8GCcv0XfOmhWKaTAy8B4=
</data>
<key>Modules/RIBsTreeViewerClient.swiftmodule/arm64-apple-ios-simulator.swiftdoc</key>
<data>
Z7OeThwM4pCIbyjPXTB2mgm5d3M=
bTdmD6PhEfEqvTOZB0xYGyhOWDw=
</data>
<key>Modules/RIBsTreeViewerClient.swiftmodule/arm64-apple-ios-simulator.swiftinterface</key>
<data>
KsAMQQXP8TNfvYkxjRfEXhrlLXw=
6HSV4ex8GCcv0XfOmhWKaTAy8B4=
</data>
<key>Modules/RIBsTreeViewerClient.swiftmodule/arm64-apple-ios-simulator.swiftmodule</key>
<data>
mmAJB3lx8NbSMzDT2W0xQXA/NiI=
7PTJvRQDV1HNdLgfluf9N7NOx/0=
</data>
<key>Modules/RIBsTreeViewerClient.swiftmodule/x86_64-apple-ios-simulator.abi.json</key>
<data>
Qml/PWH5GgqSv1EHmPh9gV6cSIc=
I5CRo3J/gkgmldEirZcoI//qgAs=
</data>
<key>Modules/RIBsTreeViewerClient.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface</key>
<data>
UqPdP2+CrXrnvHKwPDy/P3gyUSg=
rGfOHXt03lnzrPtBtxeyNLhF90o=
</data>
<key>Modules/RIBsTreeViewerClient.swiftmodule/x86_64-apple-ios-simulator.swiftdoc</key>
<data>
rcxsJ8W9koN7G0EmTZsEcqqR5RE=
a2OwEA/SDCOP0Bl5GiYA/VexZ6M=
</data>
<key>Modules/RIBsTreeViewerClient.swiftmodule/x86_64-apple-ios-simulator.swiftinterface</key>
<data>
UqPdP2+CrXrnvHKwPDy/P3gyUSg=
rGfOHXt03lnzrPtBtxeyNLhF90o=
</data>
<key>Modules/RIBsTreeViewerClient.swiftmodule/x86_64-apple-ios-simulator.swiftmodule</key>
<data>
j/ZxCmJvulUkiiW5igveLr5JVm0=
WtDuLx+RnNPdFaqx81Em3bblLr4=
</data>
<key>Modules/module.modulemap</key>
<data>
Expand All @@ -81,70 +81,70 @@
<dict>
<key>hash2</key>
<data>
ugcySCvrF/m6HMnU1Lx2OGoGNNftNqHi+YtlT20vF14=
ZTLEjOQN42UKTACyBuQN03/IyRLJ/TT4UFeP3HNgxk4=
</data>
</dict>
<key>Modules/RIBsTreeViewerClient.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface</key>
<dict>
<key>hash2</key>
<data>
dU2kH5Iq+R3Q7SHBGeD1Oh3/egLz+DImA/pbmqqvZUU=
/6RlLiVLFxp9vHsKRox6meSymo/Es5+E+4uPY9w+7O4=
</data>
</dict>
<key>Modules/RIBsTreeViewerClient.swiftmodule/arm64-apple-ios-simulator.swiftdoc</key>
<dict>
<key>hash2</key>
<data>
CxwcBWMAjoDVFjO58ps4UoUrxL/unzuI1cxDHvSpRbw=
AUZ7OD4KACpsqEdq1dqAVbSd8d01fFAMKnRjmD5WLvc=
</data>
</dict>
<key>Modules/RIBsTreeViewerClient.swiftmodule/arm64-apple-ios-simulator.swiftinterface</key>
<dict>
<key>hash2</key>
<data>
dU2kH5Iq+R3Q7SHBGeD1Oh3/egLz+DImA/pbmqqvZUU=
/6RlLiVLFxp9vHsKRox6meSymo/Es5+E+4uPY9w+7O4=
</data>
</dict>
<key>Modules/RIBsTreeViewerClient.swiftmodule/arm64-apple-ios-simulator.swiftmodule</key>
<dict>
<key>hash2</key>
<data>
JW07oPzo5h/ve4FDh9HSkDIgJi1XqTc9YcFGvb1xbKU=
e2kAmGdSaQOCFoqJfCKpA1jc8uXxUxzbsLZjCDXM7Ag=
</data>
</dict>
<key>Modules/RIBsTreeViewerClient.swiftmodule/x86_64-apple-ios-simulator.abi.json</key>
<dict>
<key>hash2</key>
<data>
ugcySCvrF/m6HMnU1Lx2OGoGNNftNqHi+YtlT20vF14=
ZTLEjOQN42UKTACyBuQN03/IyRLJ/TT4UFeP3HNgxk4=
</data>
</dict>
<key>Modules/RIBsTreeViewerClient.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface</key>
<dict>
<key>hash2</key>
<data>
xGQLWfqQp+pSmkkf8tkJEVGRskCuTDm97qi1wUgnHLY=
zw0HyQvJn4GggJx0DkMTViIv8pckq6r3w+TVbEUsVXQ=
</data>
</dict>
<key>Modules/RIBsTreeViewerClient.swiftmodule/x86_64-apple-ios-simulator.swiftdoc</key>
<dict>
<key>hash2</key>
<data>
YgrIz2dqyNMxL06T1EI2t3nvLjVQiHqMM8uEpq0YSNU=
EW6p9HPhVvDASuMALKHpyJSn4Z1BB0L1to75anZ9xw0=
</data>
</dict>
<key>Modules/RIBsTreeViewerClient.swiftmodule/x86_64-apple-ios-simulator.swiftinterface</key>
<dict>
<key>hash2</key>
<data>
xGQLWfqQp+pSmkkf8tkJEVGRskCuTDm97qi1wUgnHLY=
zw0HyQvJn4GggJx0DkMTViIv8pckq6r3w+TVbEUsVXQ=
</data>
</dict>
<key>Modules/RIBsTreeViewerClient.swiftmodule/x86_64-apple-ios-simulator.swiftmodule</key>
<dict>
<key>hash2</key>
<data>
pF13kxt1ZagQYSYLYu/G0LAYaJ3+88z11muA5u1FvoU=
DX3kmjsw7UY1f0VJySqEp+dp9MJFwZzoe6Z6P+cs0M0=
</data>
</dict>
<key>Modules/module.modulemap</key>
Expand Down
Loading
Loading