Skip to content

Commit c29aab5

Browse files
authored
Merge pull request #2 from qawolf/spm-again
Introduce Swift Package Manager support
2 parents 48e6798 + 70ffd23 commit c29aab5

51 files changed

Lines changed: 209 additions & 12 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Package.swift

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
// swift-tools-version: 5.9
2+
import PackageDescription
3+
4+
let package = Package(
5+
name: "WebDriverAgent",
6+
defaultLocalization: "en",
7+
platforms: [
8+
.iOS(.v12)
9+
],
10+
products: [
11+
// Expose the Obj-C library as a SwiftPM product so it can be imported from Swift.
12+
.library(name: "WebDriverAgentLib", targets: ["WebDriverAgentLib"])
13+
],
14+
targets: [
15+
// ---- Vendor: CocoaAsyncSocket ----
16+
.target(
17+
name: "CocoaAsyncSocket",
18+
path: "WebDriverAgentLib/Vendor/CocoaAsyncSocket",
19+
publicHeadersPath: "."
20+
),
21+
22+
// ---- Vendor: CocoaHTTPServer ----
23+
.target(
24+
name: "CocoaHTTPServer",
25+
dependencies: ["CocoaAsyncSocket"],
26+
path: "WebDriverAgentLib/Vendor/CocoaHTTPServer",
27+
publicHeadersPath: ".",
28+
cSettings: [
29+
.headerSearchPath("Categories"),
30+
.headerSearchPath("Responses")
31+
]
32+
),
33+
34+
// ---- Vendor: RoutingHTTPServer ----
35+
.target(
36+
name: "RoutingHTTPServer",
37+
dependencies: ["CocoaHTTPServer"],
38+
path: "WebDriverAgentLib/Vendor/RoutingHTTPServer",
39+
publicHeadersPath: ".",
40+
cSettings: [
41+
// Need CocoaHTTPServer headers in include path for quote-style imports
42+
.headerSearchPath("../CocoaHTTPServer"),
43+
.headerSearchPath("../CocoaHTTPServer/Responses"),
44+
.headerSearchPath("../CocoaHTTPServer/Categories")
45+
]
46+
),
47+
48+
// ---- Main library ----
49+
.target(
50+
name: "WebDriverAgentLib",
51+
dependencies: [
52+
"RoutingHTTPServer"
53+
],
54+
path: "WebDriverAgentLib",
55+
exclude: [
56+
"Vendor" // compiled in dedicated targets above
57+
],
58+
publicHeadersPath: "include",
59+
cSettings: [
60+
.headerSearchPath(".."),
61+
.headerSearchPath("include"),
62+
.headerSearchPath("Routing"),
63+
.headerSearchPath("Utilities"),
64+
.headerSearchPath("Utilities/LRUCache"),
65+
.headerSearchPath("Categories"),
66+
.headerSearchPath("Commands"),
67+
.headerSearchPath("include/WebDriverAgentLib"),
68+
.headerSearchPath("../PrivateHeaders/XCTest"),
69+
.headerSearchPath("../PrivateHeaders/MobileCoreServices"),
70+
.headerSearchPath("../PrivateHeaders/AccessibilityUtilities"),
71+
.headerSearchPath("../PrivateHeaders/TextInput"),
72+
.headerSearchPath("../PrivateHeaders/UIKitCore"),
73+
],
74+
linkerSettings: [
75+
// Link against XCTest and system UIKit/Foundation frameworks that
76+
// are referenced across the Objective-C implementation files.
77+
.linkedFramework("XCTest"),
78+
.linkedFramework("UIKit"),
79+
.linkedFramework("Foundation"),
80+
.linkedFramework("MobileCoreServices"),
81+
.linkedFramework("UniformTypeIdentifiers")
82+
]
83+
),
84+
// Unit-test target (optional – keeps parity with the original project).
85+
.testTarget(
86+
name: "WebDriverAgentLibTests",
87+
dependencies: ["WebDriverAgentLib"],
88+
path: "WebDriverAgentTests"
89+
)
90+
]
91+
)

WebDriverAgent.xcodeproj/project.pbxproj

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@
2121
13DE7A4A287C4005003243C6 /* FBXCDeviceEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 13DE7A47287C4005003243C6 /* FBXCDeviceEvent.h */; };
2222
13DE7A4B287C4005003243C6 /* FBXCDeviceEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = 13DE7A48287C4005003243C6 /* FBXCDeviceEvent.m */; };
2323
13DE7A4C287C4005003243C6 /* FBXCDeviceEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = 13DE7A48287C4005003243C6 /* FBXCDeviceEvent.m */; };
24-
13DE7A4F287C46BB003243C6 /* FBXCElementSnapshot.h in Headers */ = {isa = PBXBuildFile; fileRef = 13DE7A4D287C46BB003243C6 /* FBXCElementSnapshot.h */; };
25-
13DE7A50287C46BB003243C6 /* FBXCElementSnapshot.h in Headers */ = {isa = PBXBuildFile; fileRef = 13DE7A4D287C46BB003243C6 /* FBXCElementSnapshot.h */; };
24+
13DE7A4F287C46BB003243C6 /* FBXCElementSnapshot.h in Headers */ = {isa = PBXBuildFile; fileRef = 13DE7A4D287C46BB003243C6 /* FBXCElementSnapshot.h */; settings = {ATTRIBUTES = (Public, ); }; };
25+
13DE7A50287C46BB003243C6 /* FBXCElementSnapshot.h in Headers */ = {isa = PBXBuildFile; fileRef = 13DE7A4D287C46BB003243C6 /* FBXCElementSnapshot.h */; settings = {ATTRIBUTES = (Public, ); }; };
2626
13DE7A51287C46BB003243C6 /* FBXCElementSnapshot.m in Sources */ = {isa = PBXBuildFile; fileRef = 13DE7A4E287C46BB003243C6 /* FBXCElementSnapshot.m */; };
2727
13DE7A52287C46BB003243C6 /* FBXCElementSnapshot.m in Sources */ = {isa = PBXBuildFile; fileRef = 13DE7A4E287C46BB003243C6 /* FBXCElementSnapshot.m */; };
28-
13DE7A55287CA1EC003243C6 /* FBXCElementSnapshotWrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = 13DE7A53287CA1EC003243C6 /* FBXCElementSnapshotWrapper.h */; };
29-
13DE7A56287CA1EC003243C6 /* FBXCElementSnapshotWrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = 13DE7A53287CA1EC003243C6 /* FBXCElementSnapshotWrapper.h */; };
28+
13DE7A55287CA1EC003243C6 /* FBXCElementSnapshotWrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = 13DE7A53287CA1EC003243C6 /* FBXCElementSnapshotWrapper.h */; settings = {ATTRIBUTES = (Public, ); }; };
29+
13DE7A56287CA1EC003243C6 /* FBXCElementSnapshotWrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = 13DE7A53287CA1EC003243C6 /* FBXCElementSnapshotWrapper.h */; settings = {ATTRIBUTES = (Public, ); }; };
3030
13DE7A57287CA1EC003243C6 /* FBXCElementSnapshotWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 13DE7A54287CA1EC003243C6 /* FBXCElementSnapshotWrapper.m */; };
3131
13DE7A58287CA1EC003243C6 /* FBXCElementSnapshotWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 13DE7A54287CA1EC003243C6 /* FBXCElementSnapshotWrapper.m */; };
3232
13DE7A5B287CA444003243C6 /* FBXCElementSnapshotWrapper+Helpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 13DE7A59287CA444003243C6 /* FBXCElementSnapshotWrapper+Helpers.h */; };
@@ -2300,6 +2300,8 @@
23002300
641EE6392240C5CA00173FCB /* FBRouteRequest.h in Headers */,
23012301
648C10AC22AAAD9C00B81B9A /* UIKeyboardImpl.h in Headers */,
23022302
718226CD2587443700661B83 /* GCDAsyncSocket.h in Headers */,
2303+
13DE7A50287C46BB003243C6 /* FBXCElementSnapshot.h in Headers */,
2304+
13DE7A56287CA1EC003243C6 /* FBXCElementSnapshotWrapper.h in Headers */,
23032305
71F3E7D525417FF400E0C22B /* FBSettings.h in Headers */,
23042306
641EE63A2240C5CA00173FCB /* XCTest.h in Headers */,
23052307
641EE63B2240C5CA00173FCB /* FBAlertsMonitor.h in Headers */,
@@ -2348,7 +2350,6 @@
23482350
641EE6632240C5CA00173FCB /* FBUnknownCommands.h in Headers */,
23492351
641EE7062240CDCF00173FCB /* XCUIElement+FBTVFocuse.h in Headers */,
23502352
71822738258744B800661B83 /* HTTPConnection.h in Headers */,
2351-
13DE7A56287CA1EC003243C6 /* FBXCElementSnapshotWrapper.h in Headers */,
23522353
641EE6642240C5CA00173FCB /* NSPredicate+FBFormat.h in Headers */,
23532354
641EE6652240C5CA00173FCB /* UILongPressGestureRecognizer-RecordingAdditions.h in Headers */,
23542355
641EE6662240C5CA00173FCB /* XCTestCase.h in Headers */,
@@ -2510,7 +2511,6 @@
25102511
641EE6E72240C5CA00173FCB /* XCUIElement+FBFind.h in Headers */,
25112512
641EE6E82240C5CA00173FCB /* XCTestManager_ManagerInterface-Protocol.h in Headers */,
25122513
641EE6E92240C5CA00173FCB /* FBFailureProofTestCase.h in Headers */,
2513-
13DE7A50287C46BB003243C6 /* FBXCElementSnapshot.h in Headers */,
25142514
641EE6EA2240C5CA00173FCB /* XCTTestRunSessionDelegate-Protocol.h in Headers */,
25152515
641EE6EB2240C5CA00173FCB /* XCTestCaseSuite.h in Headers */,
25162516
641EE6EC2240C5CA00173FCB /* _XCInternalTestRun.h in Headers */,
@@ -2581,6 +2581,7 @@
25812581
EE35AD721E3B77D600A02D78 /* XCUIElementHitPointCoordinate.h in Headers */,
25822582
EE35AD3F1E3B77D600A02D78 /* XCTDarwinNotificationExpectation.h in Headers */,
25832583
EE35AD5F1E3B77D600A02D78 /* XCTRunnerAutomationSession.h in Headers */,
2584+
13DE7A4F287C46BB003243C6 /* FBXCElementSnapshot.h in Headers */,
25842585
71C9EAAC25E8415A00470CD8 /* FBScreenshot.h in Headers */,
25852586
EE35AD371E3B77D600A02D78 /* XCSourceCodeTreeNodeEnumerator.h in Headers */,
25862587
EE158AB01CBD456F00A3E3F0 /* XCUIElement+FBIsVisible.h in Headers */,
@@ -2678,7 +2679,6 @@
26782679
EE158AB81CBD456F00A3E3F0 /* FBAlertViewCommands.h in Headers */,
26792680
EE35AD651E3B77D600A02D78 /* XCTWaiter.h in Headers */,
26802681
EE35AD681E3B77D600A02D78 /* XCTWaiterManagement-Protocol.h in Headers */,
2681-
13DE7A4F287C46BB003243C6 /* FBXCElementSnapshot.h in Headers */,
26822682
EE35AD451E3B77D600A02D78 /* XCTestContext.h in Headers */,
26832683
EE35AD661E3B77D600A02D78 /* XCTWaiterDelegate-Protocol.h in Headers */,
26842684
EE35AD0E1E3B77D600A02D78 /* _XCTestExpectationImplementation.h in Headers */,

WebDriverAgentLib/Categories/XCUIElement+FBAccessibility.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*/
99

1010
#import <WebDriverAgentLib/XCUIElement.h>
11-
#import "FBXCElementSnapshotWrapper.h"
11+
#import <WebDriverAgentLib/FBXCElementSnapshotWrapper.h>
1212

1313
NS_ASSUME_NONNULL_BEGIN
1414

WebDriverAgentLib/Categories/XCUIElement+FBIsVisible.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* of patent rights can be found in the PATENTS file in the same directory.
88
*/
99

10-
#import "FBXCElementSnapshotWrapper.h"
10+
#import <WebDriverAgentLib/FBXCElementSnapshotWrapper.h>
1111

1212
NS_ASSUME_NONNULL_BEGIN
1313

WebDriverAgentLib/Categories/XCUIElement+FBUtilities.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
#import <XCTest/XCTest.h>
1111
#import <WebDriverAgentLib/FBElement.h>
12-
#import "FBXCElementSnapshot.h"
12+
#import <WebDriverAgentLib/FBXCElementSnapshot.h>
1313

1414
NS_ASSUME_NONNULL_BEGIN
1515

WebDriverAgentLib/Categories/XCUIElement+FBWebDriverAttributes.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
#import <WebDriverAgentLib/FBElement.h>
1111
#import <WebDriverAgentLib/XCUIElement.h>
12-
#import "FBXCElementSnapshotWrapper.h"
12+
#import <WebDriverAgentLib/FBXCElementSnapshotWrapper.h>
1313

1414
NS_ASSUME_NONNULL_BEGIN
1515

WebDriverAgentLib/Utilities/FBXPath.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
#import <XCTest/XCTest.h>
1111
#import <WebDriverAgentLib/FBElement.h>
12-
#import "FBXCElementSnapshot.h"
12+
#import <WebDriverAgentLib/FBXCElementSnapshot.h>
1313

1414
#ifdef __clang__
1515
#pragma clang diagnostic push

WebDriverAgentLib/WebDriverAgentLib.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ FOUNDATION_EXPORT double WebDriverAgentLib_VersionNumber;
1515
//! Project version string for WebDriverAgentLib_.
1616
FOUNDATION_EXPORT const unsigned char WebDriverAgentLib_VersionString[];
1717

18+
#import <WebDriverAgentLib/CDStructures.h>
1819
#import <WebDriverAgentLib/FBAlert.h>
1920
#import <WebDriverAgentLib/FBCommandHandler.h>
2021
#import <WebDriverAgentLib/FBCommandStatus.h>
@@ -38,9 +39,17 @@ FOUNDATION_EXPORT const unsigned char WebDriverAgentLib_VersionString[];
3839
#import <WebDriverAgentLib/FBRuntimeUtils.h>
3940
#import <WebDriverAgentLib/FBSession.h>
4041
#import <WebDriverAgentLib/FBWebServer.h>
42+
#import <WebDriverAgentLib/FBXCElementSnapshot.h>
43+
#import <WebDriverAgentLib/FBXCElementSnapshotWrapper.h>
44+
#import <WebDriverAgentLib/FBXPath.h>
45+
#import <WebDriverAgentLib/WebDriverAgentLib.h>
46+
#import <WebDriverAgentLib/XCDebugLogDelegate-Protocol.h>
47+
#import <WebDriverAgentLib/XCTestCase.h>
48+
#import <WebDriverAgentLib/XCTIssue+FBPatcher.h>
4149
#import <WebDriverAgentLib/XCUIApplication+FBHelpers.h>
4250
#import <WebDriverAgentLib/XCUIDevice+FBHelpers.h>
4351
#import <WebDriverAgentLib/XCUIDevice+FBRotation.h>
52+
#import <WebDriverAgentLib/XCUIElement.h>
4453
#import <WebDriverAgentLib/XCUIElement+FBAccessibility.h>
4554
#import <WebDriverAgentLib/XCUIElement+FBFind.h>
4655
#import <WebDriverAgentLib/XCUIElement+FBIsVisible.h>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../../PrivateHeaders/XCTest/CDStructures.h
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../FBAlert.h

0 commit comments

Comments
 (0)