From 2117da6a7c117fdfd658eeda48154e630cf2e804 Mon Sep 17 00:00:00 2001 From: Tony Li Date: Tue, 8 Nov 2022 12:14:59 +1300 Subject: [PATCH 01/14] Add test_spec to the podspec file --- WordPressShared.podspec | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/WordPressShared.podspec b/WordPressShared.podspec index a586cad..e67b132 100644 --- a/WordPressShared.podspec +++ b/WordPressShared.podspec @@ -28,4 +28,15 @@ Pod::Spec.new do |s| s.header_dir = 'WordPressShared' s.dependency 'CocoaLumberjack', '~> 3.4' + + s.test_spec do |test| + test.source_files = 'WordPressSharedTests/**/*.{h,m,swift}' + test.resources = 'WordPressSharedTests/*.{jpg,gif}' + + test.dependency 'OHHTTPStubs', '~> 9.0' + test.dependency 'OHHTTPStubs/Swift', '~> 9.0' + test.dependency 'OCMock', '~> 3.4' + test.dependency 'Specta', '1.0.7' + test.dependency 'Expecta', '1.0.6' + end end From 083c3aa3bfbfb642b98e9c137ce911fa31b5969f Mon Sep 17 00:00:00 2001 From: Tony Li Date: Wed, 9 Nov 2022 20:41:29 +1300 Subject: [PATCH 02/14] Add Package.swift --- .gitignore | 2 + Package.resolved | 61 +++++++ Package.swift | 172 ++++++++++++++++++ .../Core/Analytics/AnalyticsEvent.swift | 4 + .../Core/Logging/WPSharedLogging.m | 5 + WordPressShared/Core/Utility/Languages.swift | 4 + .../Utility/NSBundle+WordPressShared.swift | 10 +- .../Core/Utility/NSString+Helpers.m | 7 +- WordPressShared/Core/Utility/NSString+Util.m | 4 + .../Core/Utility/RichContentFormatter.swift | 5 + .../Core/Utility/String+Helpers.swift | 4 + .../Core/Utility/String+RemovingMatches.swift | 4 + WordPressShared/Core/Utility/WPFontManager.m | 6 +- WordPressShared/Core/Utility/WPImageSource.m | 5 + .../Core/Views/WPStyleGuide+DynamicType.swift | 6 + .../Core/Views/WPStyleGuide+SerifFonts.swift | 6 + WordPressShared/Core/Views/WPStyleGuide.m | 11 ++ WordPressShared/Core/Views/WPTableViewCell.m | 5 + WordPressShared/Private/WPShared-Swift.h | 5 + WordPressShared/WordPressShared.swift | 12 ++ WordPressSharedTests/NSStringSwiftTests.m | 4 + WordPressSharedTests/WPImageSourceTest.m | 17 +- fastlane/Fastfile | 2 + 23 files changed, 354 insertions(+), 7 deletions(-) create mode 100644 Package.resolved create mode 100644 Package.swift create mode 100644 WordPressShared/WordPressShared.swift diff --git a/.gitignore b/.gitignore index 6da8421..9ea2232 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,5 @@ vendor/ fastlane/test_output fastlane/README.md fastlane/report.xml + +.swiftpm diff --git a/Package.resolved b/Package.resolved new file mode 100644 index 0000000..cad71e1 --- /dev/null +++ b/Package.resolved @@ -0,0 +1,61 @@ +{ + "object": { + "pins": [ + { + "package": "CocoaLumberjack", + "repositoryURL": "https://github.com/CocoaLumberjack/CocoaLumberjack.git", + "state": { + "branch": null, + "revision": "0188d31089b5881a269e01777be74c7316924346", + "version": "3.8.0" + } + }, + { + "package": "OCMock", + "repositoryURL": "https://github.com/erikdoe/ocmock", + "state": { + "branch": null, + "revision": "afd2c6924e8a36cb872bc475248b978f743c6050", + "version": null + } + }, + { + "package": "OHHTTPStubs", + "repositoryURL": "https://github.com/AliSoftware/OHHTTPStubs", + "state": { + "branch": null, + "revision": "12f19662426d0434d6c330c6974d53e2eb10ecd9", + "version": "9.1.0" + } + }, + { + "package": "Quick", + "repositoryURL": "https://github.com/Quick/Quick", + "state": { + "branch": null, + "revision": "863d53a2cae240accf016bdc45739d1108e13ea1", + "version": "6.0.0" + } + }, + { + "package": "swift-log", + "repositoryURL": "https://github.com/apple/swift-log.git", + "state": { + "branch": null, + "revision": "6fe203dc33195667ce1759bf0182975e4653ba1c", + "version": "1.4.4" + } + }, + { + "package": "BuildkiteTestCollector", + "repositoryURL": "https://github.com/buildkite/test-collector-swift", + "state": { + "branch": null, + "revision": "77c7f492f5c1c9ca159f73d18f56bbd1186390b0", + "version": "0.3.0" + } + } + ] + }, + "version": 1 +} diff --git a/Package.swift b/Package.swift new file mode 100644 index 0000000..3ff9e24 --- /dev/null +++ b/Package.swift @@ -0,0 +1,172 @@ +// swift-tools-version:5.5 + +import PackageDescription + +let package = Package( + name: "WordPressShared", + platforms: [.iOS(.v13)], + products: [ + .library(name: "WordPressShared", targets: ["WordPressShared"]) + ], + dependencies: [ + .package(url: "https://github.com/buildkite/test-collector-swift", from: "0.3.0"), + .package(url: "https://github.com/CocoaLumberjack/CocoaLumberjack", from: "3.8.0"), + .package(url: "https://github.com/AliSoftware/OHHTTPStubs", from: "9.1.0"), + // See https://github.com/erikdoe/ocmock/issues/500#issuecomment-1002700625 + .package(url: "https://github.com/erikdoe/ocmock", revision: "afd2c6924e8a36cb872bc475248b978f743c6050"), + .package(url: "https://github.com/Quick/Quick", from: "6.0.0"), + ], + targets: [ + .target( + name: "WordPressSharedAnalyticsObjC", + path: "WordPressShared/Core/Analytics", + sources: ["WPAnalytics.m"], + publicHeadersPath: "." + ), + .target( + name: "WordPressSharedAnalytics", + dependencies: [.target(name: "WordPressSharedAnalyticsObjC")], + path: "WordPressShared/Core/Analytics", + sources: ["AnalyticsEvent.swift"] + ), + .target( + name: "WordPressSharedLoggingObjCPrivate", + dependencies: [.product(name: "CocoaLumberjack", package: "CocoaLumberjack")], + path: "WordPressShared/Private", + sources: ["WPSharedLoggingPrivate.m",], + publicHeadersPath: "." + ), + .target( + name: "WordPressSharedLoggingObjC", + dependencies: [.target(name: "WordPressSharedLoggingObjCPrivate")], + path: "WordPressShared/Core/Logging", + sources: ["WPSharedLogging.m"], + publicHeadersPath: "." + ), + .target( + name: "WordPressSharedUtlityObjC", + dependencies: [ + .target(name: "WordPressSharedLoggingObjCPrivate"), + .target(name: "WordPressSharedResources"), + ], + path: "WordPressShared/Core/Utility", + sources: [ + "PhotonImageURLHelper.m", + "NSString+Helpers.m", + "DisplayableImageHelper.m", + "NSString+XMLExtensions.m", + "WPFontManager.m", + "DateUtils.m", + "WPDeviceIdentification.m", + "NSString+Util.m", + "UIDevice+Helpers.m", + "NSBundle+VersionNumberHelper.m", + "WPImageSource.m", + "WPMapFilterReduce.m", + ], + publicHeadersPath: "." + ), + .target( + name: "WordPressSharedResources", + dependencies: [.product(name: "CocoaLumberjackSwift", package: "CocoaLumberjack")], + path: "WordPressShared", + sources: [ + "Core/Utility/NSBundle+WordPressShared.swift", + ], + resources: [.process("Resources")] + ), + .target( + name: "WordPressSharedUtlity", + dependencies: [ + .product(name: "CocoaLumberjackSwift", package: "CocoaLumberjack"), + .target(name: "WordPressSharedUtlityObjC"), + .target(name: "WordPressSharedResources"), + ], + path: "WordPressShared/Core/Utility", + sources: [ + "String+StripGutenbergContentForExcerpt.swift", + "EmailFormatValidator.swift", + "String+RemovingMatches.swift", + "EmailTypoChecker.swift", + "Dictionary+Helpers.swift", + "Secret.swift", + "WPImageURLHelper.swift", + "NSDate+Helpers.swift", + "CollectionType+Helpers.swift", + "NSString+Summary.swift", + "String+StripShortcodes.swift", + "RichContentFormatter.swift", + "String+URLValidation.swift", + "Debouncer.swift", + "Languages.swift", + "NSString+Swift.swift", + "NSMutableData+Helpers.swift", + "String+Helpers.swift", + ] + ), + .target( + name: "WordPressSharedViewObjC", + dependencies: [ + .target(name: "WordPressSharedUtlityObjC") + ], + path: "WordPressShared/Core/Views", + sources: [ + "WPStyleGuide.m", + "WPTextFieldTableViewCell.m", + "WPTableViewCell.m", + "WPNUXUtility.m", + ], + publicHeadersPath: "." + ), + .target( + name: "WordPressSharedView", + dependencies: [ + .target(name: "WordPressSharedViewObjC"), + ], + path: "WordPressShared/Core/Views", + sources: [ + "WPStyleGuide+SerifFonts.swift", + "WPStyleGuide+DynamicType.swift", + ] + ), + .target( + name: "WordPressShared", + dependencies: [ + .target(name: "WordPressSharedAnalyticsObjC"), + .target(name: "WordPressSharedAnalytics"), + .target(name: "WordPressSharedLoggingObjC"), + .target(name: "WordPressSharedUtlityObjC"), + .target(name: "WordPressSharedResources"), + .target(name: "WordPressSharedUtlity"), + .target(name: "WordPressSharedViewObjC"), + .target(name: "WordPressSharedView"), + ], + path: "WordPressShared", + sources: ["WordPressShared.swift"] + ), + .testTarget( + name: "WordPressSharedTests", + dependencies: [ + .target(name: "WordPressShared"), + .product(name: "OCMock", package: "ocmock"), + "Quick", + "OHHTTPStubs", + ], + path: "WordPressSharedTests", + sources: [ + "WPImageSourceTest.m", + "TestAnalyticsTracker.m", + "PhotonImageURLHelperTest.m", + "DisplayableImageHelperTest.m", + "NSStringHelpersTests.m", + "WPAnalyticsTests.m", + "NSStringSwiftTests.m", + "WPMapFilterReduceTest.m", + ], + resources: [ + .copy("anim-reader.gif"), + .copy("test-image.jpg"), + ] + ) + ] +) diff --git a/WordPressShared/Core/Analytics/AnalyticsEvent.swift b/WordPressShared/Core/Analytics/AnalyticsEvent.swift index 9823454..d7c4718 100644 --- a/WordPressShared/Core/Analytics/AnalyticsEvent.swift +++ b/WordPressShared/Core/Analytics/AnalyticsEvent.swift @@ -1,5 +1,9 @@ import Foundation +#if SWIFT_PACKAGE +import WordPressSharedAnalyticsObjC +#endif + /// This struct represents an analytics event. /// Declaring this class as final is a design choice to promote a simpler usage and implement events /// through parametrization of the `name` and `properties` properties. diff --git a/WordPressShared/Core/Logging/WPSharedLogging.m b/WordPressShared/Core/Logging/WPSharedLogging.m index 01ca37b..c32aebb 100644 --- a/WordPressShared/Core/Logging/WPSharedLogging.m +++ b/WordPressShared/Core/Logging/WPSharedLogging.m @@ -1,5 +1,10 @@ #import "WPSharedLogging.h" + +#if SWIFT_PACKAGE +@import WordPressSharedLoggingObjCPrivate; +#else #import "WPSharedLoggingPrivate.h" +#endif DDLogLevel WPSharedGetLoggingLevel() { return ddLogLevel; diff --git a/WordPressShared/Core/Utility/Languages.swift b/WordPressShared/Core/Utility/Languages.swift index 7626a07..cc545c3 100644 --- a/WordPressShared/Core/Utility/Languages.swift +++ b/WordPressShared/Core/Utility/Languages.swift @@ -1,5 +1,9 @@ import Foundation +#if SWIFT_PACKAGE +import WordPressSharedResources +#endif + /// This helper class allows us to map WordPress.com LanguageID's into human readable language strings. /// public class WordPressComLanguageDatabase: NSObject { diff --git a/WordPressShared/Core/Utility/NSBundle+WordPressShared.swift b/WordPressShared/Core/Utility/NSBundle+WordPressShared.swift index 63bac49..8bb0264 100644 --- a/WordPressShared/Core/Utility/NSBundle+WordPressShared.swift +++ b/WordPressShared/Core/Utility/NSBundle+WordPressShared.swift @@ -1,5 +1,9 @@ import Foundation +#if !SWIFT_PACKAGE +private class BundleFinder: NSObject {} +#endif + extension Bundle { /// Returns the WordPressShared Bundle @@ -7,7 +11,10 @@ extension Bundle { /// otherwise it will be the framework bundle. /// @objc public class var wordPressSharedBundle: Bundle { - let defaultBundle = Bundle(for: WPFontManager.self) +#if SWIFT_PACKAGE + return Bundle.module +#else + let defaultBundle = Bundle(for: BundleFinder.self) // If installed with CocoaPods, resources will be in WordPressShared.bundle if let bundleURL = defaultBundle.resourceURL, let resourceBundle = Bundle(url: bundleURL.appendingPathComponent("WordPressShared.bundle")) { @@ -15,5 +22,6 @@ extension Bundle { } // Otherwise, the default bundle is used for resources return defaultBundle +#endif } } diff --git a/WordPressShared/Core/Utility/NSString+Helpers.m b/WordPressShared/Core/Utility/NSString+Helpers.m index eb8b82c..86eade0 100644 --- a/WordPressShared/Core/Utility/NSString+Helpers.m +++ b/WordPressShared/Core/Utility/NSString+Helpers.m @@ -1,8 +1,13 @@ #import "NSString+Helpers.h" #import -#import "WPSharedLoggingPrivate.h" #import "NSString+XMLExtensions.h" +#if SWIFT_PACKAGE +@import WordPressSharedLoggingObjCPrivate; +#else +#import "WPSharedLoggingPrivate.h" +#endif + static NSString *const Ellipsis = @"\u2026"; @implementation NSString (Helpers) diff --git a/WordPressShared/Core/Utility/NSString+Util.m b/WordPressShared/Core/Utility/NSString+Util.m index fa1e529..e22f720 100644 --- a/WordPressShared/Core/Utility/NSString+Util.m +++ b/WordPressShared/Core/Utility/NSString+Util.m @@ -1,4 +1,8 @@ +#if SWIFT_PACKAGE +#import "NSString+Util.h" +#else #import +#endif @implementation NSString (Util) diff --git a/WordPressShared/Core/Utility/RichContentFormatter.swift b/WordPressShared/Core/Utility/RichContentFormatter.swift index 09d0df3..34fc047 100644 --- a/WordPressShared/Core/Utility/RichContentFormatter.swift +++ b/WordPressShared/Core/Utility/RichContentFormatter.swift @@ -1,4 +1,9 @@ import Foundation +import UIKit + +#if SWIFT_PACKAGE +import WordPressSharedUtlityObjC +#endif /// Contains methods for formatting post or comment content for display. /// diff --git a/WordPressShared/Core/Utility/String+Helpers.swift b/WordPressShared/Core/Utility/String+Helpers.swift index 3fee326..43a5e7f 100644 --- a/WordPressShared/Core/Utility/String+Helpers.swift +++ b/WordPressShared/Core/Utility/String+Helpers.swift @@ -1,5 +1,9 @@ import Foundation +#if SWIFT_PACKAGE +import WordPressSharedUtlityObjC +#endif + extension String { public func stringByDecodingXMLCharacters() -> String { return NSString.decodeXMLCharacters(in: self) diff --git a/WordPressShared/Core/Utility/String+RemovingMatches.swift b/WordPressShared/Core/Utility/String+RemovingMatches.swift index 83e6611..f0b9ce7 100644 --- a/WordPressShared/Core/Utility/String+RemovingMatches.swift +++ b/WordPressShared/Core/Utility/String+RemovingMatches.swift @@ -1,5 +1,9 @@ import Foundation +#if SWIFT_PACKAGE +import CocoaLumberjackSwift +#endif + extension String { /// Creates a new string by removing all matches of the specified regex. diff --git a/WordPressShared/Core/Utility/WPFontManager.m b/WordPressShared/Core/Utility/WPFontManager.m index 5436b52..711373b 100644 --- a/WordPressShared/Core/Utility/WPFontManager.m +++ b/WordPressShared/Core/Utility/WPFontManager.m @@ -1,7 +1,11 @@ #import "WPFontManager.h" -#import "WPShared-Swift.h" #import +#if SWIFT_PACKAGE +@import WordPressSharedResources; +#else +#import "WPShared-Swift.h" +#endif @implementation WPFontManager diff --git a/WordPressShared/Core/Utility/WPImageSource.m b/WordPressShared/Core/Utility/WPImageSource.m index afe156d..bab352f 100644 --- a/WordPressShared/Core/Utility/WPImageSource.m +++ b/WordPressShared/Core/Utility/WPImageSource.m @@ -1,5 +1,10 @@ #import "WPImageSource.h" + +#if SWIFT_PACKAGE +@import WordPressSharedLoggingObjCPrivate; +#else #import "WPSharedLoggingPrivate.h" +#endif NSString * const WPImageSourceErrorDomain = @"WPImageSourceErrorDomain"; diff --git a/WordPressShared/Core/Views/WPStyleGuide+DynamicType.swift b/WordPressShared/Core/Views/WPStyleGuide+DynamicType.swift index c0794c8..503aaa3 100644 --- a/WordPressShared/Core/Views/WPStyleGuide+DynamicType.swift +++ b/WordPressShared/Core/Views/WPStyleGuide+DynamicType.swift @@ -1,4 +1,10 @@ import Foundation +import UIKit + +#if SWIFT_PACKAGE +import WordPressSharedViewObjC +import WordPressSharedUtlityObjC +#endif /// Extension on WPStyleGuide to use Dynamic Type fonts. /// diff --git a/WordPressShared/Core/Views/WPStyleGuide+SerifFonts.swift b/WordPressShared/Core/Views/WPStyleGuide+SerifFonts.swift index 9d6c769..3e18726 100644 --- a/WordPressShared/Core/Views/WPStyleGuide+SerifFonts.swift +++ b/WordPressShared/Core/Views/WPStyleGuide+SerifFonts.swift @@ -1,4 +1,10 @@ import Foundation +import UIKit + +#if SWIFT_PACKAGE +import WordPressSharedViewObjC +//import WordPressSharedUtlityObjC +#endif /// WPStyleGuide Extension to use serif fonts. /// diff --git a/WordPressShared/Core/Views/WPStyleGuide.m b/WordPressShared/Core/Views/WPStyleGuide.m index fd1a0ba..891693d 100644 --- a/WordPressShared/Core/Views/WPStyleGuide.m +++ b/WordPressShared/Core/Views/WPStyleGuide.m @@ -4,6 +4,17 @@ #import "WPDeviceIdentification.h" #import "WPShared-Swift.h" +#if SWIFT_PACKAGE + +// A workaround to make the Swift extension definied in WordPressSharedView target visible to this file here. +@interface WPStyleGuide (SwiftExtension) + ++ (CGFloat)maxFontSize; ++ (UIFont *)fontForTextStyle:(UIFontTextStyle)style maximumPointSize:(CGFloat)pointSize; + +@end + +#endif @implementation WPStyleGuide diff --git a/WordPressShared/Core/Views/WPTableViewCell.m b/WordPressShared/Core/Views/WPTableViewCell.m index 9cdd8c1..7779b21 100644 --- a/WordPressShared/Core/Views/WPTableViewCell.m +++ b/WordPressShared/Core/Views/WPTableViewCell.m @@ -1,5 +1,10 @@ #import "WPTableViewCell.h" + +#if SWIFT_PACKAGE +@import WordPressSharedUtlityObjC; +#else #import "WPDeviceIdentification.h" +#endif CGFloat const WPTableViewFixedWidth = 600; diff --git a/WordPressShared/Private/WPShared-Swift.h b/WordPressShared/Private/WPShared-Swift.h index 8649012..92ad295 100644 --- a/WordPressShared/Private/WPShared-Swift.h +++ b/WordPressShared/Private/WPShared-Swift.h @@ -1,3 +1,6 @@ +// This header is not needed for SPM. +#if !defined(SWIFT_PACKAGE) + // Import this header instead of // This allows the pod to be built as a static or dynamic framework // See https://github.com/CocoaPods/CocoaPods/issues/7594 @@ -6,3 +9,5 @@ #else #import #endif + +#endif /* !defined(SWIFT_PACKAGE) */ diff --git a/WordPressShared/WordPressShared.swift b/WordPressShared/WordPressShared.swift new file mode 100644 index 0000000..ab49e3d --- /dev/null +++ b/WordPressShared/WordPressShared.swift @@ -0,0 +1,12 @@ +#if SWIFT_PACKAGE + +@_exported import WordPressSharedAnalyticsObjC +@_exported import WordPressSharedAnalytics +@_exported import WordPressSharedLoggingObjC +@_exported import WordPressSharedUtlityObjC +@_exported import WordPressSharedResources +@_exported import WordPressSharedUtlity +@_exported import WordPressSharedViewObjC +@_exported import WordPressSharedView + +#endif /* SWIFT_PACKAGE */ diff --git a/WordPressSharedTests/NSStringSwiftTests.m b/WordPressSharedTests/NSStringSwiftTests.m index 9262fc8..47b417d 100644 --- a/WordPressSharedTests/NSStringSwiftTests.m +++ b/WordPressSharedTests/NSStringSwiftTests.m @@ -1,6 +1,10 @@ #import @import WordPressShared; +#if SWIFT_PACKAGE +@import WordPressSharedUtlity; +#endif + @interface NSStringSwiftTest : XCTestCase @end diff --git a/WordPressSharedTests/WPImageSourceTest.m b/WordPressSharedTests/WPImageSourceTest.m index 503901a..1848667 100644 --- a/WordPressSharedTests/WPImageSourceTest.m +++ b/WordPressSharedTests/WPImageSourceTest.m @@ -30,7 +30,7 @@ - (void)testSendTokensToWordPressDotCom lastAuthHeader = [request valueForHTTPHeaderField:@"Authorization"]; return YES; } withStubResponse:^HTTPStubsResponse *(NSURLRequest *request) { - return [HTTPStubsResponse responseWithFileAtPath:OHPathForFileInBundle(@"test-image.jpg", [NSBundle bundleForClass:[self class]]) statusCode:200 headers:@{@"Content-Type" : @"image/jpeg"}]; + return [HTTPStubsResponse responseWithFileAtPath:OHPathForFileInBundle(@"test-image.jpg", [self resourceBundle]) statusCode:200 headers:@{@"Content-Type" : @"image/jpeg"}]; }]; WPImageSource *source = [WPImageSource sharedSource]; @@ -59,7 +59,7 @@ - (void)testDontSendTokensOutsideWordPressDotCom lastAuthHeader = [request valueForHTTPHeaderField:@"Authorization"]; return YES; } withStubResponse:^HTTPStubsResponse *(NSURLRequest *request) { - return [HTTPStubsResponse responseWithFileAtPath:OHPathForFileInBundle(@"test-image.jpg", [NSBundle bundleForClass:[self class]]) statusCode:200 headers:@{@"Content-Type" : @"image/jpeg"}]; + return [HTTPStubsResponse responseWithFileAtPath:OHPathForFileInBundle(@"test-image.jpg", [self resourceBundle]) statusCode:200 headers:@{@"Content-Type" : @"image/jpeg"}]; }]; WPImageSource *source = [WPImageSource sharedSource]; @@ -89,7 +89,7 @@ - (void)testImagesArentDownloadedTwice return [[request.URL absoluteString] isEqualToString:requestUrl]; } withStubResponse:^HTTPStubsResponse *(NSURLRequest *request) { downloadCount++; - return [HTTPStubsResponse responseWithFileAtPath:OHPathForFileInBundle(@"test-image.jpg", [NSBundle bundleForClass:[self class]]) statusCode:200 headers:@{@"Content-Type" : @"image/jpeg"}]; + return [HTTPStubsResponse responseWithFileAtPath:OHPathForFileInBundle(@"test-image.jpg", [self resourceBundle]) statusCode:200 headers:@{@"Content-Type" : @"image/jpeg"}]; }]; WPImageSource *source = [WPImageSource sharedSource]; @@ -135,7 +135,7 @@ - (void)testDownloadOfAnimatedGif [HTTPStubs stubRequestsPassingTest:^BOOL(NSURLRequest *request) { return YES; } withStubResponse:^HTTPStubsResponse *(NSURLRequest *request) { - return [HTTPStubsResponse responseWithFileAtPath:OHPathForFileInBundle(@"anim-reader.gif", [NSBundle bundleForClass:[self class]]) statusCode:200 headers:@{@"Content-Type" : @"image/gif"}]; + return [HTTPStubsResponse responseWithFileAtPath:OHPathForFileInBundle(@"anim-reader.gif", [self resourceBundle]) statusCode:200 headers:@{@"Content-Type" : @"image/gif"}]; }]; WPImageSource *source = [WPImageSource sharedSource]; @@ -154,4 +154,13 @@ - (void)testDownloadOfAnimatedGif } +- (NSBundle *)resourceBundle +{ +#if SWIFT_PACKAGE + return SWIFTPM_MODULE_BUNDLE; +#else + return [NSBundle bundleForClass:[self class]]; +#endif +} + @end diff --git a/fastlane/Fastfile b/fastlane/Fastfile index ba673b9..bd2e7e3 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -6,7 +6,9 @@ platform :ios do desc 'Builds the project and runs tests' lane :test do run_tests( + package_path: '.', scheme: 'WordPressShared', + device: 'iPhone 14', prelaunch_simulator: true, buildlog_path: File.join(__dir__, '.build', 'logs'), derived_data_path: File.join(__dir__, '.build', 'derived-data') From 59a748da2488ebb2288ac46787c66bd80187b98f Mon Sep 17 00:00:00 2001 From: Tony Li Date: Wed, 9 Nov 2022 20:42:12 +1300 Subject: [PATCH 03/14] Remove no longer needed project files --- Podfile | 30 - Podfile.lock | 51 - WordPressShared.xcodeproj/project.pbxproj | 1275 ----------------- .../contents.xcworkspacedata | 7 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../xcschemes/WordPressShared.xcscheme | 89 -- .../contents.xcworkspacedata | 10 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../xcshareddata/swiftpm/Package.resolved | 14 - 9 files changed, 1492 deletions(-) delete mode 100644 Podfile delete mode 100644 Podfile.lock delete mode 100644 WordPressShared.xcodeproj/project.pbxproj delete mode 100644 WordPressShared.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 WordPressShared.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 WordPressShared.xcodeproj/xcshareddata/xcschemes/WordPressShared.xcscheme delete mode 100644 WordPressShared.xcworkspace/contents.xcworkspacedata delete mode 100644 WordPressShared.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 WordPressShared.xcworkspace/xcshareddata/swiftpm/Package.resolved diff --git a/Podfile b/Podfile deleted file mode 100644 index d78efb5..0000000 --- a/Podfile +++ /dev/null @@ -1,30 +0,0 @@ -# frozen_string_literal: true - -source 'https://cdn.cocoapods.org/' - -inhibit_all_warnings! -use_frameworks! - -platform :ios, '13.0' - -def wordpress_shared_pods - pod 'CocoaLumberjack', '~> 3.4' - pod 'FormatterKit/TimeIntervalFormatter', '1.8.2' -end - -target 'WordPressShared' do - project 'WordPressShared.xcodeproj' - - wordpress_shared_pods -end - -target 'WordPressSharedTests' do - project 'WordPressShared.xcodeproj' - - wordpress_shared_pods - - pod 'OHHTTPStubs', '~> 9.0' - pod 'OHHTTPStubs/Swift', '~> 9.0' - pod 'OCMock', '~> 3.4' - pod 'Quick', '~> 6.0' -end diff --git a/Podfile.lock b/Podfile.lock deleted file mode 100644 index e209e42..0000000 --- a/Podfile.lock +++ /dev/null @@ -1,51 +0,0 @@ -PODS: - - CocoaLumberjack (3.7.0): - - CocoaLumberjack/Core (= 3.7.0) - - CocoaLumberjack/Core (3.7.0) - - FormatterKit/Resources (1.8.2) - - FormatterKit/TimeIntervalFormatter (1.8.2): - - FormatterKit/Resources - - OCMock (3.8.1) - - OHHTTPStubs (9.1.0): - - OHHTTPStubs/Default (= 9.1.0) - - OHHTTPStubs/Core (9.1.0) - - OHHTTPStubs/Default (9.1.0): - - OHHTTPStubs/Core - - OHHTTPStubs/JSON - - OHHTTPStubs/NSURLSession - - OHHTTPStubs/OHPathHelpers - - OHHTTPStubs/JSON (9.1.0): - - OHHTTPStubs/Core - - OHHTTPStubs/NSURLSession (9.1.0): - - OHHTTPStubs/Core - - OHHTTPStubs/OHPathHelpers (9.1.0) - - OHHTTPStubs/Swift (9.1.0): - - OHHTTPStubs/Default - - Quick (6.0.0) - -DEPENDENCIES: - - CocoaLumberjack (~> 3.4) - - FormatterKit/TimeIntervalFormatter (= 1.8.2) - - OCMock (~> 3.4) - - OHHTTPStubs (~> 9.0) - - OHHTTPStubs/Swift (~> 9.0) - - Quick (~> 6.0) - -SPEC REPOS: - trunk: - - CocoaLumberjack - - FormatterKit - - OCMock - - OHHTTPStubs - - Quick - -SPEC CHECKSUMS: - CocoaLumberjack: e8955b9d337ac307103b0a34fd141c32f27e53c5 - FormatterKit: 4b8f29acc9b872d5d12a63efb560661e8f2e1b98 - OCMock: 29f6e52085b4e7d9b075cbf03ed7c3112f82f934 - OHHTTPStubs: 90eac6d8f2c18317baeca36698523dc67c513831 - Quick: 4d5ab9e81f0a632cbf9bc4f3069b55e5eeb175df - -PODFILE CHECKSUM: 3fc995dfb0ac66f4b9354243efa5e70275914622 - -COCOAPODS: 1.11.3 diff --git a/WordPressShared.xcodeproj/project.pbxproj b/WordPressShared.xcodeproj/project.pbxproj deleted file mode 100644 index e3dde99..0000000 --- a/WordPressShared.xcodeproj/project.pbxproj +++ /dev/null @@ -1,1275 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 52; - objects = { - -/* Begin PBXBuildFile section */ - 195DA2403DED9F0420316608 /* Pods_WordPressSharedTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 47629DF6D2C813279CBF93C4 /* Pods_WordPressSharedTests.framework */; }; - 1A4094D52270A75E009AA86D /* NSBundle+WordPressShared.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A4094D42270A75E009AA86D /* NSBundle+WordPressShared.swift */; }; - 1A4095102271AA9E009AA86D /* WPShared-Swift.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A40950D2271AA9E009AA86D /* WPShared-Swift.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 2EB9C57E3BFEDA1676FE857C /* Pods_WordPressShared.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AE15A6EE80D7766A21B83BF5 /* Pods_WordPressShared.framework */; }; - 32E1BFD524A63DE6007A08F0 /* WPStyleGuide+SerifFonts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32E1BFD424A63DE6007A08F0 /* WPStyleGuide+SerifFonts.swift */; }; - 3F338B76289BE0F90014ADC5 /* BuildkiteTestCollector in Frameworks */ = {isa = PBXBuildFile; productRef = 3F338B75289BE0F90014ADC5 /* BuildkiteTestCollector */; }; - 4A2B7D132919E294007E5917 /* WPAnalyticsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A2B7D122919E294007E5917 /* WPAnalyticsTests.swift */; }; - 740B23CC1F17F1FF00067A2A /* DisplayableImageHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 740B23CA1F17F1FF00067A2A /* DisplayableImageHelper.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 740B23CD1F17F1FF00067A2A /* DisplayableImageHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 740B23CB1F17F1FF00067A2A /* DisplayableImageHelper.m */; }; - 740B23CF1F17F28E00067A2A /* DisplayableImageHelperTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 740B23CE1F17F28E00067A2A /* DisplayableImageHelperTest.m */; }; - 7414BD521F13CB90005759F8 /* DictionaryHelpersTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7414BD511F13CB90005759F8 /* DictionaryHelpersTests.swift */; }; - 7414BD551F13CBE0005759F8 /* Dictionary+Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7414BD531F13CBE0005759F8 /* Dictionary+Helpers.swift */; }; - 7414BD561F13CBE0005759F8 /* String+Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7414BD541F13CBE0005759F8 /* String+Helpers.swift */; }; - 7414BD591F13CEA5005759F8 /* NSBundle+VersionNumberHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 7414BD571F13CEA5005759F8 /* NSBundle+VersionNumberHelper.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7414BD5A1F13CEA5005759F8 /* NSBundle+VersionNumberHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 7414BD581F13CEA5005759F8 /* NSBundle+VersionNumberHelper.m */; }; - 7414BD611F13D084005759F8 /* UIDevice+Helpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 7414BD5F1F13D084005759F8 /* UIDevice+Helpers.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7414BD621F13D084005759F8 /* UIDevice+Helpers.m in Sources */ = {isa = PBXBuildFile; fileRef = 7414BD601F13D084005759F8 /* UIDevice+Helpers.m */; }; - 7430C9D21F19302D0051B8E6 /* PhotonImageURLHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 7430C9D01F19302D0051B8E6 /* PhotonImageURLHelper.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7430C9D31F19302D0051B8E6 /* PhotonImageURLHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 7430C9D11F19302D0051B8E6 /* PhotonImageURLHelper.m */; }; - 7430C9D51F1930460051B8E6 /* PhotonImageURLHelperTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 7430C9D41F1930460051B8E6 /* PhotonImageURLHelperTest.m */; }; - 7430C9DB1F1933F40051B8E6 /* RichContentFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7430C9DA1F1933F40051B8E6 /* RichContentFormatter.swift */; }; - 7430C9DD1F1934190051B8E6 /* RichContentFormatterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7430C9DC1F1934190051B8E6 /* RichContentFormatterTests.swift */; }; - 7430C9E11F1935400051B8E6 /* WPImageURLHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7430C9E01F1935400051B8E6 /* WPImageURLHelper.swift */; }; - 74650F7B1F0EA2FA00188EDB /* NSString+Helpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 74650F791F0EA2FA00188EDB /* NSString+Helpers.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 74650F7C1F0EA2FA00188EDB /* NSString+Helpers.m in Sources */ = {isa = PBXBuildFile; fileRef = 74650F7A1F0EA2FA00188EDB /* NSString+Helpers.m */; }; - 74650F801F0EA4BD00188EDB /* NSMutableData+Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74650F7F1F0EA4BD00188EDB /* NSMutableData+Helpers.swift */; }; - 748710AC1F06C465008095AB /* StringHelperTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 748710AB1F06C465008095AB /* StringHelperTests.swift */; }; - 74D44ED91F0EC6230075F96B /* NSStringHelpersTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 74D44ED81F0EC6230075F96B /* NSStringHelpersTests.m */; }; - 74FA25F41F1FD9640044BC54 /* DateUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 74FA25F21F1FD9640044BC54 /* DateUtils.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 74FA25F51F1FD9640044BC54 /* DateUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 74FA25F31F1FD9640044BC54 /* DateUtils.m */; }; - 82706FF11ECA438500155CBF /* WPSharedLoggingPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 82706FED1ECA438500155CBF /* WPSharedLoggingPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 82706FF21ECA438500155CBF /* WPSharedLogging.h in Headers */ = {isa = PBXBuildFile; fileRef = 82706FEE1ECA438500155CBF /* WPSharedLogging.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 82706FF31ECA438500155CBF /* WPSharedLogging.m in Sources */ = {isa = PBXBuildFile; fileRef = 82706FEF1ECA438500155CBF /* WPSharedLogging.m */; }; - 82706FF41ECA438500155CBF /* WPSharedLoggingPrivate.m in Sources */ = {isa = PBXBuildFile; fileRef = 82706FF01ECA438500155CBF /* WPSharedLoggingPrivate.m */; }; - 827070031ECA43AA00155CBF /* NSString+Util.m in Sources */ = {isa = PBXBuildFile; fileRef = 82706FF51ECA43AA00155CBF /* NSString+Util.m */; }; - 827070041ECA43AA00155CBF /* NSString+Util.h in Headers */ = {isa = PBXBuildFile; fileRef = 82706FF61ECA43AA00155CBF /* NSString+Util.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 827070051ECA43AA00155CBF /* NSString+XMLExtensions.h in Headers */ = {isa = PBXBuildFile; fileRef = 82706FF71ECA43AA00155CBF /* NSString+XMLExtensions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 827070061ECA43AA00155CBF /* NSString+XMLExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = 82706FF81ECA43AA00155CBF /* NSString+XMLExtensions.m */; }; - 8270700F1ECA43AA00155CBF /* WPImageSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 827070011ECA43AA00155CBF /* WPImageSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 827070101ECA43AA00155CBF /* WPImageSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 827070021ECA43AA00155CBF /* WPImageSource.m */; }; - 827070881ECA4DB700155CBF /* anim-reader.gif in Resources */ = {isa = PBXBuildFile; fileRef = 827070861ECA4DB700155CBF /* anim-reader.gif */; }; - 827070891ECA4DB700155CBF /* test-image.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 827070871ECA4DB700155CBF /* test-image.jpg */; }; - 827070931ECA4E1D00155CBF /* WPImageSourceTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 827070911ECA4E1D00155CBF /* WPImageSourceTest.m */; }; - 827070A11ECA5A7C00155CBF /* NotoSerif-Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 8270709D1ECA5A7C00155CBF /* NotoSerif-Bold.ttf */; }; - 827070A21ECA5A7C00155CBF /* NotoSerif-BoldItalic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 8270709E1ECA5A7C00155CBF /* NotoSerif-BoldItalic.ttf */; }; - 827070A31ECA5A7C00155CBF /* NotoSerif-Italic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 8270709F1ECA5A7C00155CBF /* NotoSerif-Italic.ttf */; }; - 827070A41ECA5A7C00155CBF /* NotoSerif-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 827070A01ECA5A7C00155CBF /* NotoSerif-Regular.ttf */; }; - 829DD1481EC9EED200AB8C12 /* WordPressShared.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 829DD13E1EC9EED200AB8C12 /* WordPressShared.framework */; }; - 829DD14F1EC9EED200AB8C12 /* WordPressShared.h in Headers */ = {isa = PBXBuildFile; fileRef = 829DD1411EC9EED200AB8C12 /* WordPressShared.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 937BA5881EF1DAC100D301B2 /* CocoaLumberjack.swift in Sources */ = {isa = PBXBuildFile; fileRef = 937BA5871EF1DAC100D301B2 /* CocoaLumberjack.swift */; }; - 93A73ABC1EE9DD7D00C0F2F9 /* WPMapFilterReduce.h in Headers */ = {isa = PBXBuildFile; fileRef = 93A73ABA1EE9DD7D00C0F2F9 /* WPMapFilterReduce.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 93A73ABD1EE9DD7D00C0F2F9 /* WPMapFilterReduce.m in Sources */ = {isa = PBXBuildFile; fileRef = 93A73ABB1EE9DD7D00C0F2F9 /* WPMapFilterReduce.m */; }; - 93A73ABF1EE9DDB000C0F2F9 /* WPMapFilterReduceTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 93A73ABE1EE9DDB000C0F2F9 /* WPMapFilterReduceTest.m */; }; - 93AB05FD1EE8405A00EF8764 /* LanguagesTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93AB05FC1EE8405A00EF8764 /* LanguagesTests.swift */; }; - 93AB05FF1EE840A100EF8764 /* Languages.json in Resources */ = {isa = PBXBuildFile; fileRef = 93AB05FE1EE840A100EF8764 /* Languages.json */; }; - 93C674F51EE83D4B00BFAF05 /* Languages.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93C674F41EE83D4B00BFAF05 /* Languages.swift */; }; - 93C882AD1EEB1E2F00227A59 /* NSDate+Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93C882AC1EEB1E2F00227A59 /* NSDate+Helpers.swift */; }; - 9A1329DF22170BE2009EE02A /* NSDateHelperTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A1329DE22170BE2009EE02A /* NSDateHelperTest.swift */; }; - B5393FD8206D608F007BF9D4 /* EmailFormatValidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5393FD6206D608E007BF9D4 /* EmailFormatValidator.swift */; }; - B5393FD9206D608F007BF9D4 /* EmailTypoChecker.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5393FD7206D608F007BF9D4 /* EmailTypoChecker.swift */; }; - B5393FDC206D6169007BF9D4 /* EmailFormatValidatorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5393FDA206D6169007BF9D4 /* EmailFormatValidatorTests.swift */; }; - B5393FDD206D6169007BF9D4 /* EmailTypoCheckerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5393FDB206D6169007BF9D4 /* EmailTypoCheckerTests.swift */; }; - B5393FEE206D782A007BF9D4 /* NSString+Swift.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5393FED206D7829007BF9D4 /* NSString+Swift.swift */; }; - B5393FF0206D7863007BF9D4 /* NSStringSwiftTests.m in Sources */ = {isa = PBXBuildFile; fileRef = B5393FEF206D7862007BF9D4 /* NSStringSwiftTests.m */; }; - B5A787E6202B2BD3007874FB /* WPDeviceIdentification.m in Sources */ = {isa = PBXBuildFile; fileRef = B5A787E2202B2BD2007874FB /* WPDeviceIdentification.m */; }; - B5A787E7202B2BD3007874FB /* WPFontManager.h in Headers */ = {isa = PBXBuildFile; fileRef = B5A787E3202B2BD2007874FB /* WPFontManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B5A787E8202B2BD4007874FB /* WPDeviceIdentification.h in Headers */ = {isa = PBXBuildFile; fileRef = B5A787E4202B2BD2007874FB /* WPDeviceIdentification.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B5A787E9202B2BD4007874FB /* WPFontManager.m in Sources */ = {isa = PBXBuildFile; fileRef = B5A787E5202B2BD3007874FB /* WPFontManager.m */; }; - B5A78813202B3A55007874FB /* WPStyleGuide.m in Sources */ = {isa = PBXBuildFile; fileRef = B5A7880C202B3A55007874FB /* WPStyleGuide.m */; }; - B5A78815202B3A55007874FB /* WPNUXUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = B5A7880E202B3A55007874FB /* WPNUXUtility.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B5A78816202B3A55007874FB /* WPStyleGuide+DynamicType.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5A7880F202B3A55007874FB /* WPStyleGuide+DynamicType.swift */; }; - B5A78817202B3A55007874FB /* WPStyleGuide.h in Headers */ = {isa = PBXBuildFile; fileRef = B5A78810202B3A55007874FB /* WPStyleGuide.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B5A78818202B3A55007874FB /* WPNUXUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = B5A78811202B3A55007874FB /* WPNUXUtility.m */; }; - B5A7881E202B3A92007874FB /* WPTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B5A7881A202B3A92007874FB /* WPTableViewCell.m */; }; - B5A7881F202B3A92007874FB /* WPTextFieldTableViewCell.h in Headers */ = {isa = PBXBuildFile; fileRef = B5A7881B202B3A92007874FB /* WPTextFieldTableViewCell.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B5A78820202B3A92007874FB /* WPTextFieldTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = B5A7881C202B3A92007874FB /* WPTextFieldTableViewCell.m */; }; - B5A78821202B3A92007874FB /* WPTableViewCell.h in Headers */ = {isa = PBXBuildFile; fileRef = B5A7881D202B3A92007874FB /* WPTableViewCell.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CE1CB30424DCAFCB00DBAD9C /* CollectionType+Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE1CB30324DCAFCB00DBAD9C /* CollectionType+Helpers.swift */; }; - E157E126239527700051AE41 /* Secret.swift in Sources */ = {isa = PBXBuildFile; fileRef = E157E125239527700051AE41 /* Secret.swift */; }; - E157E128239527AD0051AE41 /* SecretTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E157E127239527AD0051AE41 /* SecretTests.swift */; }; - E18EABEA1F0E2C6800BFCB0B /* TestAnalyticsTracker.m in Sources */ = {isa = PBXBuildFile; fileRef = E18EABE81F0E2C6800BFCB0B /* TestAnalyticsTracker.m */; }; - E1A444281F063CAB00F6AA8A /* WPAnalytics.h in Headers */ = {isa = PBXBuildFile; fileRef = E1A444261F063CAB00F6AA8A /* WPAnalytics.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E1A444291F063CAB00F6AA8A /* WPAnalytics.m in Sources */ = {isa = PBXBuildFile; fileRef = E1A444271F063CAB00F6AA8A /* WPAnalytics.m */; }; - F106FA61226FA72E00706DE4 /* StringURLValidationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F19847DD226F92EA0004A8BC /* StringURLValidationTests.swift */; }; - F106FA62226FA82E00706DE4 /* String+URLValidation.swift in Sources */ = {isa = PBXBuildFile; fileRef = F19847DB226F92420004A8BC /* String+URLValidation.swift */; }; - F10A569023E1FC1300B184F4 /* String+StripShortcodes.swift in Sources */ = {isa = PBXBuildFile; fileRef = F10A568F23E1FC1300B184F4 /* String+StripShortcodes.swift */; }; - F10A569223E1FE7700B184F4 /* NSString+Summary.swift in Sources */ = {isa = PBXBuildFile; fileRef = F10A569123E1FE7700B184F4 /* NSString+Summary.swift */; }; - F1134A272270C15E00B8F75F /* Debouncer.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1134A262270C15E00B8F75F /* Debouncer.swift */; }; - F1134A292270C19200B8F75F /* DebouncerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1134A282270C19200B8F75F /* DebouncerTests.swift */; }; - F193585624CA3F4E00942507 /* AnalyticsEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = F193585524CA3F4E00942507 /* AnalyticsEvent.swift */; }; - F1C83C0C23E205D900A8CCF1 /* NSStringSummaryTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1C83C0B23E205D900A8CCF1 /* NSStringSummaryTests.swift */; }; - F1C83C0E23E20D9400A8CCF1 /* String+StripGutenbergContentForExcerpt.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1C83C0D23E20D9400A8CCF1 /* String+StripGutenbergContentForExcerpt.swift */; }; - F1C83C1023E20EF200A8CCF1 /* String+RemovingMatches.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1C83C0F23E20EF200A8CCF1 /* String+RemovingMatches.swift */; }; - F1C83C1223E20F7000A8CCF1 /* StringStripGutenbergContentForExcerptTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1C83C1123E20F7000A8CCF1 /* StringStripGutenbergContentForExcerptTests.swift */; }; - F1E214C123E3690E00A2CA73 /* StringRemovingMatchesTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1E214C023E3690E00A2CA73 /* StringRemovingMatchesTests.swift */; }; - FF20AD1D20B83EDB00082398 /* WordPressShared.podspec in Resources */ = {isa = PBXBuildFile; fileRef = FF20AD1C20B83EDB00082398 /* WordPressShared.podspec */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 829DD1491EC9EED200AB8C12 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 829DD1351EC9EED200AB8C12 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 829DD13D1EC9EED200AB8C12; - remoteInfo = WordPressShared; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 1A4094D42270A75E009AA86D /* NSBundle+WordPressShared.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSBundle+WordPressShared.swift"; sourceTree = ""; }; - 1A40950D2271AA9E009AA86D /* WPShared-Swift.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "WPShared-Swift.h"; sourceTree = ""; }; - 246BC027260C4C6100C0F7C0 /* TestPlan.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = TestPlan.xctestplan; sourceTree = ""; }; - 32E1BFD424A63DE6007A08F0 /* WPStyleGuide+SerifFonts.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "WPStyleGuide+SerifFonts.swift"; sourceTree = ""; }; - 405129D7901B7D4AD3B46442 /* Pods-WordPressShared.release-internal.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WordPressShared.release-internal.xcconfig"; path = "Pods/Target Support Files/Pods-WordPressShared/Pods-WordPressShared.release-internal.xcconfig"; sourceTree = ""; }; - 47629DF6D2C813279CBF93C4 /* Pods_WordPressSharedTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_WordPressSharedTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 4A2B7D122919E294007E5917 /* WPAnalyticsTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WPAnalyticsTests.swift; sourceTree = ""; }; - 5AC1280B7CDCD44A2F3A20AC /* Pods-WordPressShared.release-alpha.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WordPressShared.release-alpha.xcconfig"; path = "Pods/Target Support Files/Pods-WordPressShared/Pods-WordPressShared.release-alpha.xcconfig"; sourceTree = ""; }; - 5B7FC757233F785AA7F785E7 /* Pods-WordPressShared.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WordPressShared.release.xcconfig"; path = "Pods/Target Support Files/Pods-WordPressShared/Pods-WordPressShared.release.xcconfig"; sourceTree = ""; }; - 716C92B0CD72E5CD8250C04E /* Pods-WordPressSharedTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WordPressSharedTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-WordPressSharedTests/Pods-WordPressSharedTests.debug.xcconfig"; sourceTree = ""; }; - 740B23CA1F17F1FF00067A2A /* DisplayableImageHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DisplayableImageHelper.h; sourceTree = ""; }; - 740B23CB1F17F1FF00067A2A /* DisplayableImageHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DisplayableImageHelper.m; sourceTree = ""; }; - 740B23CE1F17F28E00067A2A /* DisplayableImageHelperTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DisplayableImageHelperTest.m; sourceTree = ""; }; - 7414BD511F13CB90005759F8 /* DictionaryHelpersTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DictionaryHelpersTests.swift; sourceTree = ""; }; - 7414BD531F13CBE0005759F8 /* Dictionary+Helpers.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Dictionary+Helpers.swift"; sourceTree = ""; }; - 7414BD541F13CBE0005759F8 /* String+Helpers.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "String+Helpers.swift"; sourceTree = ""; }; - 7414BD571F13CEA5005759F8 /* NSBundle+VersionNumberHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSBundle+VersionNumberHelper.h"; sourceTree = ""; }; - 7414BD581F13CEA5005759F8 /* NSBundle+VersionNumberHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSBundle+VersionNumberHelper.m"; sourceTree = ""; }; - 7414BD5F1F13D084005759F8 /* UIDevice+Helpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIDevice+Helpers.h"; sourceTree = ""; }; - 7414BD601F13D084005759F8 /* UIDevice+Helpers.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIDevice+Helpers.m"; sourceTree = ""; }; - 7430C9D01F19302D0051B8E6 /* PhotonImageURLHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PhotonImageURLHelper.h; sourceTree = ""; }; - 7430C9D11F19302D0051B8E6 /* PhotonImageURLHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PhotonImageURLHelper.m; sourceTree = ""; }; - 7430C9D41F1930460051B8E6 /* PhotonImageURLHelperTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PhotonImageURLHelperTest.m; sourceTree = ""; }; - 7430C9DA1F1933F40051B8E6 /* RichContentFormatter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RichContentFormatter.swift; sourceTree = ""; }; - 7430C9DC1F1934190051B8E6 /* RichContentFormatterTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RichContentFormatterTests.swift; sourceTree = ""; }; - 7430C9E01F1935400051B8E6 /* WPImageURLHelper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WPImageURLHelper.swift; sourceTree = ""; }; - 74650F791F0EA2FA00188EDB /* NSString+Helpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+Helpers.h"; sourceTree = ""; }; - 74650F7A1F0EA2FA00188EDB /* NSString+Helpers.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+Helpers.m"; sourceTree = ""; }; - 74650F7F1F0EA4BD00188EDB /* NSMutableData+Helpers.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSMutableData+Helpers.swift"; sourceTree = ""; }; - 748710AB1F06C465008095AB /* StringHelperTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StringHelperTests.swift; sourceTree = ""; }; - 74D44ED81F0EC6230075F96B /* NSStringHelpersTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSStringHelpersTests.m; sourceTree = ""; }; - 74FA25F21F1FD9640044BC54 /* DateUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DateUtils.h; sourceTree = ""; }; - 74FA25F31F1FD9640044BC54 /* DateUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DateUtils.m; sourceTree = ""; }; - 78F6A4A3B2D0D986640E9441 /* Pods-WordPressSharedTests.release-alpha.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WordPressSharedTests.release-alpha.xcconfig"; path = "Pods/Target Support Files/Pods-WordPressSharedTests/Pods-WordPressSharedTests.release-alpha.xcconfig"; sourceTree = ""; }; - 82706FED1ECA438500155CBF /* WPSharedLoggingPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WPSharedLoggingPrivate.h; path = ../../Private/WPSharedLoggingPrivate.h; sourceTree = ""; }; - 82706FEE1ECA438500155CBF /* WPSharedLogging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WPSharedLogging.h; sourceTree = ""; }; - 82706FEF1ECA438500155CBF /* WPSharedLogging.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WPSharedLogging.m; sourceTree = ""; }; - 82706FF01ECA438500155CBF /* WPSharedLoggingPrivate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = WPSharedLoggingPrivate.m; path = ../../Private/WPSharedLoggingPrivate.m; sourceTree = ""; }; - 82706FF51ECA43AA00155CBF /* NSString+Util.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+Util.m"; sourceTree = ""; }; - 82706FF61ECA43AA00155CBF /* NSString+Util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+Util.h"; sourceTree = ""; }; - 82706FF71ECA43AA00155CBF /* NSString+XMLExtensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+XMLExtensions.h"; sourceTree = ""; }; - 82706FF81ECA43AA00155CBF /* NSString+XMLExtensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+XMLExtensions.m"; sourceTree = ""; }; - 827070011ECA43AA00155CBF /* WPImageSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WPImageSource.h; sourceTree = ""; }; - 827070021ECA43AA00155CBF /* WPImageSource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WPImageSource.m; sourceTree = ""; }; - 827070861ECA4DB700155CBF /* anim-reader.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = "anim-reader.gif"; sourceTree = ""; }; - 827070871ECA4DB700155CBF /* test-image.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "test-image.jpg"; sourceTree = ""; }; - 8270708F1ECA4E1C00155CBF /* WordPressSharedTests-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "WordPressSharedTests-Bridging-Header.h"; sourceTree = ""; }; - 827070911ECA4E1D00155CBF /* WPImageSourceTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WPImageSourceTest.m; sourceTree = ""; }; - 827070981ECA4EBC00155CBF /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 8270709A1ECA502F00155CBF /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 8270709D1ECA5A7C00155CBF /* NotoSerif-Bold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "NotoSerif-Bold.ttf"; sourceTree = ""; }; - 8270709E1ECA5A7C00155CBF /* NotoSerif-BoldItalic.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "NotoSerif-BoldItalic.ttf"; sourceTree = ""; }; - 8270709F1ECA5A7C00155CBF /* NotoSerif-Italic.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "NotoSerif-Italic.ttf"; sourceTree = ""; }; - 827070A01ECA5A7C00155CBF /* NotoSerif-Regular.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "NotoSerif-Regular.ttf"; sourceTree = ""; }; - 829DD13E1EC9EED200AB8C12 /* WordPressShared.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = WordPressShared.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 829DD1411EC9EED200AB8C12 /* WordPressShared.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WordPressShared.h; sourceTree = ""; }; - 829DD1471EC9EED200AB8C12 /* WordPressSharedTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = WordPressSharedTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 937BA5871EF1DAC100D301B2 /* CocoaLumberjack.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CocoaLumberjack.swift; sourceTree = ""; }; - 93A73ABA1EE9DD7D00C0F2F9 /* WPMapFilterReduce.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WPMapFilterReduce.h; sourceTree = ""; }; - 93A73ABB1EE9DD7D00C0F2F9 /* WPMapFilterReduce.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WPMapFilterReduce.m; sourceTree = ""; }; - 93A73ABE1EE9DDB000C0F2F9 /* WPMapFilterReduceTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WPMapFilterReduceTest.m; sourceTree = ""; }; - 93AB05FC1EE8405A00EF8764 /* LanguagesTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LanguagesTests.swift; sourceTree = ""; }; - 93AB05FE1EE840A100EF8764 /* Languages.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = Languages.json; sourceTree = ""; }; - 93C674F41EE83D4B00BFAF05 /* Languages.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Languages.swift; sourceTree = ""; }; - 93C882AC1EEB1E2F00227A59 /* NSDate+Helpers.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSDate+Helpers.swift"; sourceTree = ""; }; - 9A1329DE22170BE2009EE02A /* NSDateHelperTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NSDateHelperTest.swift; sourceTree = ""; }; - AE15A6EE80D7766A21B83BF5 /* Pods_WordPressShared.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_WordPressShared.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - B5393FD6206D608E007BF9D4 /* EmailFormatValidator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EmailFormatValidator.swift; sourceTree = ""; }; - B5393FD7206D608F007BF9D4 /* EmailTypoChecker.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EmailTypoChecker.swift; sourceTree = ""; }; - B5393FDA206D6169007BF9D4 /* EmailFormatValidatorTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EmailFormatValidatorTests.swift; sourceTree = ""; }; - B5393FDB206D6169007BF9D4 /* EmailTypoCheckerTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EmailTypoCheckerTests.swift; sourceTree = ""; }; - B5393FED206D7829007BF9D4 /* NSString+Swift.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSString+Swift.swift"; sourceTree = ""; }; - B5393FEF206D7862007BF9D4 /* NSStringSwiftTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSStringSwiftTests.m; sourceTree = ""; }; - B56D96AE202C9B6E00485233 /* WordPressUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = WordPressUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - B56D96D8202CB50700485233 /* WordPressUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = WordPressUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - B5A787E2202B2BD2007874FB /* WPDeviceIdentification.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WPDeviceIdentification.m; sourceTree = ""; }; - B5A787E3202B2BD2007874FB /* WPFontManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WPFontManager.h; sourceTree = ""; }; - B5A787E4202B2BD2007874FB /* WPDeviceIdentification.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WPDeviceIdentification.h; sourceTree = ""; }; - B5A787E5202B2BD3007874FB /* WPFontManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WPFontManager.m; sourceTree = ""; }; - B5A7880C202B3A55007874FB /* WPStyleGuide.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WPStyleGuide.m; sourceTree = ""; }; - B5A7880E202B3A55007874FB /* WPNUXUtility.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WPNUXUtility.h; sourceTree = ""; }; - B5A7880F202B3A55007874FB /* WPStyleGuide+DynamicType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "WPStyleGuide+DynamicType.swift"; sourceTree = ""; }; - B5A78810202B3A55007874FB /* WPStyleGuide.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WPStyleGuide.h; sourceTree = ""; }; - B5A78811202B3A55007874FB /* WPNUXUtility.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WPNUXUtility.m; sourceTree = ""; }; - B5A7881A202B3A92007874FB /* WPTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WPTableViewCell.m; sourceTree = ""; }; - B5A7881B202B3A92007874FB /* WPTextFieldTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WPTextFieldTableViewCell.h; sourceTree = ""; }; - B5A7881C202B3A92007874FB /* WPTextFieldTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WPTextFieldTableViewCell.m; sourceTree = ""; }; - B5A7881D202B3A92007874FB /* WPTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WPTableViewCell.h; sourceTree = ""; }; - B5A78823202B3B3C007874FB /* WordPressUIKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = WordPressUIKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - BAD47F9FCABF8C12D6352A20 /* Pods-WordPressSharedTests.release-internal.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WordPressSharedTests.release-internal.xcconfig"; path = "Pods/Target Support Files/Pods-WordPressSharedTests/Pods-WordPressSharedTests.release-internal.xcconfig"; sourceTree = ""; }; - CE1CB30324DCAFCB00DBAD9C /* CollectionType+Helpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CollectionType+Helpers.swift"; sourceTree = ""; }; - D62D565031D4683172615BAC /* Pods-WordPressSharedTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WordPressSharedTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-WordPressSharedTests/Pods-WordPressSharedTests.release.xcconfig"; sourceTree = ""; }; - E157E125239527700051AE41 /* Secret.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Secret.swift; sourceTree = ""; }; - E157E127239527AD0051AE41 /* SecretTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SecretTests.swift; sourceTree = ""; }; - E18EABE71F0E2C6800BFCB0B /* TestAnalyticsTracker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TestAnalyticsTracker.h; sourceTree = ""; }; - E18EABE81F0E2C6800BFCB0B /* TestAnalyticsTracker.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TestAnalyticsTracker.m; sourceTree = ""; }; - E1A444261F063CAB00F6AA8A /* WPAnalytics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WPAnalytics.h; sourceTree = ""; }; - E1A444271F063CAB00F6AA8A /* WPAnalytics.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WPAnalytics.m; sourceTree = ""; }; - E5A4545AEF641B125A2ABA89 /* Pods-WordPressShared.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WordPressShared.debug.xcconfig"; path = "Pods/Target Support Files/Pods-WordPressShared/Pods-WordPressShared.debug.xcconfig"; sourceTree = ""; }; - F10A568F23E1FC1300B184F4 /* String+StripShortcodes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+StripShortcodes.swift"; sourceTree = ""; }; - F10A569123E1FE7700B184F4 /* NSString+Summary.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSString+Summary.swift"; sourceTree = ""; }; - F1134A262270C15E00B8F75F /* Debouncer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Debouncer.swift; sourceTree = ""; }; - F1134A282270C19200B8F75F /* DebouncerTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DebouncerTests.swift; sourceTree = ""; }; - F193585524CA3F4E00942507 /* AnalyticsEvent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnalyticsEvent.swift; sourceTree = ""; }; - F19847DB226F92420004A8BC /* String+URLValidation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+URLValidation.swift"; sourceTree = ""; }; - F19847DD226F92EA0004A8BC /* StringURLValidationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StringURLValidationTests.swift; sourceTree = ""; }; - F1C83C0B23E205D900A8CCF1 /* NSStringSummaryTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NSStringSummaryTests.swift; sourceTree = ""; }; - F1C83C0D23E20D9400A8CCF1 /* String+StripGutenbergContentForExcerpt.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+StripGutenbergContentForExcerpt.swift"; sourceTree = ""; }; - F1C83C0F23E20EF200A8CCF1 /* String+RemovingMatches.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+RemovingMatches.swift"; sourceTree = ""; }; - F1C83C1123E20F7000A8CCF1 /* StringStripGutenbergContentForExcerptTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StringStripGutenbergContentForExcerptTests.swift; sourceTree = ""; }; - F1E214C023E3690E00A2CA73 /* StringRemovingMatchesTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StringRemovingMatchesTests.swift; sourceTree = ""; }; - FF20AD1C20B83EDB00082398 /* WordPressShared.podspec */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WordPressShared.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 829DD13A1EC9EED200AB8C12 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 2EB9C57E3BFEDA1676FE857C /* Pods_WordPressShared.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 829DD1441EC9EED200AB8C12 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 3F338B76289BE0F90014ADC5 /* BuildkiteTestCollector in Frameworks */, - 829DD1481EC9EED200AB8C12 /* WordPressShared.framework in Frameworks */, - 195DA2403DED9F0420316608 /* Pods_WordPressSharedTests.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 06C0534D90DAECBBC3FC6FBB /* Pods */ = { - isa = PBXGroup; - children = ( - E5A4545AEF641B125A2ABA89 /* Pods-WordPressShared.debug.xcconfig */, - 5B7FC757233F785AA7F785E7 /* Pods-WordPressShared.release.xcconfig */, - 5AC1280B7CDCD44A2F3A20AC /* Pods-WordPressShared.release-alpha.xcconfig */, - 405129D7901B7D4AD3B46442 /* Pods-WordPressShared.release-internal.xcconfig */, - 716C92B0CD72E5CD8250C04E /* Pods-WordPressSharedTests.debug.xcconfig */, - D62D565031D4683172615BAC /* Pods-WordPressSharedTests.release.xcconfig */, - 78F6A4A3B2D0D986640E9441 /* Pods-WordPressSharedTests.release-alpha.xcconfig */, - BAD47F9FCABF8C12D6352A20 /* Pods-WordPressSharedTests.release-internal.xcconfig */, - ); - name = Pods; - sourceTree = ""; - }; - 1A40950A2271AA9E009AA86D /* Private */ = { - isa = PBXGroup; - children = ( - 1A40950D2271AA9E009AA86D /* WPShared-Swift.h */, - ); - path = Private; - sourceTree = ""; - }; - 64A3D9E533CC416278F7A0B3 /* Frameworks */ = { - isa = PBXGroup; - children = ( - B56D96D8202CB50700485233 /* WordPressUI.framework */, - B56D96AE202C9B6E00485233 /* WordPressUI.framework */, - B5A78823202B3B3C007874FB /* WordPressUIKit.framework */, - AE15A6EE80D7766A21B83BF5 /* Pods_WordPressShared.framework */, - 47629DF6D2C813279CBF93C4 /* Pods_WordPressSharedTests.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - 82706FDE1ECA32C600155CBF /* Logging */ = { - isa = PBXGroup; - children = ( - 937BA5871EF1DAC100D301B2 /* CocoaLumberjack.swift */, - 82706FEE1ECA438500155CBF /* WPSharedLogging.h */, - 82706FEF1ECA438500155CBF /* WPSharedLogging.m */, - 82706FED1ECA438500155CBF /* WPSharedLoggingPrivate.h */, - 82706FF01ECA438500155CBF /* WPSharedLoggingPrivate.m */, - ); - path = Logging; - sourceTree = ""; - }; - 82706FE01ECA32D400155CBF /* Utility */ = { - isa = PBXGroup; - children = ( - CE1CB30324DCAFCB00DBAD9C /* CollectionType+Helpers.swift */, - 74FA25F21F1FD9640044BC54 /* DateUtils.h */, - 74FA25F31F1FD9640044BC54 /* DateUtils.m */, - F1134A262270C15E00B8F75F /* Debouncer.swift */, - 7414BD531F13CBE0005759F8 /* Dictionary+Helpers.swift */, - 740B23CA1F17F1FF00067A2A /* DisplayableImageHelper.h */, - 740B23CB1F17F1FF00067A2A /* DisplayableImageHelper.m */, - B5393FD6206D608E007BF9D4 /* EmailFormatValidator.swift */, - B5393FD7206D608F007BF9D4 /* EmailTypoChecker.swift */, - 93C674F41EE83D4B00BFAF05 /* Languages.swift */, - 7414BD571F13CEA5005759F8 /* NSBundle+VersionNumberHelper.h */, - 7414BD581F13CEA5005759F8 /* NSBundle+VersionNumberHelper.m */, - 1A4094D42270A75E009AA86D /* NSBundle+WordPressShared.swift */, - 93C882AC1EEB1E2F00227A59 /* NSDate+Helpers.swift */, - 74650F7F1F0EA4BD00188EDB /* NSMutableData+Helpers.swift */, - 74650F791F0EA2FA00188EDB /* NSString+Helpers.h */, - 74650F7A1F0EA2FA00188EDB /* NSString+Helpers.m */, - F10A569123E1FE7700B184F4 /* NSString+Summary.swift */, - B5393FED206D7829007BF9D4 /* NSString+Swift.swift */, - 82706FF61ECA43AA00155CBF /* NSString+Util.h */, - 82706FF51ECA43AA00155CBF /* NSString+Util.m */, - 82706FF71ECA43AA00155CBF /* NSString+XMLExtensions.h */, - 82706FF81ECA43AA00155CBF /* NSString+XMLExtensions.m */, - 7430C9D01F19302D0051B8E6 /* PhotonImageURLHelper.h */, - 7430C9D11F19302D0051B8E6 /* PhotonImageURLHelper.m */, - 7430C9DA1F1933F40051B8E6 /* RichContentFormatter.swift */, - E157E125239527700051AE41 /* Secret.swift */, - 7414BD541F13CBE0005759F8 /* String+Helpers.swift */, - F1C83C0F23E20EF200A8CCF1 /* String+RemovingMatches.swift */, - F10A568F23E1FC1300B184F4 /* String+StripShortcodes.swift */, - F1C83C0D23E20D9400A8CCF1 /* String+StripGutenbergContentForExcerpt.swift */, - F19847DB226F92420004A8BC /* String+URLValidation.swift */, - 7414BD5F1F13D084005759F8 /* UIDevice+Helpers.h */, - 7414BD601F13D084005759F8 /* UIDevice+Helpers.m */, - B5A787E4202B2BD2007874FB /* WPDeviceIdentification.h */, - B5A787E2202B2BD2007874FB /* WPDeviceIdentification.m */, - B5A787E3202B2BD2007874FB /* WPFontManager.h */, - B5A787E5202B2BD3007874FB /* WPFontManager.m */, - 827070011ECA43AA00155CBF /* WPImageSource.h */, - 827070021ECA43AA00155CBF /* WPImageSource.m */, - 7430C9E01F1935400051B8E6 /* WPImageURLHelper.swift */, - 93A73ABA1EE9DD7D00C0F2F9 /* WPMapFilterReduce.h */, - 93A73ABB1EE9DD7D00C0F2F9 /* WPMapFilterReduce.m */, - ); - path = Utility; - sourceTree = ""; - }; - 827070841ECA4C9500155CBF /* Test Data */ = { - isa = PBXGroup; - children = ( - 827070861ECA4DB700155CBF /* anim-reader.gif */, - 827070871ECA4DB700155CBF /* test-image.jpg */, - ); - name = "Test Data"; - sourceTree = ""; - }; - 827070851ECA4C9B00155CBF /* Tests */ = { - isa = PBXGroup; - children = ( - F1134A282270C19200B8F75F /* DebouncerTests.swift */, - 7414BD511F13CB90005759F8 /* DictionaryHelpersTests.swift */, - 9A1329DE22170BE2009EE02A /* NSDateHelperTest.swift */, - 740B23CE1F17F28E00067A2A /* DisplayableImageHelperTest.m */, - B5393FDA206D6169007BF9D4 /* EmailFormatValidatorTests.swift */, - B5393FDB206D6169007BF9D4 /* EmailTypoCheckerTests.swift */, - 93AB05FC1EE8405A00EF8764 /* LanguagesTests.swift */, - B5393FEF206D7862007BF9D4 /* NSStringSwiftTests.m */, - 74D44ED81F0EC6230075F96B /* NSStringHelpersTests.m */, - F1C83C0B23E205D900A8CCF1 /* NSStringSummaryTests.swift */, - 7430C9D41F1930460051B8E6 /* PhotonImageURLHelperTest.m */, - 7430C9DC1F1934190051B8E6 /* RichContentFormatterTests.swift */, - 748710AB1F06C465008095AB /* StringHelperTests.swift */, - F1E214C023E3690E00A2CA73 /* StringRemovingMatchesTests.swift */, - F1C83C1123E20F7000A8CCF1 /* StringStripGutenbergContentForExcerptTests.swift */, - E18EABE71F0E2C6800BFCB0B /* TestAnalyticsTracker.h */, - E18EABE81F0E2C6800BFCB0B /* TestAnalyticsTracker.m */, - 4A2B7D122919E294007E5917 /* WPAnalyticsTests.swift */, - 827070911ECA4E1D00155CBF /* WPImageSourceTest.m */, - 93A73ABE1EE9DDB000C0F2F9 /* WPMapFilterReduceTest.m */, - 8270708F1ECA4E1C00155CBF /* WordPressSharedTests-Bridging-Header.h */, - F19847DD226F92EA0004A8BC /* StringURLValidationTests.swift */, - E157E127239527AD0051AE41 /* SecretTests.swift */, - ); - name = Tests; - sourceTree = ""; - }; - 8270709C1ECA5A7C00155CBF /* Resources */ = { - isa = PBXGroup; - children = ( - 93AB05FE1EE840A100EF8764 /* Languages.json */, - 8270709D1ECA5A7C00155CBF /* NotoSerif-Bold.ttf */, - 8270709E1ECA5A7C00155CBF /* NotoSerif-BoldItalic.ttf */, - 8270709F1ECA5A7C00155CBF /* NotoSerif-Italic.ttf */, - 827070A01ECA5A7C00155CBF /* NotoSerif-Regular.ttf */, - ); - path = Resources; - sourceTree = ""; - }; - 829DD1341EC9EED200AB8C12 = { - isa = PBXGroup; - children = ( - FF20AD1C20B83EDB00082398 /* WordPressShared.podspec */, - 829DD1401EC9EED200AB8C12 /* WordPressShared */, - 829DD14B1EC9EED200AB8C12 /* WordPressSharedTests */, - 829DD13F1EC9EED200AB8C12 /* Products */, - 64A3D9E533CC416278F7A0B3 /* Frameworks */, - 06C0534D90DAECBBC3FC6FBB /* Pods */, - ); - sourceTree = ""; - }; - 829DD13F1EC9EED200AB8C12 /* Products */ = { - isa = PBXGroup; - children = ( - 829DD13E1EC9EED200AB8C12 /* WordPressShared.framework */, - 829DD1471EC9EED200AB8C12 /* WordPressSharedTests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 829DD1401EC9EED200AB8C12 /* WordPressShared */ = { - isa = PBXGroup; - children = ( - 1A40950A2271AA9E009AA86D /* Private */, - 829DD22A1ECA064100AB8C12 /* Core */, - 8270709C1ECA5A7C00155CBF /* Resources */, - 827070981ECA4EBC00155CBF /* Info.plist */, - 829DD1411EC9EED200AB8C12 /* WordPressShared.h */, - ); - path = WordPressShared; - sourceTree = ""; - }; - 829DD14B1EC9EED200AB8C12 /* WordPressSharedTests */ = { - isa = PBXGroup; - children = ( - 827070841ECA4C9500155CBF /* Test Data */, - 827070851ECA4C9B00155CBF /* Tests */, - 246BC027260C4C6100C0F7C0 /* TestPlan.xctestplan */, - 8270709A1ECA502F00155CBF /* Info.plist */, - ); - path = WordPressSharedTests; - sourceTree = ""; - }; - 829DD22A1ECA064100AB8C12 /* Core */ = { - isa = PBXGroup; - children = ( - E1A444251F063CAB00F6AA8A /* Analytics */, - 82706FDE1ECA32C600155CBF /* Logging */, - 82706FE01ECA32D400155CBF /* Utility */, - B5A7880B202B3A55007874FB /* Views */, - ); - path = Core; - sourceTree = ""; - }; - B5A7880B202B3A55007874FB /* Views */ = { - isa = PBXGroup; - children = ( - B5A78810202B3A55007874FB /* WPStyleGuide.h */, - B5A7880C202B3A55007874FB /* WPStyleGuide.m */, - B5A7880E202B3A55007874FB /* WPNUXUtility.h */, - B5A78811202B3A55007874FB /* WPNUXUtility.m */, - B5A7880F202B3A55007874FB /* WPStyleGuide+DynamicType.swift */, - 32E1BFD424A63DE6007A08F0 /* WPStyleGuide+SerifFonts.swift */, - B5A7881D202B3A92007874FB /* WPTableViewCell.h */, - B5A7881A202B3A92007874FB /* WPTableViewCell.m */, - B5A7881B202B3A92007874FB /* WPTextFieldTableViewCell.h */, - B5A7881C202B3A92007874FB /* WPTextFieldTableViewCell.m */, - ); - path = Views; - sourceTree = ""; - }; - E1A444251F063CAB00F6AA8A /* Analytics */ = { - isa = PBXGroup; - children = ( - F193585524CA3F4E00942507 /* AnalyticsEvent.swift */, - E1A444261F063CAB00F6AA8A /* WPAnalytics.h */, - E1A444271F063CAB00F6AA8A /* WPAnalytics.m */, - ); - name = Analytics; - path = WordPressShared/Core/Analytics; - sourceTree = SOURCE_ROOT; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 829DD13B1EC9EED200AB8C12 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 827070041ECA43AA00155CBF /* NSString+Util.h in Headers */, - 8270700F1ECA43AA00155CBF /* WPImageSource.h in Headers */, - 827070051ECA43AA00155CBF /* NSString+XMLExtensions.h in Headers */, - 82706FF21ECA438500155CBF /* WPSharedLogging.h in Headers */, - 829DD14F1EC9EED200AB8C12 /* WordPressShared.h in Headers */, - 93A73ABC1EE9DD7D00C0F2F9 /* WPMapFilterReduce.h in Headers */, - E1A444281F063CAB00F6AA8A /* WPAnalytics.h in Headers */, - 7414BD591F13CEA5005759F8 /* NSBundle+VersionNumberHelper.h in Headers */, - 1A4095102271AA9E009AA86D /* WPShared-Swift.h in Headers */, - 7414BD611F13D084005759F8 /* UIDevice+Helpers.h in Headers */, - 740B23CC1F17F1FF00067A2A /* DisplayableImageHelper.h in Headers */, - 7430C9D21F19302D0051B8E6 /* PhotonImageURLHelper.h in Headers */, - B5A78817202B3A55007874FB /* WPStyleGuide.h in Headers */, - B5A7881F202B3A92007874FB /* WPTextFieldTableViewCell.h in Headers */, - B5A78821202B3A92007874FB /* WPTableViewCell.h in Headers */, - B5A78815202B3A55007874FB /* WPNUXUtility.h in Headers */, - 74FA25F41F1FD9640044BC54 /* DateUtils.h in Headers */, - B5A787E7202B2BD3007874FB /* WPFontManager.h in Headers */, - B5A787E8202B2BD4007874FB /* WPDeviceIdentification.h in Headers */, - 74650F7B1F0EA2FA00188EDB /* NSString+Helpers.h in Headers */, - 82706FF11ECA438500155CBF /* WPSharedLoggingPrivate.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 829DD13D1EC9EED200AB8C12 /* WordPressShared */ = { - isa = PBXNativeTarget; - buildConfigurationList = 829DD1521EC9EED200AB8C12 /* Build configuration list for PBXNativeTarget "WordPressShared" */; - buildPhases = ( - 9CBE6ADF7B788BBD784D8187 /* [CP] Check Pods Manifest.lock */, - 829DD13B1EC9EED200AB8C12 /* Headers */, - 829DD1391EC9EED200AB8C12 /* Sources */, - 829DD13A1EC9EED200AB8C12 /* Frameworks */, - 829DD13C1EC9EED200AB8C12 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = WordPressShared; - productName = WordPressShared; - productReference = 829DD13E1EC9EED200AB8C12 /* WordPressShared.framework */; - productType = "com.apple.product-type.framework"; - }; - 829DD1461EC9EED200AB8C12 /* WordPressSharedTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 829DD1551EC9EED200AB8C12 /* Build configuration list for PBXNativeTarget "WordPressSharedTests" */; - buildPhases = ( - 8C446B5942DC8541369A811F /* [CP] Check Pods Manifest.lock */, - 829DD1431EC9EED200AB8C12 /* Sources */, - 829DD1441EC9EED200AB8C12 /* Frameworks */, - 829DD1451EC9EED200AB8C12 /* Resources */, - F47EB302F575BA168C0E7DB8 /* [CP] Embed Pods Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - 829DD14A1EC9EED200AB8C12 /* PBXTargetDependency */, - ); - name = WordPressSharedTests; - packageProductDependencies = ( - 3F338B75289BE0F90014ADC5 /* BuildkiteTestCollector */, - ); - productName = WordPressSharedTests; - productReference = 829DD1471EC9EED200AB8C12 /* WordPressSharedTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 829DD1351EC9EED200AB8C12 /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 1020; - TargetAttributes = { - 829DD13D1EC9EED200AB8C12 = { - CreatedOnToolsVersion = 8.3; - LastSwiftMigration = 1020; - ProvisioningStyle = Automatic; - }; - 829DD1461EC9EED200AB8C12 = { - CreatedOnToolsVersion = 8.3; - LastSwiftMigration = 1020; - ProvisioningStyle = Automatic; - }; - }; - }; - buildConfigurationList = 829DD1381EC9EED200AB8C12 /* Build configuration list for PBXProject "WordPressShared" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 829DD1341EC9EED200AB8C12; - packageReferences = ( - 3F338B74289BE0F90014ADC5 /* XCRemoteSwiftPackageReference "test-collector-swift" */, - ); - productRefGroup = 829DD13F1EC9EED200AB8C12 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 829DD13D1EC9EED200AB8C12 /* WordPressShared */, - 829DD1461EC9EED200AB8C12 /* WordPressSharedTests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 829DD13C1EC9EED200AB8C12 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 827070A11ECA5A7C00155CBF /* NotoSerif-Bold.ttf in Resources */, - 93AB05FF1EE840A100EF8764 /* Languages.json in Resources */, - 827070A41ECA5A7C00155CBF /* NotoSerif-Regular.ttf in Resources */, - 827070A21ECA5A7C00155CBF /* NotoSerif-BoldItalic.ttf in Resources */, - 827070A31ECA5A7C00155CBF /* NotoSerif-Italic.ttf in Resources */, - FF20AD1D20B83EDB00082398 /* WordPressShared.podspec in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 829DD1451EC9EED200AB8C12 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 827070891ECA4DB700155CBF /* test-image.jpg in Resources */, - 827070881ECA4DB700155CBF /* anim-reader.gif in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 8C446B5942DC8541369A811F /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-WordPressSharedTests-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - 9CBE6ADF7B788BBD784D8187 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-WordPressShared-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - F47EB302F575BA168C0E7DB8 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-WordPressSharedTests/Pods-WordPressSharedTests-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework", - "${BUILT_PRODUCTS_DIR}/FormatterKit/FormatterKit.framework", - "${BUILT_PRODUCTS_DIR}/OCMock/OCMock.framework", - "${BUILT_PRODUCTS_DIR}/OHHTTPStubs/OHHTTPStubs.framework", - "${BUILT_PRODUCTS_DIR}/Quick/Quick.framework", - ); - name = "[CP] Embed Pods Frameworks"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FormatterKit.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OCMock.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OHHTTPStubs.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Quick.framework", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-WordPressSharedTests/Pods-WordPressSharedTests-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 829DD1391EC9EED200AB8C12 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E1A444291F063CAB00F6AA8A /* WPAnalytics.m in Sources */, - E157E126239527700051AE41 /* Secret.swift in Sources */, - 827070101ECA43AA00155CBF /* WPImageSource.m in Sources */, - 93C674F51EE83D4B00BFAF05 /* Languages.swift in Sources */, - B5A787E6202B2BD3007874FB /* WPDeviceIdentification.m in Sources */, - 93A73ABD1EE9DD7D00C0F2F9 /* WPMapFilterReduce.m in Sources */, - B5A7881E202B3A92007874FB /* WPTableViewCell.m in Sources */, - 74650F7C1F0EA2FA00188EDB /* NSString+Helpers.m in Sources */, - B5A78820202B3A92007874FB /* WPTextFieldTableViewCell.m in Sources */, - 1A4094D52270A75E009AA86D /* NSBundle+WordPressShared.swift in Sources */, - B5A78816202B3A55007874FB /* WPStyleGuide+DynamicType.swift in Sources */, - 7414BD561F13CBE0005759F8 /* String+Helpers.swift in Sources */, - 827070031ECA43AA00155CBF /* NSString+Util.m in Sources */, - F1C83C1023E20EF200A8CCF1 /* String+RemovingMatches.swift in Sources */, - 82706FF41ECA438500155CBF /* WPSharedLoggingPrivate.m in Sources */, - 7430C9E11F1935400051B8E6 /* WPImageURLHelper.swift in Sources */, - B5A78813202B3A55007874FB /* WPStyleGuide.m in Sources */, - B5393FEE206D782A007BF9D4 /* NSString+Swift.swift in Sources */, - 74FA25F51F1FD9640044BC54 /* DateUtils.m in Sources */, - 7430C9D31F19302D0051B8E6 /* PhotonImageURLHelper.m in Sources */, - 7414BD5A1F13CEA5005759F8 /* NSBundle+VersionNumberHelper.m in Sources */, - 827070061ECA43AA00155CBF /* NSString+XMLExtensions.m in Sources */, - F1C83C0E23E20D9400A8CCF1 /* String+StripGutenbergContentForExcerpt.swift in Sources */, - 82706FF31ECA438500155CBF /* WPSharedLogging.m in Sources */, - F193585624CA3F4E00942507 /* AnalyticsEvent.swift in Sources */, - F1134A272270C15E00B8F75F /* Debouncer.swift in Sources */, - B5393FD8206D608F007BF9D4 /* EmailFormatValidator.swift in Sources */, - CE1CB30424DCAFCB00DBAD9C /* CollectionType+Helpers.swift in Sources */, - F106FA62226FA82E00706DE4 /* String+URLValidation.swift in Sources */, - F10A569023E1FC1300B184F4 /* String+StripShortcodes.swift in Sources */, - 32E1BFD524A63DE6007A08F0 /* WPStyleGuide+SerifFonts.swift in Sources */, - 93C882AD1EEB1E2F00227A59 /* NSDate+Helpers.swift in Sources */, - 74650F801F0EA4BD00188EDB /* NSMutableData+Helpers.swift in Sources */, - 7414BD621F13D084005759F8 /* UIDevice+Helpers.m in Sources */, - B5A787E9202B2BD4007874FB /* WPFontManager.m in Sources */, - B5393FD9206D608F007BF9D4 /* EmailTypoChecker.swift in Sources */, - F10A569223E1FE7700B184F4 /* NSString+Summary.swift in Sources */, - 740B23CD1F17F1FF00067A2A /* DisplayableImageHelper.m in Sources */, - B5A78818202B3A55007874FB /* WPNUXUtility.m in Sources */, - 7430C9DB1F1933F40051B8E6 /* RichContentFormatter.swift in Sources */, - 937BA5881EF1DAC100D301B2 /* CocoaLumberjack.swift in Sources */, - 7414BD551F13CBE0005759F8 /* Dictionary+Helpers.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 829DD1431EC9EED200AB8C12 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 74D44ED91F0EC6230075F96B /* NSStringHelpersTests.m in Sources */, - F106FA61226FA72E00706DE4 /* StringURLValidationTests.swift in Sources */, - 7414BD521F13CB90005759F8 /* DictionaryHelpersTests.swift in Sources */, - 93A73ABF1EE9DDB000C0F2F9 /* WPMapFilterReduceTest.m in Sources */, - B5393FF0206D7863007BF9D4 /* NSStringSwiftTests.m in Sources */, - 827070931ECA4E1D00155CBF /* WPImageSourceTest.m in Sources */, - E18EABEA1F0E2C6800BFCB0B /* TestAnalyticsTracker.m in Sources */, - F1C83C1223E20F7000A8CCF1 /* StringStripGutenbergContentForExcerptTests.swift in Sources */, - 93AB05FD1EE8405A00EF8764 /* LanguagesTests.swift in Sources */, - B5393FDD206D6169007BF9D4 /* EmailTypoCheckerTests.swift in Sources */, - F1E214C123E3690E00A2CA73 /* StringRemovingMatchesTests.swift in Sources */, - F1134A292270C19200B8F75F /* DebouncerTests.swift in Sources */, - 7430C9D51F1930460051B8E6 /* PhotonImageURLHelperTest.m in Sources */, - E157E128239527AD0051AE41 /* SecretTests.swift in Sources */, - 740B23CF1F17F28E00067A2A /* DisplayableImageHelperTest.m in Sources */, - F1C83C0C23E205D900A8CCF1 /* NSStringSummaryTests.swift in Sources */, - 7430C9DD1F1934190051B8E6 /* RichContentFormatterTests.swift in Sources */, - B5393FDC206D6169007BF9D4 /* EmailFormatValidatorTests.swift in Sources */, - 4A2B7D132919E294007E5917 /* WPAnalyticsTests.swift in Sources */, - 748710AC1F06C465008095AB /* StringHelperTests.swift in Sources */, - 9A1329DF22170BE2009EE02A /* NSDateHelperTest.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 829DD14A1EC9EED200AB8C12 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 829DD13D1EC9EED200AB8C12 /* WordPressShared */; - targetProxy = 829DD1491EC9EED200AB8C12 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 82706F981ECA2D9200155CBF /* Release-Internal */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = "Release-Internal"; - }; - 82706F991ECA2D9200155CBF /* Release-Internal */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 405129D7901B7D4AD3B46442 /* Pods-WordPressShared.release-internal.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_ANALYZER_NONNULL = YES_NONAGGRESSIVE; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = NO; - CODE_SIGN_IDENTITY = ""; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = WordPressShared/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = org.wordpress.WordPressShared; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - SWIFT_VERSION = 5.0; - }; - name = "Release-Internal"; - }; - 82706F9A1ECA2D9200155CBF /* Release-Internal */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = BAD47F9FCABF8C12D6352A20 /* Pods-WordPressSharedTests.release-internal.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; - CLANG_ENABLE_MODULES = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = NO; - "CODE_SIGN_IDENTITY[sdk=macosx*]" = "-"; - INFOPLIST_FILE = WordPressSharedTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = org.wordpress.WordPressSharedTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "WordPressSharedTests/WordPressSharedTests-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - }; - name = "Release-Internal"; - }; - 82706F9B1ECA2D9E00155CBF /* Release-Alpha */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = "Release-Alpha"; - }; - 82706F9C1ECA2D9E00155CBF /* Release-Alpha */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 5AC1280B7CDCD44A2F3A20AC /* Pods-WordPressShared.release-alpha.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_ANALYZER_NONNULL = YES_NONAGGRESSIVE; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = NO; - CODE_SIGN_IDENTITY = ""; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = WordPressShared/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = org.wordpress.WordPressShared; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - SWIFT_VERSION = 5.0; - }; - name = "Release-Alpha"; - }; - 82706F9D1ECA2D9E00155CBF /* Release-Alpha */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 78F6A4A3B2D0D986640E9441 /* Pods-WordPressSharedTests.release-alpha.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; - CLANG_ENABLE_MODULES = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = NO; - "CODE_SIGN_IDENTITY[sdk=macosx*]" = "-"; - INFOPLIST_FILE = WordPressSharedTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = org.wordpress.WordPressSharedTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "WordPressSharedTests/WordPressSharedTests-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - }; - name = "Release-Alpha"; - }; - 829DD1501EC9EED200AB8C12 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 829DD1511EC9EED200AB8C12 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 829DD1531EC9EED200AB8C12 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = E5A4545AEF641B125A2ABA89 /* Pods-WordPressShared.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_ANALYZER_NONNULL = YES_NONAGGRESSIVE; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = NO; - CODE_SIGN_IDENTITY = ""; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = WordPressShared/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = org.wordpress.WordPressShared; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - }; - name = Debug; - }; - 829DD1541EC9EED200AB8C12 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 5B7FC757233F785AA7F785E7 /* Pods-WordPressShared.release.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_ANALYZER_NONNULL = YES_NONAGGRESSIVE; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = NO; - CODE_SIGN_IDENTITY = ""; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = WordPressShared/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = org.wordpress.WordPressShared; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - SWIFT_VERSION = 5.0; - }; - name = Release; - }; - 829DD1561EC9EED200AB8C12 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 716C92B0CD72E5CD8250C04E /* Pods-WordPressSharedTests.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; - CLANG_ENABLE_MODULES = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = NO; - "CODE_SIGN_IDENTITY[sdk=macosx*]" = "-"; - INFOPLIST_FILE = WordPressSharedTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = org.wordpress.WordPressSharedTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "WordPressSharedTests/WordPressSharedTests-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - }; - name = Debug; - }; - 829DD1571EC9EED200AB8C12 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = D62D565031D4683172615BAC /* Pods-WordPressSharedTests.release.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; - CLANG_ENABLE_MODULES = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = NO; - "CODE_SIGN_IDENTITY[sdk=macosx*]" = "-"; - INFOPLIST_FILE = WordPressSharedTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = org.wordpress.WordPressSharedTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "WordPressSharedTests/WordPressSharedTests-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 829DD1381EC9EED200AB8C12 /* Build configuration list for PBXProject "WordPressShared" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 829DD1501EC9EED200AB8C12 /* Debug */, - 829DD1511EC9EED200AB8C12 /* Release */, - 82706F9B1ECA2D9E00155CBF /* Release-Alpha */, - 82706F981ECA2D9200155CBF /* Release-Internal */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 829DD1521EC9EED200AB8C12 /* Build configuration list for PBXNativeTarget "WordPressShared" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 829DD1531EC9EED200AB8C12 /* Debug */, - 829DD1541EC9EED200AB8C12 /* Release */, - 82706F9C1ECA2D9E00155CBF /* Release-Alpha */, - 82706F991ECA2D9200155CBF /* Release-Internal */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 829DD1551EC9EED200AB8C12 /* Build configuration list for PBXNativeTarget "WordPressSharedTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 829DD1561EC9EED200AB8C12 /* Debug */, - 829DD1571EC9EED200AB8C12 /* Release */, - 82706F9D1ECA2D9E00155CBF /* Release-Alpha */, - 82706F9A1ECA2D9200155CBF /* Release-Internal */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - -/* Begin XCRemoteSwiftPackageReference section */ - 3F338B74289BE0F90014ADC5 /* XCRemoteSwiftPackageReference "test-collector-swift" */ = { - isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/buildkite/test-collector-swift"; - requirement = { - kind = upToNextMajorVersion; - minimumVersion = 0.3.0; - }; - }; -/* End XCRemoteSwiftPackageReference section */ - -/* Begin XCSwiftPackageProductDependency section */ - 3F338B75289BE0F90014ADC5 /* BuildkiteTestCollector */ = { - isa = XCSwiftPackageProductDependency; - package = 3F338B74289BE0F90014ADC5 /* XCRemoteSwiftPackageReference "test-collector-swift" */; - productName = BuildkiteTestCollector; - }; -/* End XCSwiftPackageProductDependency section */ - }; - rootObject = 829DD1351EC9EED200AB8C12 /* Project object */; -} diff --git a/WordPressShared.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/WordPressShared.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a..0000000 --- a/WordPressShared.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/WordPressShared.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/WordPressShared.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d9810..0000000 --- a/WordPressShared.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/WordPressShared.xcodeproj/xcshareddata/xcschemes/WordPressShared.xcscheme b/WordPressShared.xcodeproj/xcshareddata/xcschemes/WordPressShared.xcscheme deleted file mode 100644 index 9738f44..0000000 --- a/WordPressShared.xcodeproj/xcshareddata/xcschemes/WordPressShared.xcscheme +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/WordPressShared.xcworkspace/contents.xcworkspacedata b/WordPressShared.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 7921a7d..0000000 --- a/WordPressShared.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/WordPressShared.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/WordPressShared.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d9810..0000000 --- a/WordPressShared.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/WordPressShared.xcworkspace/xcshareddata/swiftpm/Package.resolved b/WordPressShared.xcworkspace/xcshareddata/swiftpm/Package.resolved deleted file mode 100644 index 777352a..0000000 --- a/WordPressShared.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ /dev/null @@ -1,14 +0,0 @@ -{ - "pins" : [ - { - "identity" : "test-collector-swift", - "kind" : "remoteSourceControl", - "location" : "https://github.com/buildkite/test-collector-swift", - "state" : { - "revision" : "77c7f492f5c1c9ca159f73d18f56bbd1186390b0", - "version" : "0.3.0" - } - } - ], - "version" : 2 -} From 4de0e0c90fa69341dc44c35c7cbf79b6299e55b6 Mon Sep 17 00:00:00 2001 From: Tony Li Date: Wed, 9 Nov 2022 20:42:47 +1300 Subject: [PATCH 04/14] Use 'BuildkiteTestCollector' in the test target --- Package.swift | 1 + WordPressSharedTests/TestPlan.xctestplan | 65 ------------------------ 2 files changed, 1 insertion(+), 65 deletions(-) delete mode 100644 WordPressSharedTests/TestPlan.xctestplan diff --git a/Package.swift b/Package.swift index 3ff9e24..c0c29a5 100644 --- a/Package.swift +++ b/Package.swift @@ -149,6 +149,7 @@ let package = Package( dependencies: [ .target(name: "WordPressShared"), .product(name: "OCMock", package: "ocmock"), + .product(name: "BuildkiteTestCollector", package: "test-collector-swift"), "Quick", "OHHTTPStubs", ], diff --git a/WordPressSharedTests/TestPlan.xctestplan b/WordPressSharedTests/TestPlan.xctestplan deleted file mode 100644 index 9e17d17..0000000 --- a/WordPressSharedTests/TestPlan.xctestplan +++ /dev/null @@ -1,65 +0,0 @@ -{ - "configurations" : [ - { - "id" : "32BCD943-F7E3-459F-93A4-EE06670AD57E", - "name" : "en-US", - "options" : { - "language" : "en", - "region" : "US" - } - } - ], - "defaultOptions" : { - "environmentVariableEntries" : [ - { - "key" : "BUILDKITE_ANALYTICS_TOKEN", - "value" : "$(BUILDKITE_ANALYTICS_TOKEN)" - }, - { - "key" : "BUILDKITE_BRANCH", - "value" : "$(BUILDKITE_BRANCH)" - }, - { - "key" : "BUILDKITE_BUILD_ID", - "value" : "$(BUILDKITE_BUILD_ID)" - }, - { - "key" : "BUILDKITE_BUILD_NUMBER", - "value" : "$(BUILDKITE_BUILD_NUMBER)" - }, - { - "key" : "BUILDKITE_BUILD_URL", - "value" : "$(BUILDKITE_BUILD_URL)" - }, - { - "key" : "BUILDKITE_COMMIT", - "value" : "$(BUILDKITE_COMMIT)" - }, - { - "key" : "BUILDKITE_JOB_ID", - "value" : "$(BUILDKITE_JOB_ID)" - }, - { - "key" : "BUILDKITE_MESSAGE", - "value" : "$(BUILDKITE_MESSAGE)" - } - ], - "targetForVariableExpansion" : { - "containerPath" : "container:WordPressShared.xcodeproj", - "identifier" : "829DD13D1EC9EED200AB8C12", - "name" : "WordPressShared" - }, - "testExecutionOrdering" : "random" - }, - "testTargets" : [ - { - "parallelizable" : true, - "target" : { - "containerPath" : "container:WordPressShared.xcodeproj", - "identifier" : "829DD1461EC9EED200AB8C12", - "name" : "WordPressSharedTests" - } - } - ], - "version" : 1 -} From 6424b987a9edf0bff885e4995436157dae35f506 Mon Sep 17 00:00:00 2001 From: Tony Li Date: Thu, 10 Nov 2022 10:27:53 +1300 Subject: [PATCH 05/14] Update pipeline to use the latest plugin --- .buildkite/pipeline.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 743c722..548d00e 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -1,19 +1,19 @@ # Nodes with values to reuse in the pipeline. common_params: plugins: &common_plugins - - &bash_cache automattic/bash-cache#2.9.0 + - &bash_cache automattic/bash-cache#2.10.0 env: &common_env IMAGE_ID: xcode-14 # This is the default pipeline – it will build and test the pod steps: - ################ - # Build and Test - ################ + ######################## + # Validate Swift Package + ######################## - label: "🧪 Build and Test iOS" key: "test" command: | - build_and_test_pod + validate_swift_package env: *common_env plugins: *common_plugins artifact_paths: ".build/logs/*.log" From f8f73c5ea4d32adcf473096087afbdd8f443d12c Mon Sep 17 00:00:00 2001 From: Tony Li Date: Wed, 9 Nov 2022 22:24:39 +1300 Subject: [PATCH 06/14] Use Swift Package Manager's folder structure --- Package.swift | 146 ++---------------- .../Analytics/AnalyticsEvent.swift | 2 +- .../Logging/CocoaLumberjack.swift | 0 .../WordPressShared}/Resources/Languages.json | Bin .../Utility/CollectionType+Helpers.swift | 0 .../WordPressShared}/Utility/Debouncer.swift | 0 .../Utility/Dictionary+Helpers.swift | 0 .../Utility/EmailFormatValidator.swift | 0 .../Utility/EmailTypoChecker.swift | 0 .../WordPressShared}/Utility/Languages.swift | 4 - .../Utility/NSBundle+WordPressShared.swift | 0 .../Utility/NSDate+Helpers.swift | 0 .../Utility/NSMutableData+Helpers.swift | 0 .../Utility/NSString+Summary.swift | 0 .../Utility/NSString+Swift.swift | 0 .../Utility/RichContentFormatter.swift | 2 +- .../WordPressShared}/Utility/Secret.swift | 0 .../Utility/String+Helpers.swift | 2 +- .../Utility/String+RemovingMatches.swift | 0 ...ring+StripGutenbergContentForExcerpt.swift | 0 .../Utility/String+StripShortcodes.swift | 0 .../Utility/String+URLValidation.swift | 0 .../Utility/WPImageURLHelper.swift | 0 .../Views/WPStyleGuide+DynamicType.swift | 3 +- .../Views/WPStyleGuide+SerifFonts.swift | 3 +- Sources/WordPressShared/WordPressShared.swift | 5 + .../Analytics/WPAnalytics.h | 0 .../Analytics/WPAnalytics.m | 0 .../Logging/WPSharedLogging.h | 0 .../Logging/WPSharedLogging.m | 2 +- .../Private/WPShared-Swift.h | 0 .../Private/WPSharedLoggingPrivate.h | 0 .../Private/WPSharedLoggingPrivate.m | 0 .../Resources/NotoSerif-Bold.ttf | Bin .../Resources/NotoSerif-BoldItalic.ttf | Bin .../Resources/NotoSerif-Italic.ttf | Bin .../Resources/NotoSerif-Regular.ttf | Bin .../WordPressSharedObjC}/Utility/DateUtils.h | 0 .../WordPressSharedObjC}/Utility/DateUtils.m | 0 .../Utility/DisplayableImageHelper.h | 0 .../Utility/DisplayableImageHelper.m | 0 .../Utility/NSBundle+VersionNumberHelper.h | 0 .../Utility/NSBundle+VersionNumberHelper.m | 0 .../Utility/NSString+Helpers.h | 0 .../Utility/NSString+Helpers.m | 2 +- .../Utility/NSString+Util.h | 0 .../Utility/NSString+Util.m | 0 .../Utility/NSString+XMLExtensions.h | 0 .../Utility/NSString+XMLExtensions.m | 0 .../Utility/PhotonImageURLHelper.h | 0 .../Utility/PhotonImageURLHelper.m | 0 .../Utility/UIDevice+Helpers.h | 0 .../Utility/UIDevice+Helpers.m | 0 .../Utility/WPDeviceIdentification.h | 0 .../Utility/WPDeviceIdentification.m | 0 .../Utility/WPFontManager.h | 0 .../Utility/WPFontManager.m | 12 +- .../Utility/WPImageSource.h | 0 .../Utility/WPImageSource.m | 2 +- .../Utility/WPMapFilterReduce.h | 0 .../Utility/WPMapFilterReduce.m | 0 .../WordPressSharedObjC}/Views/WPNUXUtility.h | 0 .../WordPressSharedObjC}/Views/WPNUXUtility.m | 0 .../WordPressSharedObjC}/Views/WPStyleGuide.h | 0 .../WordPressSharedObjC}/Views/WPStyleGuide.m | 3 +- .../Views/WPTableViewCell.h | 0 .../Views/WPTableViewCell.m | 6 - .../Views/WPTextFieldTableViewCell.h | 0 .../Views/WPTextFieldTableViewCell.m | 0 .../WordPressSharedObjC}/WordPressShared.h | 0 .../WordPressSharedObjC/include/DateUtils.h | 1 + .../include/DisplayableImageHelper.h | 1 + .../include/NSBundle+VersionNumberHelper.h | 1 + .../include/NSString+Helpers.h | 1 + .../include/NSString+Util.h | 1 + .../include/NSString+XMLExtensions.h | 1 + .../include/PhotonImageURLHelper.h | 1 + .../include/UIDevice+Helpers.h | 1 + .../WordPressSharedObjC/include/WPAnalytics.h | 1 + .../include/WPDeviceIdentification.h | 1 + .../include/WPFontManager.h | 1 + .../include/WPImageSource.h | 1 + .../include/WPMapFilterReduce.h | 1 + .../include/WPNUXUtility.h | 1 + .../include/WPSharedLogging.h | 1 + .../include/WPStyleGuide.h | 1 + .../include/WPTableViewCell.h | 1 + .../include/WPTextFieldTableViewCell.h | 1 + .../DisplayableImageHelperTest.m | 0 .../NSStringHelpersTests.m | 0 .../NSStringSwiftTests.m | 4 - .../PhotonImageURLHelperTest.m | 0 .../Resources}/anim-reader.gif | Bin .../Resources}/test-image.jpg | Bin .../TestAnalyticsTracker.h | 0 .../TestAnalyticsTracker.m | 0 .../WPImageSourceTest.m | 0 .../WPMapFilterReduceTest.m | 0 .../WordPressSharedTests-Bridging-Header.h | 0 .../DebouncerTests.swift | 0 .../DictionaryHelpersTests.swift | 0 .../EmailFormatValidatorTests.swift | 0 .../EmailTypoCheckerTests.swift | 0 .../LanguagesTests.swift | 0 .../NSDateHelperTest.swift | 0 .../NSStringSummaryTests.swift | 0 .../RichContentFormatterTests.swift | 0 .../WordPressSharedTests}/SecretTests.swift | 0 .../StringHelperTests.swift | 0 .../StringRemovingMatchesTests.swift | 0 ...StripGutenbergContentForExcerptTests.swift | 0 .../StringURLValidationTests.swift | 0 .../WPAnalyticsTests.swift | 0 WordPressShared.podspec | 16 +- WordPressShared/Info.plist | 26 ---- WordPressShared/WordPressShared.swift | 12 -- WordPressSharedTests/Info.plist | 22 --- 117 files changed, 62 insertions(+), 230 deletions(-) rename {WordPressShared/Core => Sources/WordPressShared}/Analytics/AnalyticsEvent.swift (97%) rename {WordPressShared/Core => Sources/WordPressShared}/Logging/CocoaLumberjack.swift (100%) rename {WordPressShared => Sources/WordPressShared}/Resources/Languages.json (100%) rename {WordPressShared/Core => Sources/WordPressShared}/Utility/CollectionType+Helpers.swift (100%) rename {WordPressShared/Core => Sources/WordPressShared}/Utility/Debouncer.swift (100%) rename {WordPressShared/Core => Sources/WordPressShared}/Utility/Dictionary+Helpers.swift (100%) rename {WordPressShared/Core => Sources/WordPressShared}/Utility/EmailFormatValidator.swift (100%) rename {WordPressShared/Core => Sources/WordPressShared}/Utility/EmailTypoChecker.swift (100%) rename {WordPressShared/Core => Sources/WordPressShared}/Utility/Languages.swift (99%) rename {WordPressShared/Core => Sources/WordPressShared}/Utility/NSBundle+WordPressShared.swift (100%) rename {WordPressShared/Core => Sources/WordPressShared}/Utility/NSDate+Helpers.swift (100%) rename {WordPressShared/Core => Sources/WordPressShared}/Utility/NSMutableData+Helpers.swift (100%) rename {WordPressShared/Core => Sources/WordPressShared}/Utility/NSString+Summary.swift (100%) rename {WordPressShared/Core => Sources/WordPressShared}/Utility/NSString+Swift.swift (100%) rename {WordPressShared/Core => Sources/WordPressShared}/Utility/RichContentFormatter.swift (99%) rename {WordPressShared/Core => Sources/WordPressShared}/Utility/Secret.swift (100%) rename {WordPressShared/Core => Sources/WordPressShared}/Utility/String+Helpers.swift (99%) rename {WordPressShared/Core => Sources/WordPressShared}/Utility/String+RemovingMatches.swift (100%) rename {WordPressShared/Core => Sources/WordPressShared}/Utility/String+StripGutenbergContentForExcerpt.swift (100%) rename {WordPressShared/Core => Sources/WordPressShared}/Utility/String+StripShortcodes.swift (100%) rename {WordPressShared/Core => Sources/WordPressShared}/Utility/String+URLValidation.swift (100%) rename {WordPressShared/Core => Sources/WordPressShared}/Utility/WPImageURLHelper.swift (100%) rename {WordPressShared/Core => Sources/WordPressShared}/Views/WPStyleGuide+DynamicType.swift (99%) rename {WordPressShared/Core => Sources/WordPressShared}/Views/WPStyleGuide+SerifFonts.swift (97%) create mode 100644 Sources/WordPressShared/WordPressShared.swift rename {WordPressShared/Core => Sources/WordPressSharedObjC}/Analytics/WPAnalytics.h (100%) rename {WordPressShared/Core => Sources/WordPressSharedObjC}/Analytics/WPAnalytics.m (100%) rename {WordPressShared/Core => Sources/WordPressSharedObjC}/Logging/WPSharedLogging.h (100%) rename {WordPressShared/Core => Sources/WordPressSharedObjC}/Logging/WPSharedLogging.m (83%) rename {WordPressShared => Sources/WordPressSharedObjC}/Private/WPShared-Swift.h (100%) rename {WordPressShared => Sources/WordPressSharedObjC}/Private/WPSharedLoggingPrivate.h (100%) rename {WordPressShared => Sources/WordPressSharedObjC}/Private/WPSharedLoggingPrivate.m (100%) rename {WordPressShared => Sources/WordPressSharedObjC}/Resources/NotoSerif-Bold.ttf (100%) rename {WordPressShared => Sources/WordPressSharedObjC}/Resources/NotoSerif-BoldItalic.ttf (100%) rename {WordPressShared => Sources/WordPressSharedObjC}/Resources/NotoSerif-Italic.ttf (100%) rename {WordPressShared => Sources/WordPressSharedObjC}/Resources/NotoSerif-Regular.ttf (100%) rename {WordPressShared/Core => Sources/WordPressSharedObjC}/Utility/DateUtils.h (100%) rename {WordPressShared/Core => Sources/WordPressSharedObjC}/Utility/DateUtils.m (100%) rename {WordPressShared/Core => Sources/WordPressSharedObjC}/Utility/DisplayableImageHelper.h (100%) rename {WordPressShared/Core => Sources/WordPressSharedObjC}/Utility/DisplayableImageHelper.m (100%) rename {WordPressShared/Core => Sources/WordPressSharedObjC}/Utility/NSBundle+VersionNumberHelper.h (100%) rename {WordPressShared/Core => Sources/WordPressSharedObjC}/Utility/NSBundle+VersionNumberHelper.m (100%) rename {WordPressShared/Core => Sources/WordPressSharedObjC}/Utility/NSString+Helpers.h (100%) rename {WordPressShared/Core => Sources/WordPressSharedObjC}/Utility/NSString+Helpers.m (99%) rename {WordPressShared/Core => Sources/WordPressSharedObjC}/Utility/NSString+Util.h (100%) rename {WordPressShared/Core => Sources/WordPressSharedObjC}/Utility/NSString+Util.m (100%) rename {WordPressShared/Core => Sources/WordPressSharedObjC}/Utility/NSString+XMLExtensions.h (100%) rename {WordPressShared/Core => Sources/WordPressSharedObjC}/Utility/NSString+XMLExtensions.m (100%) rename {WordPressShared/Core => Sources/WordPressSharedObjC}/Utility/PhotonImageURLHelper.h (100%) rename {WordPressShared/Core => Sources/WordPressSharedObjC}/Utility/PhotonImageURLHelper.m (100%) rename {WordPressShared/Core => Sources/WordPressSharedObjC}/Utility/UIDevice+Helpers.h (100%) rename {WordPressShared/Core => Sources/WordPressSharedObjC}/Utility/UIDevice+Helpers.m (100%) rename {WordPressShared/Core => Sources/WordPressSharedObjC}/Utility/WPDeviceIdentification.h (100%) rename {WordPressShared/Core => Sources/WordPressSharedObjC}/Utility/WPDeviceIdentification.m (100%) rename {WordPressShared/Core => Sources/WordPressSharedObjC}/Utility/WPFontManager.h (100%) rename {WordPressShared/Core => Sources/WordPressSharedObjC}/Utility/WPFontManager.m (97%) rename {WordPressShared/Core => Sources/WordPressSharedObjC}/Utility/WPImageSource.h (100%) rename {WordPressShared/Core => Sources/WordPressSharedObjC}/Utility/WPImageSource.m (99%) rename {WordPressShared/Core => Sources/WordPressSharedObjC}/Utility/WPMapFilterReduce.h (100%) rename {WordPressShared/Core => Sources/WordPressSharedObjC}/Utility/WPMapFilterReduce.m (100%) rename {WordPressShared/Core => Sources/WordPressSharedObjC}/Views/WPNUXUtility.h (100%) rename {WordPressShared/Core => Sources/WordPressSharedObjC}/Views/WPNUXUtility.m (100%) rename {WordPressShared/Core => Sources/WordPressSharedObjC}/Views/WPStyleGuide.h (100%) rename {WordPressShared/Core => Sources/WordPressSharedObjC}/Views/WPStyleGuide.m (99%) rename {WordPressShared/Core => Sources/WordPressSharedObjC}/Views/WPTableViewCell.h (100%) rename {WordPressShared/Core => Sources/WordPressSharedObjC}/Views/WPTableViewCell.m (95%) rename {WordPressShared/Core => Sources/WordPressSharedObjC}/Views/WPTextFieldTableViewCell.h (100%) rename {WordPressShared/Core => Sources/WordPressSharedObjC}/Views/WPTextFieldTableViewCell.m (100%) rename {WordPressShared => Sources/WordPressSharedObjC}/WordPressShared.h (100%) create mode 120000 Sources/WordPressSharedObjC/include/DateUtils.h create mode 120000 Sources/WordPressSharedObjC/include/DisplayableImageHelper.h create mode 120000 Sources/WordPressSharedObjC/include/NSBundle+VersionNumberHelper.h create mode 120000 Sources/WordPressSharedObjC/include/NSString+Helpers.h create mode 120000 Sources/WordPressSharedObjC/include/NSString+Util.h create mode 120000 Sources/WordPressSharedObjC/include/NSString+XMLExtensions.h create mode 120000 Sources/WordPressSharedObjC/include/PhotonImageURLHelper.h create mode 120000 Sources/WordPressSharedObjC/include/UIDevice+Helpers.h create mode 120000 Sources/WordPressSharedObjC/include/WPAnalytics.h create mode 120000 Sources/WordPressSharedObjC/include/WPDeviceIdentification.h create mode 120000 Sources/WordPressSharedObjC/include/WPFontManager.h create mode 120000 Sources/WordPressSharedObjC/include/WPImageSource.h create mode 120000 Sources/WordPressSharedObjC/include/WPMapFilterReduce.h create mode 120000 Sources/WordPressSharedObjC/include/WPNUXUtility.h create mode 120000 Sources/WordPressSharedObjC/include/WPSharedLogging.h create mode 120000 Sources/WordPressSharedObjC/include/WPStyleGuide.h create mode 120000 Sources/WordPressSharedObjC/include/WPTableViewCell.h create mode 120000 Sources/WordPressSharedObjC/include/WPTextFieldTableViewCell.h rename {WordPressSharedTests => Tests/WordPressSharedObjCTests}/DisplayableImageHelperTest.m (100%) rename {WordPressSharedTests => Tests/WordPressSharedObjCTests}/NSStringHelpersTests.m (100%) rename {WordPressSharedTests => Tests/WordPressSharedObjCTests}/NSStringSwiftTests.m (97%) rename {WordPressSharedTests => Tests/WordPressSharedObjCTests}/PhotonImageURLHelperTest.m (100%) rename {WordPressSharedTests => Tests/WordPressSharedObjCTests/Resources}/anim-reader.gif (100%) rename {WordPressSharedTests => Tests/WordPressSharedObjCTests/Resources}/test-image.jpg (100%) rename {WordPressSharedTests => Tests/WordPressSharedObjCTests}/TestAnalyticsTracker.h (100%) rename {WordPressSharedTests => Tests/WordPressSharedObjCTests}/TestAnalyticsTracker.m (100%) rename {WordPressSharedTests => Tests/WordPressSharedObjCTests}/WPImageSourceTest.m (100%) rename {WordPressSharedTests => Tests/WordPressSharedObjCTests}/WPMapFilterReduceTest.m (100%) rename {WordPressSharedTests => Tests/WordPressSharedObjCTests}/WordPressSharedTests-Bridging-Header.h (100%) rename {WordPressSharedTests => Tests/WordPressSharedTests}/DebouncerTests.swift (100%) rename {WordPressSharedTests => Tests/WordPressSharedTests}/DictionaryHelpersTests.swift (100%) rename {WordPressSharedTests => Tests/WordPressSharedTests}/EmailFormatValidatorTests.swift (100%) rename {WordPressSharedTests => Tests/WordPressSharedTests}/EmailTypoCheckerTests.swift (100%) rename {WordPressSharedTests => Tests/WordPressSharedTests}/LanguagesTests.swift (100%) rename {WordPressSharedTests => Tests/WordPressSharedTests}/NSDateHelperTest.swift (100%) rename {WordPressSharedTests => Tests/WordPressSharedTests}/NSStringSummaryTests.swift (100%) rename {WordPressSharedTests => Tests/WordPressSharedTests}/RichContentFormatterTests.swift (100%) rename {WordPressSharedTests => Tests/WordPressSharedTests}/SecretTests.swift (100%) rename {WordPressSharedTests => Tests/WordPressSharedTests}/StringHelperTests.swift (100%) rename {WordPressSharedTests => Tests/WordPressSharedTests}/StringRemovingMatchesTests.swift (100%) rename {WordPressSharedTests => Tests/WordPressSharedTests}/StringStripGutenbergContentForExcerptTests.swift (100%) rename {WordPressSharedTests => Tests/WordPressSharedTests}/StringURLValidationTests.swift (100%) rename {WordPressSharedTests => Tests/WordPressSharedTests}/WPAnalyticsTests.swift (100%) delete mode 100644 WordPressShared/Info.plist delete mode 100644 WordPressShared/WordPressShared.swift delete mode 100644 WordPressSharedTests/Info.plist diff --git a/Package.swift b/Package.swift index c0c29a5..c5e0643 100644 --- a/Package.swift +++ b/Package.swift @@ -18,134 +18,32 @@ let package = Package( ], targets: [ .target( - name: "WordPressSharedAnalyticsObjC", - path: "WordPressShared/Core/Analytics", - sources: ["WPAnalytics.m"], - publicHeadersPath: "." - ), - .target( - name: "WordPressSharedAnalytics", - dependencies: [.target(name: "WordPressSharedAnalyticsObjC")], - path: "WordPressShared/Core/Analytics", - sources: ["AnalyticsEvent.swift"] - ), - .target( - name: "WordPressSharedLoggingObjCPrivate", - dependencies: [.product(name: "CocoaLumberjack", package: "CocoaLumberjack")], - path: "WordPressShared/Private", - sources: ["WPSharedLoggingPrivate.m",], - publicHeadersPath: "." - ), - .target( - name: "WordPressSharedLoggingObjC", - dependencies: [.target(name: "WordPressSharedLoggingObjCPrivate")], - path: "WordPressShared/Core/Logging", - sources: ["WPSharedLogging.m"], - publicHeadersPath: "." - ), - .target( - name: "WordPressSharedUtlityObjC", + name: "WordPressSharedObjC", dependencies: [ - .target(name: "WordPressSharedLoggingObjCPrivate"), - .target(name: "WordPressSharedResources"), - ], - path: "WordPressShared/Core/Utility", - sources: [ - "PhotonImageURLHelper.m", - "NSString+Helpers.m", - "DisplayableImageHelper.m", - "NSString+XMLExtensions.m", - "WPFontManager.m", - "DateUtils.m", - "WPDeviceIdentification.m", - "NSString+Util.m", - "UIDevice+Helpers.m", - "NSBundle+VersionNumberHelper.m", - "WPImageSource.m", - "WPMapFilterReduce.m", - ], - publicHeadersPath: "." - ), - .target( - name: "WordPressSharedResources", - dependencies: [.product(name: "CocoaLumberjackSwift", package: "CocoaLumberjack")], - path: "WordPressShared", - sources: [ - "Core/Utility/NSBundle+WordPressShared.swift", + .product(name: "CocoaLumberjack", package: "CocoaLumberjack"), ], resources: [.process("Resources")] ), .target( - name: "WordPressSharedUtlity", + name: "WordPressShared", dependencies: [ + .target(name: "WordPressSharedObjC"), .product(name: "CocoaLumberjackSwift", package: "CocoaLumberjack"), - .target(name: "WordPressSharedUtlityObjC"), - .target(name: "WordPressSharedResources"), - ], - path: "WordPressShared/Core/Utility", - sources: [ - "String+StripGutenbergContentForExcerpt.swift", - "EmailFormatValidator.swift", - "String+RemovingMatches.swift", - "EmailTypoChecker.swift", - "Dictionary+Helpers.swift", - "Secret.swift", - "WPImageURLHelper.swift", - "NSDate+Helpers.swift", - "CollectionType+Helpers.swift", - "NSString+Summary.swift", - "String+StripShortcodes.swift", - "RichContentFormatter.swift", - "String+URLValidation.swift", - "Debouncer.swift", - "Languages.swift", - "NSString+Swift.swift", - "NSMutableData+Helpers.swift", - "String+Helpers.swift", - ] - ), - .target( - name: "WordPressSharedViewObjC", - dependencies: [ - .target(name: "WordPressSharedUtlityObjC") ], - path: "WordPressShared/Core/Views", - sources: [ - "WPStyleGuide.m", - "WPTextFieldTableViewCell.m", - "WPTableViewCell.m", - "WPNUXUtility.m", - ], - publicHeadersPath: "." + resources: [.process("Resources")] ), - .target( - name: "WordPressSharedView", + .testTarget( + name: "WordPressSharedTests", dependencies: [ - .target(name: "WordPressSharedViewObjC"), - ], - path: "WordPressShared/Core/Views", - sources: [ - "WPStyleGuide+SerifFonts.swift", - "WPStyleGuide+DynamicType.swift", + .target(name: "WordPressShared"), + .product(name: "OCMock", package: "ocmock"), + .product(name: "BuildkiteTestCollector", package: "test-collector-swift"), + "Quick", + "OHHTTPStubs", ] ), - .target( - name: "WordPressShared", - dependencies: [ - .target(name: "WordPressSharedAnalyticsObjC"), - .target(name: "WordPressSharedAnalytics"), - .target(name: "WordPressSharedLoggingObjC"), - .target(name: "WordPressSharedUtlityObjC"), - .target(name: "WordPressSharedResources"), - .target(name: "WordPressSharedUtlity"), - .target(name: "WordPressSharedViewObjC"), - .target(name: "WordPressSharedView"), - ], - path: "WordPressShared", - sources: ["WordPressShared.swift"] - ), .testTarget( - name: "WordPressSharedTests", + name: "WordPressSharedObjCTests", dependencies: [ .target(name: "WordPressShared"), .product(name: "OCMock", package: "ocmock"), @@ -153,21 +51,7 @@ let package = Package( "Quick", "OHHTTPStubs", ], - path: "WordPressSharedTests", - sources: [ - "WPImageSourceTest.m", - "TestAnalyticsTracker.m", - "PhotonImageURLHelperTest.m", - "DisplayableImageHelperTest.m", - "NSStringHelpersTests.m", - "WPAnalyticsTests.m", - "NSStringSwiftTests.m", - "WPMapFilterReduceTest.m", - ], - resources: [ - .copy("anim-reader.gif"), - .copy("test-image.jpg"), - ] - ) + resources: [.process("Resources")] + ), ] ) diff --git a/WordPressShared/Core/Analytics/AnalyticsEvent.swift b/Sources/WordPressShared/Analytics/AnalyticsEvent.swift similarity index 97% rename from WordPressShared/Core/Analytics/AnalyticsEvent.swift rename to Sources/WordPressShared/Analytics/AnalyticsEvent.swift index d7c4718..dc409ae 100644 --- a/WordPressShared/Core/Analytics/AnalyticsEvent.swift +++ b/Sources/WordPressShared/Analytics/AnalyticsEvent.swift @@ -1,7 +1,7 @@ import Foundation #if SWIFT_PACKAGE -import WordPressSharedAnalyticsObjC +import WordPressSharedObjC #endif /// This struct represents an analytics event. diff --git a/WordPressShared/Core/Logging/CocoaLumberjack.swift b/Sources/WordPressShared/Logging/CocoaLumberjack.swift similarity index 100% rename from WordPressShared/Core/Logging/CocoaLumberjack.swift rename to Sources/WordPressShared/Logging/CocoaLumberjack.swift diff --git a/WordPressShared/Resources/Languages.json b/Sources/WordPressShared/Resources/Languages.json similarity index 100% rename from WordPressShared/Resources/Languages.json rename to Sources/WordPressShared/Resources/Languages.json diff --git a/WordPressShared/Core/Utility/CollectionType+Helpers.swift b/Sources/WordPressShared/Utility/CollectionType+Helpers.swift similarity index 100% rename from WordPressShared/Core/Utility/CollectionType+Helpers.swift rename to Sources/WordPressShared/Utility/CollectionType+Helpers.swift diff --git a/WordPressShared/Core/Utility/Debouncer.swift b/Sources/WordPressShared/Utility/Debouncer.swift similarity index 100% rename from WordPressShared/Core/Utility/Debouncer.swift rename to Sources/WordPressShared/Utility/Debouncer.swift diff --git a/WordPressShared/Core/Utility/Dictionary+Helpers.swift b/Sources/WordPressShared/Utility/Dictionary+Helpers.swift similarity index 100% rename from WordPressShared/Core/Utility/Dictionary+Helpers.swift rename to Sources/WordPressShared/Utility/Dictionary+Helpers.swift diff --git a/WordPressShared/Core/Utility/EmailFormatValidator.swift b/Sources/WordPressShared/Utility/EmailFormatValidator.swift similarity index 100% rename from WordPressShared/Core/Utility/EmailFormatValidator.swift rename to Sources/WordPressShared/Utility/EmailFormatValidator.swift diff --git a/WordPressShared/Core/Utility/EmailTypoChecker.swift b/Sources/WordPressShared/Utility/EmailTypoChecker.swift similarity index 100% rename from WordPressShared/Core/Utility/EmailTypoChecker.swift rename to Sources/WordPressShared/Utility/EmailTypoChecker.swift diff --git a/WordPressShared/Core/Utility/Languages.swift b/Sources/WordPressShared/Utility/Languages.swift similarity index 99% rename from WordPressShared/Core/Utility/Languages.swift rename to Sources/WordPressShared/Utility/Languages.swift index cc545c3..7626a07 100644 --- a/WordPressShared/Core/Utility/Languages.swift +++ b/Sources/WordPressShared/Utility/Languages.swift @@ -1,9 +1,5 @@ import Foundation -#if SWIFT_PACKAGE -import WordPressSharedResources -#endif - /// This helper class allows us to map WordPress.com LanguageID's into human readable language strings. /// public class WordPressComLanguageDatabase: NSObject { diff --git a/WordPressShared/Core/Utility/NSBundle+WordPressShared.swift b/Sources/WordPressShared/Utility/NSBundle+WordPressShared.swift similarity index 100% rename from WordPressShared/Core/Utility/NSBundle+WordPressShared.swift rename to Sources/WordPressShared/Utility/NSBundle+WordPressShared.swift diff --git a/WordPressShared/Core/Utility/NSDate+Helpers.swift b/Sources/WordPressShared/Utility/NSDate+Helpers.swift similarity index 100% rename from WordPressShared/Core/Utility/NSDate+Helpers.swift rename to Sources/WordPressShared/Utility/NSDate+Helpers.swift diff --git a/WordPressShared/Core/Utility/NSMutableData+Helpers.swift b/Sources/WordPressShared/Utility/NSMutableData+Helpers.swift similarity index 100% rename from WordPressShared/Core/Utility/NSMutableData+Helpers.swift rename to Sources/WordPressShared/Utility/NSMutableData+Helpers.swift diff --git a/WordPressShared/Core/Utility/NSString+Summary.swift b/Sources/WordPressShared/Utility/NSString+Summary.swift similarity index 100% rename from WordPressShared/Core/Utility/NSString+Summary.swift rename to Sources/WordPressShared/Utility/NSString+Summary.swift diff --git a/WordPressShared/Core/Utility/NSString+Swift.swift b/Sources/WordPressShared/Utility/NSString+Swift.swift similarity index 100% rename from WordPressShared/Core/Utility/NSString+Swift.swift rename to Sources/WordPressShared/Utility/NSString+Swift.swift diff --git a/WordPressShared/Core/Utility/RichContentFormatter.swift b/Sources/WordPressShared/Utility/RichContentFormatter.swift similarity index 99% rename from WordPressShared/Core/Utility/RichContentFormatter.swift rename to Sources/WordPressShared/Utility/RichContentFormatter.swift index 34fc047..c9b6c16 100644 --- a/WordPressShared/Core/Utility/RichContentFormatter.swift +++ b/Sources/WordPressShared/Utility/RichContentFormatter.swift @@ -2,7 +2,7 @@ import Foundation import UIKit #if SWIFT_PACKAGE -import WordPressSharedUtlityObjC +import WordPressSharedObjC #endif /// Contains methods for formatting post or comment content for display. diff --git a/WordPressShared/Core/Utility/Secret.swift b/Sources/WordPressShared/Utility/Secret.swift similarity index 100% rename from WordPressShared/Core/Utility/Secret.swift rename to Sources/WordPressShared/Utility/Secret.swift diff --git a/WordPressShared/Core/Utility/String+Helpers.swift b/Sources/WordPressShared/Utility/String+Helpers.swift similarity index 99% rename from WordPressShared/Core/Utility/String+Helpers.swift rename to Sources/WordPressShared/Utility/String+Helpers.swift index 43a5e7f..9fef6e6 100644 --- a/WordPressShared/Core/Utility/String+Helpers.swift +++ b/Sources/WordPressShared/Utility/String+Helpers.swift @@ -1,7 +1,7 @@ import Foundation #if SWIFT_PACKAGE -import WordPressSharedUtlityObjC +import WordPressSharedObjC #endif extension String { diff --git a/WordPressShared/Core/Utility/String+RemovingMatches.swift b/Sources/WordPressShared/Utility/String+RemovingMatches.swift similarity index 100% rename from WordPressShared/Core/Utility/String+RemovingMatches.swift rename to Sources/WordPressShared/Utility/String+RemovingMatches.swift diff --git a/WordPressShared/Core/Utility/String+StripGutenbergContentForExcerpt.swift b/Sources/WordPressShared/Utility/String+StripGutenbergContentForExcerpt.swift similarity index 100% rename from WordPressShared/Core/Utility/String+StripGutenbergContentForExcerpt.swift rename to Sources/WordPressShared/Utility/String+StripGutenbergContentForExcerpt.swift diff --git a/WordPressShared/Core/Utility/String+StripShortcodes.swift b/Sources/WordPressShared/Utility/String+StripShortcodes.swift similarity index 100% rename from WordPressShared/Core/Utility/String+StripShortcodes.swift rename to Sources/WordPressShared/Utility/String+StripShortcodes.swift diff --git a/WordPressShared/Core/Utility/String+URLValidation.swift b/Sources/WordPressShared/Utility/String+URLValidation.swift similarity index 100% rename from WordPressShared/Core/Utility/String+URLValidation.swift rename to Sources/WordPressShared/Utility/String+URLValidation.swift diff --git a/WordPressShared/Core/Utility/WPImageURLHelper.swift b/Sources/WordPressShared/Utility/WPImageURLHelper.swift similarity index 100% rename from WordPressShared/Core/Utility/WPImageURLHelper.swift rename to Sources/WordPressShared/Utility/WPImageURLHelper.swift diff --git a/WordPressShared/Core/Views/WPStyleGuide+DynamicType.swift b/Sources/WordPressShared/Views/WPStyleGuide+DynamicType.swift similarity index 99% rename from WordPressShared/Core/Views/WPStyleGuide+DynamicType.swift rename to Sources/WordPressShared/Views/WPStyleGuide+DynamicType.swift index 503aaa3..23f06c7 100644 --- a/WordPressShared/Core/Views/WPStyleGuide+DynamicType.swift +++ b/Sources/WordPressShared/Views/WPStyleGuide+DynamicType.swift @@ -2,8 +2,7 @@ import Foundation import UIKit #if SWIFT_PACKAGE -import WordPressSharedViewObjC -import WordPressSharedUtlityObjC +import WordPressSharedObjC #endif /// Extension on WPStyleGuide to use Dynamic Type fonts. diff --git a/WordPressShared/Core/Views/WPStyleGuide+SerifFonts.swift b/Sources/WordPressShared/Views/WPStyleGuide+SerifFonts.swift similarity index 97% rename from WordPressShared/Core/Views/WPStyleGuide+SerifFonts.swift rename to Sources/WordPressShared/Views/WPStyleGuide+SerifFonts.swift index 3e18726..888c891 100644 --- a/WordPressShared/Core/Views/WPStyleGuide+SerifFonts.swift +++ b/Sources/WordPressShared/Views/WPStyleGuide+SerifFonts.swift @@ -2,8 +2,7 @@ import Foundation import UIKit #if SWIFT_PACKAGE -import WordPressSharedViewObjC -//import WordPressSharedUtlityObjC +import WordPressSharedObjC #endif /// WPStyleGuide Extension to use serif fonts. diff --git a/Sources/WordPressShared/WordPressShared.swift b/Sources/WordPressShared/WordPressShared.swift new file mode 100644 index 0000000..eb706b8 --- /dev/null +++ b/Sources/WordPressShared/WordPressShared.swift @@ -0,0 +1,5 @@ +#if SWIFT_PACKAGE + +@_exported import WordPressSharedObjC + +#endif /* SWIFT_PACKAGE */ diff --git a/WordPressShared/Core/Analytics/WPAnalytics.h b/Sources/WordPressSharedObjC/Analytics/WPAnalytics.h similarity index 100% rename from WordPressShared/Core/Analytics/WPAnalytics.h rename to Sources/WordPressSharedObjC/Analytics/WPAnalytics.h diff --git a/WordPressShared/Core/Analytics/WPAnalytics.m b/Sources/WordPressSharedObjC/Analytics/WPAnalytics.m similarity index 100% rename from WordPressShared/Core/Analytics/WPAnalytics.m rename to Sources/WordPressSharedObjC/Analytics/WPAnalytics.m diff --git a/WordPressShared/Core/Logging/WPSharedLogging.h b/Sources/WordPressSharedObjC/Logging/WPSharedLogging.h similarity index 100% rename from WordPressShared/Core/Logging/WPSharedLogging.h rename to Sources/WordPressSharedObjC/Logging/WPSharedLogging.h diff --git a/WordPressShared/Core/Logging/WPSharedLogging.m b/Sources/WordPressSharedObjC/Logging/WPSharedLogging.m similarity index 83% rename from WordPressShared/Core/Logging/WPSharedLogging.m rename to Sources/WordPressSharedObjC/Logging/WPSharedLogging.m index c32aebb..5c17759 100644 --- a/WordPressShared/Core/Logging/WPSharedLogging.m +++ b/Sources/WordPressSharedObjC/Logging/WPSharedLogging.m @@ -1,7 +1,7 @@ #import "WPSharedLogging.h" #if SWIFT_PACKAGE -@import WordPressSharedLoggingObjCPrivate; +#import "../Private/WPSharedLoggingPrivate.h" #else #import "WPSharedLoggingPrivate.h" #endif diff --git a/WordPressShared/Private/WPShared-Swift.h b/Sources/WordPressSharedObjC/Private/WPShared-Swift.h similarity index 100% rename from WordPressShared/Private/WPShared-Swift.h rename to Sources/WordPressSharedObjC/Private/WPShared-Swift.h diff --git a/WordPressShared/Private/WPSharedLoggingPrivate.h b/Sources/WordPressSharedObjC/Private/WPSharedLoggingPrivate.h similarity index 100% rename from WordPressShared/Private/WPSharedLoggingPrivate.h rename to Sources/WordPressSharedObjC/Private/WPSharedLoggingPrivate.h diff --git a/WordPressShared/Private/WPSharedLoggingPrivate.m b/Sources/WordPressSharedObjC/Private/WPSharedLoggingPrivate.m similarity index 100% rename from WordPressShared/Private/WPSharedLoggingPrivate.m rename to Sources/WordPressSharedObjC/Private/WPSharedLoggingPrivate.m diff --git a/WordPressShared/Resources/NotoSerif-Bold.ttf b/Sources/WordPressSharedObjC/Resources/NotoSerif-Bold.ttf similarity index 100% rename from WordPressShared/Resources/NotoSerif-Bold.ttf rename to Sources/WordPressSharedObjC/Resources/NotoSerif-Bold.ttf diff --git a/WordPressShared/Resources/NotoSerif-BoldItalic.ttf b/Sources/WordPressSharedObjC/Resources/NotoSerif-BoldItalic.ttf similarity index 100% rename from WordPressShared/Resources/NotoSerif-BoldItalic.ttf rename to Sources/WordPressSharedObjC/Resources/NotoSerif-BoldItalic.ttf diff --git a/WordPressShared/Resources/NotoSerif-Italic.ttf b/Sources/WordPressSharedObjC/Resources/NotoSerif-Italic.ttf similarity index 100% rename from WordPressShared/Resources/NotoSerif-Italic.ttf rename to Sources/WordPressSharedObjC/Resources/NotoSerif-Italic.ttf diff --git a/WordPressShared/Resources/NotoSerif-Regular.ttf b/Sources/WordPressSharedObjC/Resources/NotoSerif-Regular.ttf similarity index 100% rename from WordPressShared/Resources/NotoSerif-Regular.ttf rename to Sources/WordPressSharedObjC/Resources/NotoSerif-Regular.ttf diff --git a/WordPressShared/Core/Utility/DateUtils.h b/Sources/WordPressSharedObjC/Utility/DateUtils.h similarity index 100% rename from WordPressShared/Core/Utility/DateUtils.h rename to Sources/WordPressSharedObjC/Utility/DateUtils.h diff --git a/WordPressShared/Core/Utility/DateUtils.m b/Sources/WordPressSharedObjC/Utility/DateUtils.m similarity index 100% rename from WordPressShared/Core/Utility/DateUtils.m rename to Sources/WordPressSharedObjC/Utility/DateUtils.m diff --git a/WordPressShared/Core/Utility/DisplayableImageHelper.h b/Sources/WordPressSharedObjC/Utility/DisplayableImageHelper.h similarity index 100% rename from WordPressShared/Core/Utility/DisplayableImageHelper.h rename to Sources/WordPressSharedObjC/Utility/DisplayableImageHelper.h diff --git a/WordPressShared/Core/Utility/DisplayableImageHelper.m b/Sources/WordPressSharedObjC/Utility/DisplayableImageHelper.m similarity index 100% rename from WordPressShared/Core/Utility/DisplayableImageHelper.m rename to Sources/WordPressSharedObjC/Utility/DisplayableImageHelper.m diff --git a/WordPressShared/Core/Utility/NSBundle+VersionNumberHelper.h b/Sources/WordPressSharedObjC/Utility/NSBundle+VersionNumberHelper.h similarity index 100% rename from WordPressShared/Core/Utility/NSBundle+VersionNumberHelper.h rename to Sources/WordPressSharedObjC/Utility/NSBundle+VersionNumberHelper.h diff --git a/WordPressShared/Core/Utility/NSBundle+VersionNumberHelper.m b/Sources/WordPressSharedObjC/Utility/NSBundle+VersionNumberHelper.m similarity index 100% rename from WordPressShared/Core/Utility/NSBundle+VersionNumberHelper.m rename to Sources/WordPressSharedObjC/Utility/NSBundle+VersionNumberHelper.m diff --git a/WordPressShared/Core/Utility/NSString+Helpers.h b/Sources/WordPressSharedObjC/Utility/NSString+Helpers.h similarity index 100% rename from WordPressShared/Core/Utility/NSString+Helpers.h rename to Sources/WordPressSharedObjC/Utility/NSString+Helpers.h diff --git a/WordPressShared/Core/Utility/NSString+Helpers.m b/Sources/WordPressSharedObjC/Utility/NSString+Helpers.m similarity index 99% rename from WordPressShared/Core/Utility/NSString+Helpers.m rename to Sources/WordPressSharedObjC/Utility/NSString+Helpers.m index 86eade0..ac609c3 100644 --- a/WordPressShared/Core/Utility/NSString+Helpers.m +++ b/Sources/WordPressSharedObjC/Utility/NSString+Helpers.m @@ -3,7 +3,7 @@ #import "NSString+XMLExtensions.h" #if SWIFT_PACKAGE -@import WordPressSharedLoggingObjCPrivate; +#import "../Private/WPSharedLoggingPrivate.h" #else #import "WPSharedLoggingPrivate.h" #endif diff --git a/WordPressShared/Core/Utility/NSString+Util.h b/Sources/WordPressSharedObjC/Utility/NSString+Util.h similarity index 100% rename from WordPressShared/Core/Utility/NSString+Util.h rename to Sources/WordPressSharedObjC/Utility/NSString+Util.h diff --git a/WordPressShared/Core/Utility/NSString+Util.m b/Sources/WordPressSharedObjC/Utility/NSString+Util.m similarity index 100% rename from WordPressShared/Core/Utility/NSString+Util.m rename to Sources/WordPressSharedObjC/Utility/NSString+Util.m diff --git a/WordPressShared/Core/Utility/NSString+XMLExtensions.h b/Sources/WordPressSharedObjC/Utility/NSString+XMLExtensions.h similarity index 100% rename from WordPressShared/Core/Utility/NSString+XMLExtensions.h rename to Sources/WordPressSharedObjC/Utility/NSString+XMLExtensions.h diff --git a/WordPressShared/Core/Utility/NSString+XMLExtensions.m b/Sources/WordPressSharedObjC/Utility/NSString+XMLExtensions.m similarity index 100% rename from WordPressShared/Core/Utility/NSString+XMLExtensions.m rename to Sources/WordPressSharedObjC/Utility/NSString+XMLExtensions.m diff --git a/WordPressShared/Core/Utility/PhotonImageURLHelper.h b/Sources/WordPressSharedObjC/Utility/PhotonImageURLHelper.h similarity index 100% rename from WordPressShared/Core/Utility/PhotonImageURLHelper.h rename to Sources/WordPressSharedObjC/Utility/PhotonImageURLHelper.h diff --git a/WordPressShared/Core/Utility/PhotonImageURLHelper.m b/Sources/WordPressSharedObjC/Utility/PhotonImageURLHelper.m similarity index 100% rename from WordPressShared/Core/Utility/PhotonImageURLHelper.m rename to Sources/WordPressSharedObjC/Utility/PhotonImageURLHelper.m diff --git a/WordPressShared/Core/Utility/UIDevice+Helpers.h b/Sources/WordPressSharedObjC/Utility/UIDevice+Helpers.h similarity index 100% rename from WordPressShared/Core/Utility/UIDevice+Helpers.h rename to Sources/WordPressSharedObjC/Utility/UIDevice+Helpers.h diff --git a/WordPressShared/Core/Utility/UIDevice+Helpers.m b/Sources/WordPressSharedObjC/Utility/UIDevice+Helpers.m similarity index 100% rename from WordPressShared/Core/Utility/UIDevice+Helpers.m rename to Sources/WordPressSharedObjC/Utility/UIDevice+Helpers.m diff --git a/WordPressShared/Core/Utility/WPDeviceIdentification.h b/Sources/WordPressSharedObjC/Utility/WPDeviceIdentification.h similarity index 100% rename from WordPressShared/Core/Utility/WPDeviceIdentification.h rename to Sources/WordPressSharedObjC/Utility/WPDeviceIdentification.h diff --git a/WordPressShared/Core/Utility/WPDeviceIdentification.m b/Sources/WordPressSharedObjC/Utility/WPDeviceIdentification.m similarity index 100% rename from WordPressShared/Core/Utility/WPDeviceIdentification.m rename to Sources/WordPressSharedObjC/Utility/WPDeviceIdentification.m diff --git a/WordPressShared/Core/Utility/WPFontManager.h b/Sources/WordPressSharedObjC/Utility/WPFontManager.h similarity index 100% rename from WordPressShared/Core/Utility/WPFontManager.h rename to Sources/WordPressSharedObjC/Utility/WPFontManager.h diff --git a/WordPressShared/Core/Utility/WPFontManager.m b/Sources/WordPressSharedObjC/Utility/WPFontManager.m similarity index 97% rename from WordPressShared/Core/Utility/WPFontManager.m rename to Sources/WordPressSharedObjC/Utility/WPFontManager.m index 711373b..82eb25e 100644 --- a/WordPressShared/Core/Utility/WPFontManager.m +++ b/Sources/WordPressSharedObjC/Utility/WPFontManager.m @@ -1,12 +1,6 @@ #import "WPFontManager.h" #import -#if SWIFT_PACKAGE -@import WordPressSharedResources; -#else -#import "WPShared-Swift.h" -#endif - @implementation WPFontManager static NSString * const FontTypeTTF = @"ttf"; @@ -114,7 +108,11 @@ + (void)loadFontNamed:(NSString *)fontName resourceNamed:(NSString *)resourceNam + (void)loadFontResourceNamed:(NSString *)name withExtension:(NSString *)extension { - NSBundle *bundle = [NSBundle wordPressSharedBundle]; +#if SWIFT_PACKAGE + NSBundle *bundle = SWIFTPM_MODULE_BUNDLE; +#else + NSBundle *bundle = [NSBundle bundleForClass:[self class]]; +#endif NSURL *url = [bundle URLForResource:name withExtension:extension]; CFErrorRef error; diff --git a/WordPressShared/Core/Utility/WPImageSource.h b/Sources/WordPressSharedObjC/Utility/WPImageSource.h similarity index 100% rename from WordPressShared/Core/Utility/WPImageSource.h rename to Sources/WordPressSharedObjC/Utility/WPImageSource.h diff --git a/WordPressShared/Core/Utility/WPImageSource.m b/Sources/WordPressSharedObjC/Utility/WPImageSource.m similarity index 99% rename from WordPressShared/Core/Utility/WPImageSource.m rename to Sources/WordPressSharedObjC/Utility/WPImageSource.m index bab352f..c2371c4 100644 --- a/WordPressShared/Core/Utility/WPImageSource.m +++ b/Sources/WordPressSharedObjC/Utility/WPImageSource.m @@ -1,7 +1,7 @@ #import "WPImageSource.h" #if SWIFT_PACKAGE -@import WordPressSharedLoggingObjCPrivate; +#import "../Private/WPSharedLoggingPrivate.h" #else #import "WPSharedLoggingPrivate.h" #endif diff --git a/WordPressShared/Core/Utility/WPMapFilterReduce.h b/Sources/WordPressSharedObjC/Utility/WPMapFilterReduce.h similarity index 100% rename from WordPressShared/Core/Utility/WPMapFilterReduce.h rename to Sources/WordPressSharedObjC/Utility/WPMapFilterReduce.h diff --git a/WordPressShared/Core/Utility/WPMapFilterReduce.m b/Sources/WordPressSharedObjC/Utility/WPMapFilterReduce.m similarity index 100% rename from WordPressShared/Core/Utility/WPMapFilterReduce.m rename to Sources/WordPressSharedObjC/Utility/WPMapFilterReduce.m diff --git a/WordPressShared/Core/Views/WPNUXUtility.h b/Sources/WordPressSharedObjC/Views/WPNUXUtility.h similarity index 100% rename from WordPressShared/Core/Views/WPNUXUtility.h rename to Sources/WordPressSharedObjC/Views/WPNUXUtility.h diff --git a/WordPressShared/Core/Views/WPNUXUtility.m b/Sources/WordPressSharedObjC/Views/WPNUXUtility.m similarity index 100% rename from WordPressShared/Core/Views/WPNUXUtility.m rename to Sources/WordPressSharedObjC/Views/WPNUXUtility.m diff --git a/WordPressShared/Core/Views/WPStyleGuide.h b/Sources/WordPressSharedObjC/Views/WPStyleGuide.h similarity index 100% rename from WordPressShared/Core/Views/WPStyleGuide.h rename to Sources/WordPressSharedObjC/Views/WPStyleGuide.h diff --git a/WordPressShared/Core/Views/WPStyleGuide.m b/Sources/WordPressSharedObjC/Views/WPStyleGuide.m similarity index 99% rename from WordPressShared/Core/Views/WPStyleGuide.m rename to Sources/WordPressSharedObjC/Views/WPStyleGuide.m index 891693d..e8be8e8 100644 --- a/WordPressShared/Core/Views/WPStyleGuide.m +++ b/Sources/WordPressSharedObjC/Views/WPStyleGuide.m @@ -2,7 +2,6 @@ #import "WPTextFieldTableViewCell.h" #import "WPFontManager.h" #import "WPDeviceIdentification.h" -#import "WPShared-Swift.h" #if SWIFT_PACKAGE @@ -14,6 +13,8 @@ + (UIFont *)fontForTextStyle:(UIFontTextStyle)style maximumPointSize:(CGFloat)po @end +#else +#import "WPShared-Swift.h" #endif @implementation WPStyleGuide diff --git a/WordPressShared/Core/Views/WPTableViewCell.h b/Sources/WordPressSharedObjC/Views/WPTableViewCell.h similarity index 100% rename from WordPressShared/Core/Views/WPTableViewCell.h rename to Sources/WordPressSharedObjC/Views/WPTableViewCell.h diff --git a/WordPressShared/Core/Views/WPTableViewCell.m b/Sources/WordPressSharedObjC/Views/WPTableViewCell.m similarity index 95% rename from WordPressShared/Core/Views/WPTableViewCell.m rename to Sources/WordPressSharedObjC/Views/WPTableViewCell.m index 7779b21..716ed3b 100644 --- a/WordPressShared/Core/Views/WPTableViewCell.m +++ b/Sources/WordPressSharedObjC/Views/WPTableViewCell.m @@ -1,11 +1,5 @@ #import "WPTableViewCell.h" - -#if SWIFT_PACKAGE -@import WordPressSharedUtlityObjC; -#else #import "WPDeviceIdentification.h" -#endif - CGFloat const WPTableViewFixedWidth = 600; diff --git a/WordPressShared/Core/Views/WPTextFieldTableViewCell.h b/Sources/WordPressSharedObjC/Views/WPTextFieldTableViewCell.h similarity index 100% rename from WordPressShared/Core/Views/WPTextFieldTableViewCell.h rename to Sources/WordPressSharedObjC/Views/WPTextFieldTableViewCell.h diff --git a/WordPressShared/Core/Views/WPTextFieldTableViewCell.m b/Sources/WordPressSharedObjC/Views/WPTextFieldTableViewCell.m similarity index 100% rename from WordPressShared/Core/Views/WPTextFieldTableViewCell.m rename to Sources/WordPressSharedObjC/Views/WPTextFieldTableViewCell.m diff --git a/WordPressShared/WordPressShared.h b/Sources/WordPressSharedObjC/WordPressShared.h similarity index 100% rename from WordPressShared/WordPressShared.h rename to Sources/WordPressSharedObjC/WordPressShared.h diff --git a/Sources/WordPressSharedObjC/include/DateUtils.h b/Sources/WordPressSharedObjC/include/DateUtils.h new file mode 120000 index 0000000..aa97a34 --- /dev/null +++ b/Sources/WordPressSharedObjC/include/DateUtils.h @@ -0,0 +1 @@ +../Utility/DateUtils.h \ No newline at end of file diff --git a/Sources/WordPressSharedObjC/include/DisplayableImageHelper.h b/Sources/WordPressSharedObjC/include/DisplayableImageHelper.h new file mode 120000 index 0000000..1ef45c0 --- /dev/null +++ b/Sources/WordPressSharedObjC/include/DisplayableImageHelper.h @@ -0,0 +1 @@ +../Utility/DisplayableImageHelper.h \ No newline at end of file diff --git a/Sources/WordPressSharedObjC/include/NSBundle+VersionNumberHelper.h b/Sources/WordPressSharedObjC/include/NSBundle+VersionNumberHelper.h new file mode 120000 index 0000000..541dc56 --- /dev/null +++ b/Sources/WordPressSharedObjC/include/NSBundle+VersionNumberHelper.h @@ -0,0 +1 @@ +../Utility/NSBundle+VersionNumberHelper.h \ No newline at end of file diff --git a/Sources/WordPressSharedObjC/include/NSString+Helpers.h b/Sources/WordPressSharedObjC/include/NSString+Helpers.h new file mode 120000 index 0000000..279acba --- /dev/null +++ b/Sources/WordPressSharedObjC/include/NSString+Helpers.h @@ -0,0 +1 @@ +../Utility/NSString+Helpers.h \ No newline at end of file diff --git a/Sources/WordPressSharedObjC/include/NSString+Util.h b/Sources/WordPressSharedObjC/include/NSString+Util.h new file mode 120000 index 0000000..6f847d1 --- /dev/null +++ b/Sources/WordPressSharedObjC/include/NSString+Util.h @@ -0,0 +1 @@ +../Utility/NSString+Util.h \ No newline at end of file diff --git a/Sources/WordPressSharedObjC/include/NSString+XMLExtensions.h b/Sources/WordPressSharedObjC/include/NSString+XMLExtensions.h new file mode 120000 index 0000000..dfc7f1c --- /dev/null +++ b/Sources/WordPressSharedObjC/include/NSString+XMLExtensions.h @@ -0,0 +1 @@ +../Utility/NSString+XMLExtensions.h \ No newline at end of file diff --git a/Sources/WordPressSharedObjC/include/PhotonImageURLHelper.h b/Sources/WordPressSharedObjC/include/PhotonImageURLHelper.h new file mode 120000 index 0000000..a6411e4 --- /dev/null +++ b/Sources/WordPressSharedObjC/include/PhotonImageURLHelper.h @@ -0,0 +1 @@ +../Utility/PhotonImageURLHelper.h \ No newline at end of file diff --git a/Sources/WordPressSharedObjC/include/UIDevice+Helpers.h b/Sources/WordPressSharedObjC/include/UIDevice+Helpers.h new file mode 120000 index 0000000..1874252 --- /dev/null +++ b/Sources/WordPressSharedObjC/include/UIDevice+Helpers.h @@ -0,0 +1 @@ +../Utility/UIDevice+Helpers.h \ No newline at end of file diff --git a/Sources/WordPressSharedObjC/include/WPAnalytics.h b/Sources/WordPressSharedObjC/include/WPAnalytics.h new file mode 120000 index 0000000..a0cbf4d --- /dev/null +++ b/Sources/WordPressSharedObjC/include/WPAnalytics.h @@ -0,0 +1 @@ +../Analytics/WPAnalytics.h \ No newline at end of file diff --git a/Sources/WordPressSharedObjC/include/WPDeviceIdentification.h b/Sources/WordPressSharedObjC/include/WPDeviceIdentification.h new file mode 120000 index 0000000..e0f99b3 --- /dev/null +++ b/Sources/WordPressSharedObjC/include/WPDeviceIdentification.h @@ -0,0 +1 @@ +../Utility/WPDeviceIdentification.h \ No newline at end of file diff --git a/Sources/WordPressSharedObjC/include/WPFontManager.h b/Sources/WordPressSharedObjC/include/WPFontManager.h new file mode 120000 index 0000000..6c1f1b8 --- /dev/null +++ b/Sources/WordPressSharedObjC/include/WPFontManager.h @@ -0,0 +1 @@ +../Utility/WPFontManager.h \ No newline at end of file diff --git a/Sources/WordPressSharedObjC/include/WPImageSource.h b/Sources/WordPressSharedObjC/include/WPImageSource.h new file mode 120000 index 0000000..9ee44a4 --- /dev/null +++ b/Sources/WordPressSharedObjC/include/WPImageSource.h @@ -0,0 +1 @@ +../Utility/WPImageSource.h \ No newline at end of file diff --git a/Sources/WordPressSharedObjC/include/WPMapFilterReduce.h b/Sources/WordPressSharedObjC/include/WPMapFilterReduce.h new file mode 120000 index 0000000..d8d85b5 --- /dev/null +++ b/Sources/WordPressSharedObjC/include/WPMapFilterReduce.h @@ -0,0 +1 @@ +../Utility/WPMapFilterReduce.h \ No newline at end of file diff --git a/Sources/WordPressSharedObjC/include/WPNUXUtility.h b/Sources/WordPressSharedObjC/include/WPNUXUtility.h new file mode 120000 index 0000000..ab9d0fb --- /dev/null +++ b/Sources/WordPressSharedObjC/include/WPNUXUtility.h @@ -0,0 +1 @@ +../Views/WPNUXUtility.h \ No newline at end of file diff --git a/Sources/WordPressSharedObjC/include/WPSharedLogging.h b/Sources/WordPressSharedObjC/include/WPSharedLogging.h new file mode 120000 index 0000000..c8dfa19 --- /dev/null +++ b/Sources/WordPressSharedObjC/include/WPSharedLogging.h @@ -0,0 +1 @@ +../Logging/WPSharedLogging.h \ No newline at end of file diff --git a/Sources/WordPressSharedObjC/include/WPStyleGuide.h b/Sources/WordPressSharedObjC/include/WPStyleGuide.h new file mode 120000 index 0000000..4342d3b --- /dev/null +++ b/Sources/WordPressSharedObjC/include/WPStyleGuide.h @@ -0,0 +1 @@ +../Views/WPStyleGuide.h \ No newline at end of file diff --git a/Sources/WordPressSharedObjC/include/WPTableViewCell.h b/Sources/WordPressSharedObjC/include/WPTableViewCell.h new file mode 120000 index 0000000..d70271e --- /dev/null +++ b/Sources/WordPressSharedObjC/include/WPTableViewCell.h @@ -0,0 +1 @@ +../Views/WPTableViewCell.h \ No newline at end of file diff --git a/Sources/WordPressSharedObjC/include/WPTextFieldTableViewCell.h b/Sources/WordPressSharedObjC/include/WPTextFieldTableViewCell.h new file mode 120000 index 0000000..6474983 --- /dev/null +++ b/Sources/WordPressSharedObjC/include/WPTextFieldTableViewCell.h @@ -0,0 +1 @@ +../Views/WPTextFieldTableViewCell.h \ No newline at end of file diff --git a/WordPressSharedTests/DisplayableImageHelperTest.m b/Tests/WordPressSharedObjCTests/DisplayableImageHelperTest.m similarity index 100% rename from WordPressSharedTests/DisplayableImageHelperTest.m rename to Tests/WordPressSharedObjCTests/DisplayableImageHelperTest.m diff --git a/WordPressSharedTests/NSStringHelpersTests.m b/Tests/WordPressSharedObjCTests/NSStringHelpersTests.m similarity index 100% rename from WordPressSharedTests/NSStringHelpersTests.m rename to Tests/WordPressSharedObjCTests/NSStringHelpersTests.m diff --git a/WordPressSharedTests/NSStringSwiftTests.m b/Tests/WordPressSharedObjCTests/NSStringSwiftTests.m similarity index 97% rename from WordPressSharedTests/NSStringSwiftTests.m rename to Tests/WordPressSharedObjCTests/NSStringSwiftTests.m index 47b417d..9262fc8 100644 --- a/WordPressSharedTests/NSStringSwiftTests.m +++ b/Tests/WordPressSharedObjCTests/NSStringSwiftTests.m @@ -1,10 +1,6 @@ #import @import WordPressShared; -#if SWIFT_PACKAGE -@import WordPressSharedUtlity; -#endif - @interface NSStringSwiftTest : XCTestCase @end diff --git a/WordPressSharedTests/PhotonImageURLHelperTest.m b/Tests/WordPressSharedObjCTests/PhotonImageURLHelperTest.m similarity index 100% rename from WordPressSharedTests/PhotonImageURLHelperTest.m rename to Tests/WordPressSharedObjCTests/PhotonImageURLHelperTest.m diff --git a/WordPressSharedTests/anim-reader.gif b/Tests/WordPressSharedObjCTests/Resources/anim-reader.gif similarity index 100% rename from WordPressSharedTests/anim-reader.gif rename to Tests/WordPressSharedObjCTests/Resources/anim-reader.gif diff --git a/WordPressSharedTests/test-image.jpg b/Tests/WordPressSharedObjCTests/Resources/test-image.jpg similarity index 100% rename from WordPressSharedTests/test-image.jpg rename to Tests/WordPressSharedObjCTests/Resources/test-image.jpg diff --git a/WordPressSharedTests/TestAnalyticsTracker.h b/Tests/WordPressSharedObjCTests/TestAnalyticsTracker.h similarity index 100% rename from WordPressSharedTests/TestAnalyticsTracker.h rename to Tests/WordPressSharedObjCTests/TestAnalyticsTracker.h diff --git a/WordPressSharedTests/TestAnalyticsTracker.m b/Tests/WordPressSharedObjCTests/TestAnalyticsTracker.m similarity index 100% rename from WordPressSharedTests/TestAnalyticsTracker.m rename to Tests/WordPressSharedObjCTests/TestAnalyticsTracker.m diff --git a/WordPressSharedTests/WPImageSourceTest.m b/Tests/WordPressSharedObjCTests/WPImageSourceTest.m similarity index 100% rename from WordPressSharedTests/WPImageSourceTest.m rename to Tests/WordPressSharedObjCTests/WPImageSourceTest.m diff --git a/WordPressSharedTests/WPMapFilterReduceTest.m b/Tests/WordPressSharedObjCTests/WPMapFilterReduceTest.m similarity index 100% rename from WordPressSharedTests/WPMapFilterReduceTest.m rename to Tests/WordPressSharedObjCTests/WPMapFilterReduceTest.m diff --git a/WordPressSharedTests/WordPressSharedTests-Bridging-Header.h b/Tests/WordPressSharedObjCTests/WordPressSharedTests-Bridging-Header.h similarity index 100% rename from WordPressSharedTests/WordPressSharedTests-Bridging-Header.h rename to Tests/WordPressSharedObjCTests/WordPressSharedTests-Bridging-Header.h diff --git a/WordPressSharedTests/DebouncerTests.swift b/Tests/WordPressSharedTests/DebouncerTests.swift similarity index 100% rename from WordPressSharedTests/DebouncerTests.swift rename to Tests/WordPressSharedTests/DebouncerTests.swift diff --git a/WordPressSharedTests/DictionaryHelpersTests.swift b/Tests/WordPressSharedTests/DictionaryHelpersTests.swift similarity index 100% rename from WordPressSharedTests/DictionaryHelpersTests.swift rename to Tests/WordPressSharedTests/DictionaryHelpersTests.swift diff --git a/WordPressSharedTests/EmailFormatValidatorTests.swift b/Tests/WordPressSharedTests/EmailFormatValidatorTests.swift similarity index 100% rename from WordPressSharedTests/EmailFormatValidatorTests.swift rename to Tests/WordPressSharedTests/EmailFormatValidatorTests.swift diff --git a/WordPressSharedTests/EmailTypoCheckerTests.swift b/Tests/WordPressSharedTests/EmailTypoCheckerTests.swift similarity index 100% rename from WordPressSharedTests/EmailTypoCheckerTests.swift rename to Tests/WordPressSharedTests/EmailTypoCheckerTests.swift diff --git a/WordPressSharedTests/LanguagesTests.swift b/Tests/WordPressSharedTests/LanguagesTests.swift similarity index 100% rename from WordPressSharedTests/LanguagesTests.swift rename to Tests/WordPressSharedTests/LanguagesTests.swift diff --git a/WordPressSharedTests/NSDateHelperTest.swift b/Tests/WordPressSharedTests/NSDateHelperTest.swift similarity index 100% rename from WordPressSharedTests/NSDateHelperTest.swift rename to Tests/WordPressSharedTests/NSDateHelperTest.swift diff --git a/WordPressSharedTests/NSStringSummaryTests.swift b/Tests/WordPressSharedTests/NSStringSummaryTests.swift similarity index 100% rename from WordPressSharedTests/NSStringSummaryTests.swift rename to Tests/WordPressSharedTests/NSStringSummaryTests.swift diff --git a/WordPressSharedTests/RichContentFormatterTests.swift b/Tests/WordPressSharedTests/RichContentFormatterTests.swift similarity index 100% rename from WordPressSharedTests/RichContentFormatterTests.swift rename to Tests/WordPressSharedTests/RichContentFormatterTests.swift diff --git a/WordPressSharedTests/SecretTests.swift b/Tests/WordPressSharedTests/SecretTests.swift similarity index 100% rename from WordPressSharedTests/SecretTests.swift rename to Tests/WordPressSharedTests/SecretTests.swift diff --git a/WordPressSharedTests/StringHelperTests.swift b/Tests/WordPressSharedTests/StringHelperTests.swift similarity index 100% rename from WordPressSharedTests/StringHelperTests.swift rename to Tests/WordPressSharedTests/StringHelperTests.swift diff --git a/WordPressSharedTests/StringRemovingMatchesTests.swift b/Tests/WordPressSharedTests/StringRemovingMatchesTests.swift similarity index 100% rename from WordPressSharedTests/StringRemovingMatchesTests.swift rename to Tests/WordPressSharedTests/StringRemovingMatchesTests.swift diff --git a/WordPressSharedTests/StringStripGutenbergContentForExcerptTests.swift b/Tests/WordPressSharedTests/StringStripGutenbergContentForExcerptTests.swift similarity index 100% rename from WordPressSharedTests/StringStripGutenbergContentForExcerptTests.swift rename to Tests/WordPressSharedTests/StringStripGutenbergContentForExcerptTests.swift diff --git a/WordPressSharedTests/StringURLValidationTests.swift b/Tests/WordPressSharedTests/StringURLValidationTests.swift similarity index 100% rename from WordPressSharedTests/StringURLValidationTests.swift rename to Tests/WordPressSharedTests/StringURLValidationTests.swift diff --git a/WordPressSharedTests/WPAnalyticsTests.swift b/Tests/WordPressSharedTests/WPAnalyticsTests.swift similarity index 100% rename from WordPressSharedTests/WPAnalyticsTests.swift rename to Tests/WordPressSharedTests/WPAnalyticsTests.swift diff --git a/WordPressShared.podspec b/WordPressShared.podspec index e67b132..ec2c833 100644 --- a/WordPressShared.podspec +++ b/WordPressShared.podspec @@ -19,19 +19,21 @@ Pod::Spec.new do |s| s.swift_version = '5.0' s.source = { git: 'https://github.com/wordpress-mobile/WordPress-iOS-Shared.git', tag: s.version.to_s } - s.source_files = 'WordPressShared/**/*.{h,m,swift}' - s.private_header_files = 'WordPressShared/Private/*.h' + s.source_files = 'Sources/WordPressShared/**/*.swift', 'Sources/WordPressSharedObjC/**/*.{h,m}' + s.public_header_files = 'Sources/WordPressSharedObjC/include', 'Sources/WordPressSharedObjC/WordPressShared.h' + s.private_header_files = 'Sources/WordPressSharedObjC/Private/*.h' s.resource_bundles = { - WordPressShared: ['WordPressShared/Resources/*.{ttf,otf,json}'] + WordPressShared: [ + 'Sources/WordPressShared/Resources/*.{ttf,otf,json}', + 'Sources/WordPressSharedObjC/Resources/*.{ttf,otf,json}', + ] } - s.exclude_files = 'WordPressShared/Exclude' - s.header_dir = 'WordPressShared' s.dependency 'CocoaLumberjack', '~> 3.4' s.test_spec do |test| - test.source_files = 'WordPressSharedTests/**/*.{h,m,swift}' - test.resources = 'WordPressSharedTests/*.{jpg,gif}' + test.source_files = 'Tests/WordPressSharedTests/**/*.{swift}', 'Tests/WordPressSharedTestsObjC/**/*.{h,m}' + test.resources = 'Tests/WordPressSharedObjCTests/Resources/*.{jpg,gif}' test.dependency 'OHHTTPStubs', '~> 9.0' test.dependency 'OHHTTPStubs/Swift', '~> 9.0' diff --git a/WordPressShared/Info.plist b/WordPressShared/Info.plist deleted file mode 100644 index d3de8ee..0000000 --- a/WordPressShared/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - NSPrincipalClass - - - diff --git a/WordPressShared/WordPressShared.swift b/WordPressShared/WordPressShared.swift deleted file mode 100644 index ab49e3d..0000000 --- a/WordPressShared/WordPressShared.swift +++ /dev/null @@ -1,12 +0,0 @@ -#if SWIFT_PACKAGE - -@_exported import WordPressSharedAnalyticsObjC -@_exported import WordPressSharedAnalytics -@_exported import WordPressSharedLoggingObjC -@_exported import WordPressSharedUtlityObjC -@_exported import WordPressSharedResources -@_exported import WordPressSharedUtlity -@_exported import WordPressSharedViewObjC -@_exported import WordPressSharedView - -#endif /* SWIFT_PACKAGE */ diff --git a/WordPressSharedTests/Info.plist b/WordPressSharedTests/Info.plist deleted file mode 100644 index 6c6c23c..0000000 --- a/WordPressSharedTests/Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - - From a67ceec2a546196573f00a5ad3f14a0b7e867355 Mon Sep 17 00:00:00 2001 From: Tony Li Date: Tue, 15 Nov 2022 14:42:15 +1300 Subject: [PATCH 07/14] Remove WPAnalyticsTests --- .../TestAnalyticsTracker.h | 23 --- .../TestAnalyticsTracker.m | 70 --------- .../WPAnalyticsTests.swift | 133 ------------------ WordPressShared.podspec | 8 +- 4 files changed, 5 insertions(+), 229 deletions(-) delete mode 100644 Tests/WordPressSharedObjCTests/TestAnalyticsTracker.h delete mode 100644 Tests/WordPressSharedObjCTests/TestAnalyticsTracker.m delete mode 100644 Tests/WordPressSharedTests/WPAnalyticsTests.swift diff --git a/Tests/WordPressSharedObjCTests/TestAnalyticsTracker.h b/Tests/WordPressSharedObjCTests/TestAnalyticsTracker.h deleted file mode 100644 index 6a3d254..0000000 --- a/Tests/WordPressSharedObjCTests/TestAnalyticsTracker.h +++ /dev/null @@ -1,23 +0,0 @@ -#import -#import "WPAnalytics.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface TestAnalyticsTracker : NSObject - -- (void)track:(WPAnalyticsStat)stat; -- (void)track:(WPAnalyticsStat)stat withProperties:(NSDictionary *)properties; - -- (void)beginSession; -- (void)endSession; -- (void)refreshMetadata; - -@end - -typedef void (^WPAnalyticsMethodBehaviorInvocation)(id); - -FOUNDATION_EXTERN void WPAnalyticsTestVerifyUnregistered(WPAnalyticsMethodBehaviorInvocation invocation); -FOUNDATION_EXTERN void WPAnalyticsTestVerifyRegistered(WPAnalyticsMethodBehaviorInvocation invocation); -FOUNDATION_EXTERN void WPAnalyticsTestVerifyMultipleTrackers(WPAnalyticsMethodBehaviorInvocation invocation); - -NS_ASSUME_NONNULL_END diff --git a/Tests/WordPressSharedObjCTests/TestAnalyticsTracker.m b/Tests/WordPressSharedObjCTests/TestAnalyticsTracker.m deleted file mode 100644 index 3c62a2b..0000000 --- a/Tests/WordPressSharedObjCTests/TestAnalyticsTracker.m +++ /dev/null @@ -1,70 +0,0 @@ -#import "TestAnalyticsTracker.h" - -#import - -@implementation TestAnalyticsTracker - -- (void)track:(WPAnalyticsStat)stat -{ - // No-op -} - -- (void)track:(WPAnalyticsStat)stat withProperties:(NSDictionary *)properties -{ - // No-op -} - -- (void)beginSession -{ - // No-op -} - -- (void)endSession -{ - // No-op -} - -- (void)refreshMetadata -{ - // No-op -} - -- (void)trackString:(NSString *)event { - // No-op -} - - -- (void)trackString:(NSString *)event withProperties:(NSDictionary *)properties { - // No-op -} - - -@end - -void WPAnalyticsTestVerifyUnregistered(WPAnalyticsMethodBehaviorInvocation invocation) { - id trackerMock = OCMStrictClassMock([TestAnalyticsTracker class]); - id expectation = [trackerMock reject]; - invocation(expectation); - [trackerMock verify]; -} - -void WPAnalyticsTestVerifyRegistered(WPAnalyticsMethodBehaviorInvocation invocation) { - id trackerMock = OCMStrictClassMock([TestAnalyticsTracker class]); - id expectation = [trackerMock expect]; - invocation(expectation); - invocation(trackerMock); - [trackerMock verify]; -} - -void WPAnalyticsTestVerifyMultipleTrackers(WPAnalyticsMethodBehaviorInvocation invocation) { - id trackerMock = OCMStrictClassMock([TestAnalyticsTracker class]); - id trackerMock2 = OCMStrictClassMock([TestAnalyticsTracker class]); - id expectation = [trackerMock expect]; - id expectation2 = [trackerMock2 expect]; - invocation(expectation); - invocation(expectation2); - invocation(trackerMock); - invocation(trackerMock2); - [trackerMock verify]; - [trackerMock2 verify]; -} diff --git a/Tests/WordPressSharedTests/WPAnalyticsTests.swift b/Tests/WordPressSharedTests/WPAnalyticsTests.swift deleted file mode 100644 index ac3a869..0000000 --- a/Tests/WordPressSharedTests/WPAnalyticsTests.swift +++ /dev/null @@ -1,133 +0,0 @@ -import Quick - -@testable import WordPressShared - -class WPAnalyticsMethodBehaviorExamplesConfiguration: QuickConfiguration { - override class func configure(_ configuration: QCKConfiguration!) { - sharedExamples("a WPAnalyticsTracker method") { context in - guard let context else { - XCTFail("Test case needs to provide a context") - return - } - guard let invocation = context()?["invocation"] else { - XCTFail("invocation not found in the provided context") - return - } - guard let theInvocation = invocation as? WPAnalyticsMethodBehaviorInvocation else { - XCTFail("invocation not found in the provided context") - return - } - - it("should not be called if tqracker isn't registered") { - WPAnalyticsTestVerifyUnregistered(theInvocation) - } - - it("should be called if tracker is registered") { - WPAnalyticsTestVerifyRegistered(theInvocation) - } - - it("should be called on multiple trackers if registered") { - WPAnalyticsTestVerifyMultipleTrackers(theInvocation) - } - } - } -} - -class WPAnalyticsTests: QuickSpec { - override func spec() { - beforeEach { - WPAnalytics.clearTrackers() - } - - describe("beginSession") { - itBehavesLike("a WPAnalyticsTracker method") { - [ - "invocation": { (tracker: WPAnalyticsTracker) -> Void in - tracker.beginSession!() - } - ] - } - } - - describe("endSession") { - itBehavesLike("a WPAnalyticsTracker method") { - [ - "invocation": { (tracker: WPAnalyticsTracker) -> Void in - tracker.endSession!() - } - ] - } - } - - describe("refreshMetadata") { - itBehavesLike("a WPAnalyticsTracker method") { - [ - "invocation": { (tracker: WPAnalyticsTracker) -> Void in - tracker.refreshMetadata!() - } - ] - } - } - - describe("beginTimerForStat:") { - itBehavesLike("a WPAnalyticsTracker method") { - [ - "invocation": { (tracker: WPAnalyticsTracker) -> Void in - tracker.beginTimer!(for: .applicationOpened) - } - ] - } - } - - describe("endTimerForStat:withProperties") { - itBehavesLike("a WPAnalyticsTracker method") { - [ - "invocation": { (tracker: WPAnalyticsTracker) -> Void in - tracker.endTimer!(for: .applicationOpened, withProperties: [:]) - } - ] - } - } - - describe("track:") { - itBehavesLike("a WPAnalyticsTracker method") { - [ - "invocation": { (tracker: WPAnalyticsTracker) -> Void in - tracker.track(.applicationOpened) - } - ] - } - } - - describe("track:withProperties:") { - itBehavesLike("a WPAnalyticsTracker method") { - [ - "invocation": { (tracker: WPAnalyticsTracker) -> Void in - tracker.track(.applicationOpened, withProperties: [:]) - } - ] - - } - } - - describe("trackString:") { - itBehavesLike("a WPAnalyticsTracker method") { - [ - "invocation": { (tracker: WPAnalyticsTracker) -> Void in - tracker.trackString("my_event") - } - ] - } - } - - describe("trackString:withProperties:") { - itBehavesLike("a WPAnalyticsTracker method") { - [ - "invocation": { (tracker: WPAnalyticsTracker) -> Void in - tracker.trackString("my_event", withProperties: [:]) - } - ] - } - } - } -} diff --git a/WordPressShared.podspec b/WordPressShared.podspec index ec2c833..9fe4c86 100644 --- a/WordPressShared.podspec +++ b/WordPressShared.podspec @@ -32,13 +32,15 @@ Pod::Spec.new do |s| s.dependency 'CocoaLumberjack', '~> 3.4' s.test_spec do |test| - test.source_files = 'Tests/WordPressSharedTests/**/*.{swift}', 'Tests/WordPressSharedTestsObjC/**/*.{h,m}' + test.source_files = [ + 'Tests/WordPressSharedTests/**/*.{swift}', + 'Tests/WordPressSharedTestsObjC/**/*.{h,m}', + ] test.resources = 'Tests/WordPressSharedObjCTests/Resources/*.{jpg,gif}' test.dependency 'OHHTTPStubs', '~> 9.0' test.dependency 'OHHTTPStubs/Swift', '~> 9.0' test.dependency 'OCMock', '~> 3.4' - test.dependency 'Specta', '1.0.7' - test.dependency 'Expecta', '1.0.6' + test.dependency 'Quick', '~> 6.0' end end From 5d4848d261105ecfb0a4373fc180182e20f49dc7 Mon Sep 17 00:00:00 2001 From: Tony Li Date: Tue, 15 Nov 2022 19:02:53 +1300 Subject: [PATCH 08/14] Fix rubocop linting issues --- WordPressShared.podspec | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/WordPressShared.podspec b/WordPressShared.podspec index 9fe4c86..6f42198 100644 --- a/WordPressShared.podspec +++ b/WordPressShared.podspec @@ -1,5 +1,7 @@ # frozen_string_literal: true +# rubocop:disable Metrics/BlockLength + Pod::Spec.new do |s| s.name = 'WordPressShared' s.version = '1.18.0' @@ -24,8 +26,8 @@ Pod::Spec.new do |s| s.private_header_files = 'Sources/WordPressSharedObjC/Private/*.h' s.resource_bundles = { WordPressShared: [ - 'Sources/WordPressShared/Resources/*.{ttf,otf,json}', - 'Sources/WordPressSharedObjC/Resources/*.{ttf,otf,json}', + 'Sources/WordPressShared/Resources/*.{ttf,otf,json}', + 'Sources/WordPressSharedObjC/Resources/*.{ttf,otf,json}' ] } @@ -34,7 +36,7 @@ Pod::Spec.new do |s| s.test_spec do |test| test.source_files = [ 'Tests/WordPressSharedTests/**/*.{swift}', - 'Tests/WordPressSharedTestsObjC/**/*.{h,m}', + 'Tests/WordPressSharedTestsObjC/**/*.{h,m}' ] test.resources = 'Tests/WordPressSharedObjCTests/Resources/*.{jpg,gif}' @@ -44,3 +46,5 @@ Pod::Spec.new do |s| test.dependency 'Quick', '~> 6.0' end end + +# rubocop:enable Metrics/BlockLength From 9b1d170a98693560252ce317f62c62aba436287b Mon Sep 17 00:00:00 2001 From: Tony Li Date: Tue, 15 Nov 2022 19:31:20 +1300 Subject: [PATCH 09/14] Update fastlane --- Gemfile.lock | 110 +++++++++++++++++++++++++++------------------------ 1 file changed, 58 insertions(+), 52 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 8b7d9a6..c2488f7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -17,21 +17,21 @@ GEM artifactory (3.0.15) ast (2.4.2) atomos (0.1.3) - aws-eventstream (1.1.1) - aws-partitions (1.489.0) - aws-sdk-core (3.119.0) + aws-eventstream (1.2.0) + aws-partitions (1.660.0) + aws-sdk-core (3.167.0) aws-eventstream (~> 1, >= 1.0.2) - aws-partitions (~> 1, >= 1.239.0) + aws-partitions (~> 1, >= 1.651.0) + aws-sigv4 (~> 1.5) + jmespath (~> 1, >= 1.6.1) + aws-sdk-kms (1.59.0) + aws-sdk-core (~> 3, >= 3.165.0) aws-sigv4 (~> 1.1) - jmespath (~> 1.0) - aws-sdk-kms (1.46.0) - aws-sdk-core (~> 3, >= 3.119.0) - aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.99.0) - aws-sdk-core (~> 3, >= 3.119.0) + aws-sdk-s3 (1.117.1) + aws-sdk-core (~> 3, >= 3.165.0) aws-sdk-kms (~> 1) - aws-sigv4 (~> 1.1) - aws-sigv4 (1.2.4) + aws-sigv4 (~> 1.4) + aws-sigv4 (1.5.2) aws-eventstream (~> 1, >= 1.0.2) babosa (1.0.4) claide (1.1.0) @@ -84,22 +84,23 @@ GEM rake (>= 12.0.0, < 14.0.0) domain_name (0.5.20190701) unf (>= 0.0.5, < 1.0.0) - dotenv (2.7.6) - emoji_regex (3.2.2) + dotenv (2.8.1) + emoji_regex (3.2.3) escape (0.0.4) ethon (0.15.0) ffi (>= 1.15.0) - excon (0.85.0) - faraday (1.7.0) + excon (0.94.0) + faraday (1.10.2) faraday-em_http (~> 1.0) faraday-em_synchrony (~> 1.0) faraday-excon (~> 1.1) - faraday-httpclient (~> 1.0.1) + faraday-httpclient (~> 1.0) + faraday-multipart (~> 1.0) faraday-net_http (~> 1.0) - faraday-net_http_persistent (~> 1.1) + faraday-net_http_persistent (~> 1.0) faraday-patron (~> 1.0) faraday-rack (~> 1.0) - multipart-post (>= 1.2, < 3) + faraday-retry (~> 1.0) ruby2_keywords (>= 0.0.4) faraday-cookie_jar (0.0.7) faraday (>= 0.8.0) @@ -108,14 +109,17 @@ GEM faraday-em_synchrony (1.0.0) faraday-excon (1.1.0) faraday-httpclient (1.0.1) + faraday-multipart (1.0.4) + multipart-post (~> 2) faraday-net_http (1.0.1) faraday-net_http_persistent (1.2.0) faraday-patron (1.0.0) faraday-rack (1.0.0) - faraday_middleware (1.1.0) + faraday-retry (1.0.3) + faraday_middleware (1.2.0) faraday (~> 1.0) - fastimage (2.2.5) - fastlane (2.191.0) + fastimage (2.2.6) + fastlane (2.211.0) CFPropertyList (>= 2.3, < 4.0.0) addressable (>= 2.8, < 3.0.0) artifactory (~> 3.0) @@ -141,6 +145,7 @@ GEM mini_magick (>= 4.9.4, < 5.0.0) multipart-post (~> 2.0.0) naturally (~> 2.2) + optparse (~> 0.1.1) plist (>= 3.1.0, < 4.0.0) rubyzip (>= 2.0.0, < 3.0.0) security (= 0.1.3) @@ -157,9 +162,9 @@ GEM fourflusher (2.3.1) fuzzy_match (2.0.4) gh_inspector (1.1.3) - google-apis-androidpublisher_v3 (0.10.0) - google-apis-core (>= 0.4, < 2.a) - google-apis-core (0.4.1) + google-apis-androidpublisher_v3 (0.31.0) + google-apis-core (>= 0.9.1, < 2.a) + google-apis-core (0.9.1) addressable (~> 2.5, >= 2.5.1) googleauth (>= 0.16.2, < 2.a) httpclient (>= 2.8.1, < 3.a) @@ -168,45 +173,45 @@ GEM retriable (>= 2.0, < 4.a) rexml webrick - google-apis-iamcredentials_v1 (0.6.0) - google-apis-core (>= 0.4, < 2.a) - google-apis-playcustomapp_v1 (0.5.0) - google-apis-core (>= 0.4, < 2.a) - google-apis-storage_v1 (0.6.0) - google-apis-core (>= 0.4, < 2.a) + google-apis-iamcredentials_v1 (0.16.0) + google-apis-core (>= 0.9.1, < 2.a) + google-apis-playcustomapp_v1 (0.12.0) + google-apis-core (>= 0.9.1, < 2.a) + google-apis-storage_v1 (0.19.0) + google-apis-core (>= 0.9.0, < 2.a) google-cloud-core (1.6.0) google-cloud-env (~> 1.0) google-cloud-errors (~> 1.0) - google-cloud-env (1.5.0) - faraday (>= 0.17.3, < 2.0) - google-cloud-errors (1.1.0) - google-cloud-storage (1.34.1) - addressable (~> 2.5) + google-cloud-env (1.6.0) + faraday (>= 0.17.3, < 3.0) + google-cloud-errors (1.3.0) + google-cloud-storage (1.44.0) + addressable (~> 2.8) digest-crc (~> 0.4) google-apis-iamcredentials_v1 (~> 0.1) - google-apis-storage_v1 (~> 0.1) + google-apis-storage_v1 (~> 0.19.0) google-cloud-core (~> 1.6) googleauth (>= 0.16.2, < 2.a) mini_mime (~> 1.0) - googleauth (0.17.0) - faraday (>= 0.17.3, < 2.0) + googleauth (1.3.0) + faraday (>= 0.17.3, < 3.a) jwt (>= 1.4, < 3.0) memoist (~> 0.16) multi_json (~> 1.11) os (>= 0.9, < 2.0) - signet (~> 0.14) + signet (>= 0.16, < 2.a) highline (2.0.3) - http-cookie (1.0.4) + http-cookie (1.0.5) domain_name (~> 0.5) httpclient (2.8.3) i18n (1.12.0) concurrent-ruby (~> 1.0) - jmespath (1.4.0) + jmespath (1.6.1) json (2.6.2) - jwt (2.2.3) + jwt (2.5.0) memoist (0.16.2) mini_magick (4.11.0) - mini_mime (1.1.0) + mini_mime (1.1.2) minitest (5.16.3) molinillo (0.8.0) multi_json (1.15.0) @@ -215,7 +220,8 @@ GEM nap (1.1.0) naturally (2.2.1) netrc (0.11.0) - os (1.1.1) + optparse (0.1.1) + os (1.1.4) parallel (1.20.1) parser (3.0.2.0) ast (~> 2.4.1) @@ -224,7 +230,7 @@ GEM rainbow (3.0.0) rake (13.0.6) regexp_parser (2.1.1) - representable (3.1.1) + representable (3.2.0) declarative (< 0.1.0) trailblazer-option (>= 0.1.1, < 0.2.0) uber (< 0.2.0) @@ -247,9 +253,9 @@ GEM ruby2_keywords (0.0.5) rubyzip (2.3.2) security (0.1.3) - signet (0.15.0) - addressable (~> 2.3) - faraday (>= 0.17.3, < 2.0) + signet (0.17.0) + addressable (~> 2.8) + faraday (>= 0.17.5, < 3.a) jwt (>= 1.5, < 3.0) multi_json (~> 1.10) simctl (1.6.8) @@ -258,7 +264,7 @@ GEM terminal-notifier (2.0.0) terminal-table (1.8.0) unicode-display_width (~> 1.1, >= 1.1.1) - trailblazer-option (0.1.1) + trailblazer-option (0.1.2) tty-cursor (0.7.1) tty-screen (0.8.1) tty-spinner (0.9.3) @@ -270,8 +276,8 @@ GEM uber (0.1.0) unf (0.1.4) unf_ext - unf_ext (0.0.7.7) - unicode-display_width (1.7.0) + unf_ext (0.0.8.2) + unicode-display_width (1.8.0) webrick (1.7.0) word_wrap (1.0.0) xcodeproj (1.22.0) From 2fe6d5437c96d9b2e2f5542fb35bb2cd307ed7a2 Mon Sep 17 00:00:00 2001 From: Tony Li Date: Tue, 15 Nov 2022 20:36:38 +1300 Subject: [PATCH 10/14] Try resolving package dependencies first This additional step generate .swiftpm which hopefully resolves the 'could not generate PIF' issue. --- fastlane/Fastfile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/fastlane/Fastfile b/fastlane/Fastfile index bd2e7e3..c3d2bc0 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -5,6 +5,10 @@ default_platform(:ios) platform :ios do desc 'Builds the project and runs tests' lane :test do + xcodebuild( + scheme: 'WordPressShared', + xcargs: '-resolvePackageDependencies' + ) run_tests( package_path: '.', scheme: 'WordPressShared', From 7615808b2973db52a5c24c8fbc298fd4eb36d2be Mon Sep 17 00:00:00 2001 From: Tony Li Date: Fri, 18 Nov 2022 11:36:07 +1300 Subject: [PATCH 11/14] Change label of the validate Swift Package step --- .buildkite/pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 548d00e..f0efe9a 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -10,7 +10,7 @@ steps: ######################## # Validate Swift Package ######################## - - label: "🧪 Build and Test iOS" + - label: "🔬 Validate Swift Package" key: "test" command: | validate_swift_package From 87f6b408c238872cee1814528b3180a4fc9adae4 Mon Sep 17 00:00:00 2001 From: Tony Li Date: Fri, 18 Nov 2022 11:44:17 +1300 Subject: [PATCH 12/14] Remove unnecessary comment about #endif Co-authored-by: Gio Lodi --- Sources/WordPressShared/WordPressShared.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sources/WordPressShared/WordPressShared.swift b/Sources/WordPressShared/WordPressShared.swift index eb706b8..4e28169 100644 --- a/Sources/WordPressShared/WordPressShared.swift +++ b/Sources/WordPressShared/WordPressShared.swift @@ -2,4 +2,4 @@ @_exported import WordPressSharedObjC -#endif /* SWIFT_PACKAGE */ +#endif From ce9b061f04012a3d394409ad0b28a1dd23b2880b Mon Sep 17 00:00:00 2001 From: Tony Li Date: Fri, 18 Nov 2022 11:44:38 +1300 Subject: [PATCH 13/14] Fix a typo Co-authored-by: Gio Lodi --- Sources/WordPressSharedObjC/Views/WPStyleGuide.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sources/WordPressSharedObjC/Views/WPStyleGuide.m b/Sources/WordPressSharedObjC/Views/WPStyleGuide.m index e8be8e8..691de09 100644 --- a/Sources/WordPressSharedObjC/Views/WPStyleGuide.m +++ b/Sources/WordPressSharedObjC/Views/WPStyleGuide.m @@ -5,7 +5,7 @@ #if SWIFT_PACKAGE -// A workaround to make the Swift extension definied in WordPressSharedView target visible to this file here. +// A workaround to make the Swift extension defined in WordPressSharedView target visible to this file here. @interface WPStyleGuide (SwiftExtension) + (CGFloat)maxFontSize; From 1ee614ca802d267e88100d92b0f0b8c693af9cb2 Mon Sep 17 00:00:00 2001 From: Tony Li Date: Fri, 18 Nov 2022 12:42:39 +1300 Subject: [PATCH 14/14] Add changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 90450e5..27fa341 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -38,7 +38,7 @@ _None._ ### New Features -_None._ +- Add Swift Package Manager support [#321] ### Bug Fixes