Skip to content
Draft
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
47 changes: 21 additions & 26 deletions Modules/Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ let package = Package(
.library(name: "WordPressReader", targets: ["WordPressReader"]),
.library(name: "WordPressCore", targets: ["WordPressCore"]),
.library(name: "WordPressCoreProtocols", targets: ["WordPressCoreProtocols"]),
.library(name: "WordPressData", targets: ["WordPressData"]),
],
dependencies: [
.package(url: "https://github.com/airbnb/lottie-ios", from: "4.4.0"),
Expand Down Expand Up @@ -164,6 +165,24 @@ let package = Package(
// This package should never have dependencies – it exists to expose protocols implemented in WordPressCore
// to UI code, because `wordpress-rs` doesn't work nicely with previews.
]),
.target(
name: "WordPressData",
dependencies: [
"BuildSettingsKit",
"FormattableContentKit",
"SFHFKeychainUtils",
"WordPressShared",
"WordPressKit",
.product(name: "CocoaLumberjack", package: "CocoaLumberjack"),
.product(name: "CocoaLumberjackSwift", package: "CocoaLumberjack"),
.product(name: "Gravatar", package: "Gravatar-SDK-iOS"),
.product(name: "NSObject-SafeExpectations", package: "NSObject-SafeExpectations"),
.product(name: "NSURL-IDN", package: "NSURL-IDN"),
.product(name: "WordPressAPI", package: "wordpress-rs"),
],
resources: [.process("Resources")],
swiftSettings: [.swiftLanguageMode(.v5)]
),
.target(name: "WordPressIntelligence", dependencies: [
"WordPressShared",
.product(name: "SwiftSoup", package: "SwiftSoup"),
Expand Down Expand Up @@ -260,6 +279,7 @@ let package = Package(
.testTarget(name: "WordPressSharedTests", dependencies: [.target(name: "WordPressShared")], swiftSettings: [.swiftLanguageMode(.v5)]),
.testTarget(name: "WordPressSharedObjCTests", dependencies: [.target(name: "WordPressShared"), .target(name: "WordPressTesting")], swiftSettings: [.swiftLanguageMode(.v5)]),
.testTarget(name: "WordPressUIUnitTests", dependencies: [.target(name: "WordPressUI")], swiftSettings: [.swiftLanguageMode(.v5)]),
.testTarget(name: "WordPressDataTests", dependencies: [.target(name: "WordPressData")], swiftSettings: [.swiftLanguageMode(.v5)]),
.testTarget(name: "WordPressCoreTests", dependencies: [.target(name: "WordPressCore")]),
.testTarget(name: "WordPressIntelligenceTests", dependencies: [.target(name: "WordPressIntelligence")]),
.testTarget(name: "WordPressReaderTests", dependencies: [.target(name: "WordPressReader")])
Expand All @@ -286,9 +306,6 @@ enum XcodeSupport {
.library(name: "XcodeTarget_App", targets: ["XcodeTarget_App"]),
.library(name: "XcodeTarget_Keystone", targets: ["XcodeTarget_Keystone"]),
.library(name: "XcodeTarget_WordPressTests", targets: ["XcodeTarget_WordPressTests"]),
.library(name: "XcodeTarget_WordPressKitTests", targets: ["XcodeTarget_WordPressKitTests"]),
.library(name: "XcodeTarget_WordPressData", targets: ["XcodeTarget_WordPressData"]),
.library(name: "XcodeTarget_WordPressDataTests", targets: ["XcodeTarget_WordPressDataTests"]),
.library(name: "XcodeTarget_WordPressAuthentificator", targets: ["XcodeTarget_WordPressAuthentificator"]),
.library(name: "XcodeTarget_WordPressAuthentificatorTests", targets: ["XcodeTarget_WordPressAuthentificatorTests"]),
.library(name: "XcodeTarget_ShareExtension", targets: ["XcodeTarget_ShareExtension"]),
Expand Down Expand Up @@ -360,6 +377,7 @@ enum XcodeSupport {
"SFHFKeychainUtils",
"ShareExtensionCore",
"Support",
"WordPressData",
"WordPressFlux",
"WordPressIntelligence",
"WordPressShared",
Expand Down Expand Up @@ -423,13 +441,6 @@ enum XcodeSupport {
.product(name: "NSURL-IDN", package: "NSURL-IDN"),
.product(name: "WordPressAPI", package: "wordpress-rs"),
]),
.xcodeTarget("XcodeTarget_WordPressKitTests", dependencies: testDependencies + [
"wpxmlrpc",
"WordPressKit",
]),
.xcodeTarget("XcodeTarget_WordPressDataTests", dependencies: [
"WordPressKit",
]),
.xcodeTarget("XcodeTarget_WordPressAuthentificator", dependencies: wordPresAuthentificatorDependencies),
.xcodeTarget("XcodeTarget_WordPressAuthentificatorTests", dependencies: wordPresAuthentificatorDependencies + testDependencies),
.xcodeTarget("XcodeTarget_ShareExtension", dependencies: shareAndDraftExtensionsDependencies),
Expand Down Expand Up @@ -493,22 +504,6 @@ enum XcodeSupport {
.xcodeTarget("XcodeTarget_UITests", dependencies: [
"UITestsFoundation",
]),
.xcodeTarget(
"XcodeTarget_WordPressData",
dependencies: [
"BuildSettingsKit",
"FormattableContentKit",
"SFHFKeychainUtils",
"WordPressShared",
"WordPressKit",
.product(name: "CocoaLumberjack", package: "CocoaLumberjack"),
.product(name: "CocoaLumberjackSwift", package: "CocoaLumberjack"),
.product(name: "Gravatar", package: "Gravatar-SDK-iOS"),
.product(name: "NSObject-SafeExpectations", package: "NSObject-SafeExpectations"),
.product(name: "NSURL-IDN", package: "NSURL-IDN"),
.product(name: "WordPressAPI", package: "wordpress-rs"),
]
),
]
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="24512" systemVersion="25D125" minimumToolsVersion="Xcode 9.0" sourceLanguage="Swift" userDefinedModelVersionIdentifier="">
<model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="24512" systemVersion="25D2128" minimumToolsVersion="Xcode 9.0" sourceLanguage="Swift" userDefinedModelVersionIdentifier="">
<entity name="AbstractPost" representedClassName="AbstractPost" isAbstract="YES" parentEntity="BasePost">
<attribute name="autosaveContent" optional="YES" attributeType="String" syncable="YES"/>
<attribute name="autosaveExcerpt" optional="YES" attributeType="String" syncable="YES"/>
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@

extension Bundle {
@objc public class var wordPressData: Bundle {
Bundle(for: BundleToken.self)
Bundle.module
// Bundle(for: BundleToken.self)
}
}

private final class BundleToken {}

Check warning on line 10 in Modules/Sources/WordPressData/Swift/Bundle+WordPressData.swift

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Remove this empty class, write its code or make it a "protocol".

See more on https://sonarcloud.io/project/issues?id=wordpress-mobile_WordPress-iOS&issues=AZzpMMo-sk6PlsIA-7We&open=AZzpMMo-sk6PlsIA-7We&pullRequest=25377
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -64,9 +64,9 @@
}
}

extension Domain: @retroactive Equatable {}
extension Domain: Equatable {}

public func ==(lhs: Domain, rhs: Domain) -> Bool {

Check warning on line 69 in Modules/Sources/WordPressData/Swift/Domain.swift

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Add whitespace around operator.

See more on https://sonarcloud.io/project/issues?id=wordpress-mobile_WordPress-iOS&issues=AZzpMMmusk6PlsIA-7WX&open=AZzpMMmusk6PlsIA-7WX&pullRequest=25377
return lhs.domainName == rhs.domainName &&
lhs.domainType == rhs.domainType &&
lhs.isPrimaryDomain == rhs.isPrimaryDomain &&
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
/// ]
/// ```
public struct PostMetadataContainer {
public struct Key: ExpressibleByStringLiteral, Hashable {
public struct Key: ExpressibleByStringLiteral, Hashable, Sendable {
public let rawValue: String

public init(rawValue: String) {
Expand Down Expand Up @@ -125,7 +125,7 @@
return value
}

private func _getValue(forKey key: Key) -> Any? {

Check warning on line 128 in Modules/Sources/WordPressData/Swift/PostMetadataContainer.swift

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Rename function "_getValue" to match the regular expression ^[a-z][a-zA-Z0-9]*$.

See more on https://sonarcloud.io/project/issues?id=wordpress-mobile_WordPress-iOS&issues=AZzpMMcesk6PlsIA-7VY&open=AZzpMMcesk6PlsIA-7VY&pullRequest=25377
items[key]?["value"]
}

Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,8 @@ extension ReaderPost {
extension ReaderPost {

public func blogNameForDisplay() -> String? {
if let blogName, !blogName.isEmpty {
return blogName.replacing(/\s+/, with: " ")
if let blogName, !blogName.isEmpty, let regex = try? Regex(#"\s+"#) {
return blogName.replacing(regex, with: " ")
}
return URL(string: blogURL ?? "")?.host
}
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
61 changes: 34 additions & 27 deletions Tests/KeystoneTests/WordPressUnitTests.xctestplan
Original file line number Diff line number Diff line change
Expand Up @@ -34,85 +34,92 @@
{
"target" : {
"containerPath" : "container:WordPress.xcodeproj",
"identifier" : "4AD953BA2C21451700D0EEFA",
"name" : "WordPressAuthenticatorTests"
"identifier" : "4A8280FC2E5FE9B60037E180",
"name" : "WordPressKitTests"
}
},
{
"target" : {
"containerPath" : "container:..\/Modules",
"identifier" : "DesignSystemTests",
"name" : "DesignSystemTests"
"containerPath" : "container:WordPress.xcodeproj",
"identifier" : "E16AB92914D978240047A2E5",
"name" : "WordPressTest"
}
},
{
"target" : {
"containerPath" : "container:..\/Modules",
"identifier" : "WordPressSharedTests",
"name" : "WordPressSharedTests"
"identifier" : "JetpackStatsWidgetsCoreTests",
"name" : "JetpackStatsWidgetsCoreTests"
}
},
{
"target" : {
"containerPath" : "container:..\/Modules",
"identifier" : "JetpackStatsWidgetsCoreTests",
"name" : "JetpackStatsWidgetsCoreTests"
"identifier" : "WordPressSharedObjCTests",
"name" : "WordPressSharedObjCTests"
}
},
{
"target" : {
"containerPath" : "container:..\/Modules",
"identifier" : "WordPressCoreTests",
"name" : "WordPressCoreTests"
"containerPath" : "container:",
"identifier" : "WordPressDataTests",
"name" : "WordPressDataTests"
}
},
{
"target" : {
"containerPath" : "container:..\/Modules",
"identifier" : "WordPressUIUnitTests",
"name" : "WordPressUIUnitTests"
"identifier" : "WordPressFluxTests",
"name" : "WordPressFluxTests"
}
},
{
"target" : {
"containerPath" : "container:WordPress.xcodeproj",
"identifier" : "E16AB92914D978240047A2E5",
"name" : "WordPressTest"
"identifier" : "4AD953BA2C21451700D0EEFA",
"name" : "WordPressAuthenticatorTests"
}
},
{
"target" : {
"containerPath" : "container:..\/Modules",
"identifier" : "JetpackStatsTests",
"name" : "JetpackStatsTests"
"identifier" : "WordPressUIUnitTests",
"name" : "WordPressUIUnitTests"
}
},
{
"target" : {
"containerPath" : "container:..\/Modules",
"identifier" : "AsyncImageKitTests",
"name" : "AsyncImageKitTests"
"identifier" : "DesignSystemTests",
"name" : "DesignSystemTests"
}
},
{
"target" : {
"containerPath" : "container:..\/Modules",
"identifier" : "WordPressSharedObjCTests",
"name" : "WordPressSharedObjCTests"
"identifier" : "JetpackStatsTests",
"name" : "JetpackStatsTests"
}
},
{
"target" : {
"containerPath" : "container:..\/Modules",
"identifier" : "WordPressFluxTests",
"name" : "WordPressFluxTests"
"identifier" : "WordPressSharedTests",
"name" : "WordPressSharedTests"
}
},
{
"target" : {
"containerPath" : "container:WordPress.xcodeproj",
"identifier" : "4A8280FC2E5FE9B60037E180",
"name" : "WordPressKitTests"
"containerPath" : "container:..\/Modules",
"identifier" : "WordPressCoreTests",
"name" : "WordPressCoreTests"
}
},
{
"target" : {
"containerPath" : "container:..\/Modules",
"identifier" : "AsyncImageKitTests",
"name" : "AsyncImageKitTests"
}
}
],
Expand Down
24 changes: 0 additions & 24 deletions Tests/WordPressDataTests/WordPressDataTests.xctestplan

This file was deleted.

Loading