Skip to content

Commit c114d3a

Browse files
jkmasselclaude
andcommitted
Add WordPressShared and WordPressKit to cross-platform package
Add WordPressSharedObjC, WordPressShared, WordPressKit, and WordPressSharedTests to the root Package.swift for macOS testing. Fix cross-platform build issues: remove unused MobileCoreServices import from URL+Helpers, guard String.accessibilityLabel usage in Double+Stats with #if canImport(UIKit), and remove unused WordPressSharedObjC import from String+RemovingMatches. Co-Authored-By: Claude Opus 4.6 <[email protected]>
1 parent 0b29005 commit c114d3a

5 files changed

Lines changed: 69 additions & 4 deletions

File tree

Modules/Sources/WordPressShared/URL+Helpers.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import Foundation
2-
import MobileCoreServices
32
import UniformTypeIdentifiers
43

54
public extension URL {

Modules/Sources/WordPressShared/Utility/Double+Stats.swift

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,8 +136,10 @@ extension Double {
136136
roundedNum = self < 0 ? -roundedNum : roundedNum
137137
let formattedValue = roundedNum.formatWithFractions()
138138

139-
let formattedString = String.localizedStringWithFormat(unit.abbreviationFormat, formattedValue)
139+
var formattedString = String.localizedStringWithFormat(unit.abbreviationFormat, formattedValue)
140+
#if canImport(UIKit)
140141
formattedString.accessibilityLabel = String.localizedStringWithFormat(unit.accessibilityLabelFormat, formattedValue)
142+
#endif
141143

142144
return formattedString
143145
}

Modules/Sources/WordPressShared/Utility/String+RemovingMatches.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import Foundation
2-
import WordPressSharedObjC
32

43
extension String {
54

Package.resolved

Lines changed: 10 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Package.swift

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ let package = Package(
1717
.package(url: "https://github.com/wordpress-mobile/NSObject-SafeExpectations", from: "0.0.6"),
1818
.package(url: "https://github.com/wordpress-mobile/wpxmlrpc", from: "0.9.0"),
1919
.package(url: "https://github.com/Automattic/wordpress-rs", revision: "alpha-20260226"),
20+
.package(url: "https://github.com/Automattic/Reachability", branch: "framework-support-via-spm"),
2021
],
2122
targets: [
2223
.target(name: "BuildSettingsKit", path: "Modules/Sources/BuildSettingsKit"),
@@ -66,6 +67,44 @@ let package = Package(
6667
.define("NS_BLOCK_ASSERTIONS", to: "1", .when(configuration: .release))
6768
]
6869
),
70+
.target(
71+
name: "WordPressSharedObjC",
72+
path: "Modules/Sources/WordPressSharedObjC",
73+
swiftSettings: [.swiftLanguageMode(.v5)]
74+
),
75+
.target(
76+
name: "WordPressShared",
77+
dependencies: [
78+
.product(name: "Reachability", package: "Reachability"),
79+
"SFHFKeychainUtils",
80+
"WordPressSharedObjC",
81+
],
82+
path: "Modules/Sources/WordPressShared",
83+
resources: [.process("Resources")],
84+
swiftSettings: [.swiftLanguageMode(.v5)]
85+
),
86+
.target(
87+
name: "WordPressKit",
88+
dependencies: [
89+
"WordPressKitObjC",
90+
"WordPressKitModels",
91+
"WordPressKitObjCUtils",
92+
"NSObject-SafeExpectations",
93+
"WordPressShared",
94+
"wpxmlrpc",
95+
],
96+
path: "Modules/Sources/WordPressKit",
97+
swiftSettings: [.swiftLanguageMode(.v5)]
98+
),
99+
.target(
100+
name: "WordPressCore",
101+
dependencies: [
102+
"WordPressCoreProtocols",
103+
"WordPressShared",
104+
.product(name: "WordPressAPI", package: "wordpress-rs"),
105+
],
106+
path: "Modules/Sources/WordPressCore"
107+
),
69108
.target(
70109
name: "WordPressTesting",
71110
path: "Modules/Sources/WordPressTesting",
@@ -89,5 +128,22 @@ let package = Package(
89128
exclude: ["WordPressFluxTests.xctestplan"],
90129
swiftSettings: [.swiftLanguageMode(.v5)]
91130
),
131+
.testTarget(
132+
name: "WordPressCoreTests",
133+
dependencies: ["WordPressCore"],
134+
path: "Modules/Tests/WordPressCoreTests",
135+
exclude: ["WordPressCore.xctestplan"]
136+
),
137+
.testTarget(
138+
name: "WordPressSharedTests",
139+
dependencies: ["WordPressShared"],
140+
path: "Modules/Tests/WordPressSharedTests",
141+
exclude: [
142+
"WordPressShared.xctestplan",
143+
"RichContentFormatterTests.swift",
144+
"WPUserAgentTests.swift",
145+
],
146+
swiftSettings: [.swiftLanguageMode(.v5)]
147+
),
92148
]
93149
)

0 commit comments

Comments
 (0)