diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 743c7229..f0efe9ac 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 - ################ - - label: "๐Ÿงช Build and Test iOS" + ######################## + # Validate Swift Package + ######################## + - label: "๐Ÿ”ฌ Validate Swift Package" key: "test" command: | - build_and_test_pod + validate_swift_package env: *common_env plugins: *common_plugins artifact_paths: ".build/logs/*.log" diff --git a/.gitignore b/.gitignore index 6da84219..9ea22322 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,5 @@ vendor/ fastlane/test_output fastlane/README.md fastlane/report.xml + +.swiftpm diff --git a/CHANGELOG.md b/CHANGELOG.md index 90450e55..27fa3414 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -38,7 +38,7 @@ _None._ ### New Features -_None._ +- Add Swift Package Manager support [#321] ### Bug Fixes diff --git a/Gemfile.lock b/Gemfile.lock index 8b7d9a6d..c2488f70 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) diff --git a/Package.resolved b/Package.resolved new file mode 100644 index 00000000..cad71e11 --- /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 00000000..c5e06434 --- /dev/null +++ b/Package.swift @@ -0,0 +1,57 @@ +// 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: "WordPressSharedObjC", + dependencies: [ + .product(name: "CocoaLumberjack", package: "CocoaLumberjack"), + ], + resources: [.process("Resources")] + ), + .target( + name: "WordPressShared", + dependencies: [ + .target(name: "WordPressSharedObjC"), + .product(name: "CocoaLumberjackSwift", package: "CocoaLumberjack"), + ], + resources: [.process("Resources")] + ), + .testTarget( + name: "WordPressSharedTests", + dependencies: [ + .target(name: "WordPressShared"), + .product(name: "OCMock", package: "ocmock"), + .product(name: "BuildkiteTestCollector", package: "test-collector-swift"), + "Quick", + "OHHTTPStubs", + ] + ), + .testTarget( + name: "WordPressSharedObjCTests", + dependencies: [ + .target(name: "WordPressShared"), + .product(name: "OCMock", package: "ocmock"), + .product(name: "BuildkiteTestCollector", package: "test-collector-swift"), + "Quick", + "OHHTTPStubs", + ], + resources: [.process("Resources")] + ), + ] +) diff --git a/Podfile b/Podfile deleted file mode 100644 index d78efb5e..00000000 --- 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 e209e425..00000000 --- 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/Core/Analytics/AnalyticsEvent.swift b/Sources/WordPressShared/Analytics/AnalyticsEvent.swift similarity index 96% rename from WordPressShared/Core/Analytics/AnalyticsEvent.swift rename to Sources/WordPressShared/Analytics/AnalyticsEvent.swift index 9823454b..dc409ae3 100644 --- a/WordPressShared/Core/Analytics/AnalyticsEvent.swift +++ b/Sources/WordPressShared/Analytics/AnalyticsEvent.swift @@ -1,5 +1,9 @@ import Foundation +#if SWIFT_PACKAGE +import WordPressSharedObjC +#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/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 100% rename from WordPressShared/Core/Utility/Languages.swift rename to Sources/WordPressShared/Utility/Languages.swift diff --git a/WordPressShared/Core/Utility/NSBundle+WordPressShared.swift b/Sources/WordPressShared/Utility/NSBundle+WordPressShared.swift similarity index 78% rename from WordPressShared/Core/Utility/NSBundle+WordPressShared.swift rename to Sources/WordPressShared/Utility/NSBundle+WordPressShared.swift index 63bac49b..8bb0264c 100644 --- a/WordPressShared/Core/Utility/NSBundle+WordPressShared.swift +++ b/Sources/WordPressShared/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/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 09d0df3d..c9b6c161 100644 --- a/WordPressShared/Core/Utility/RichContentFormatter.swift +++ b/Sources/WordPressShared/Utility/RichContentFormatter.swift @@ -1,4 +1,9 @@ import Foundation +import UIKit + +#if SWIFT_PACKAGE +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 3fee3264..9fef6e69 100644 --- a/WordPressShared/Core/Utility/String+Helpers.swift +++ b/Sources/WordPressShared/Utility/String+Helpers.swift @@ -1,5 +1,9 @@ import Foundation +#if SWIFT_PACKAGE +import WordPressSharedObjC +#endif + extension String { public func stringByDecodingXMLCharacters() -> String { return NSString.decodeXMLCharacters(in: self) diff --git a/WordPressShared/Core/Utility/String+RemovingMatches.swift b/Sources/WordPressShared/Utility/String+RemovingMatches.swift similarity index 92% rename from WordPressShared/Core/Utility/String+RemovingMatches.swift rename to Sources/WordPressShared/Utility/String+RemovingMatches.swift index 83e6611d..f0b9ce74 100644 --- a/WordPressShared/Core/Utility/String+RemovingMatches.swift +++ b/Sources/WordPressShared/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/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 c0794c82..23f06c76 100644 --- a/WordPressShared/Core/Views/WPStyleGuide+DynamicType.swift +++ b/Sources/WordPressShared/Views/WPStyleGuide+DynamicType.swift @@ -1,4 +1,9 @@ import Foundation +import UIKit + +#if SWIFT_PACKAGE +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 9d6c769d..888c8919 100644 --- a/WordPressShared/Core/Views/WPStyleGuide+SerifFonts.swift +++ b/Sources/WordPressShared/Views/WPStyleGuide+SerifFonts.swift @@ -1,4 +1,9 @@ import Foundation +import UIKit + +#if SWIFT_PACKAGE +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 00000000..4e281698 --- /dev/null +++ b/Sources/WordPressShared/WordPressShared.swift @@ -0,0 +1,5 @@ +#if SWIFT_PACKAGE + +@_exported import WordPressSharedObjC + +#endif 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 72% rename from WordPressShared/Core/Logging/WPSharedLogging.m rename to Sources/WordPressSharedObjC/Logging/WPSharedLogging.m index 01ca37b1..5c17759b 100644 --- a/WordPressShared/Core/Logging/WPSharedLogging.m +++ b/Sources/WordPressSharedObjC/Logging/WPSharedLogging.m @@ -1,5 +1,10 @@ #import "WPSharedLogging.h" + +#if SWIFT_PACKAGE +#import "../Private/WPSharedLoggingPrivate.h" +#else #import "WPSharedLoggingPrivate.h" +#endif DDLogLevel WPSharedGetLoggingLevel() { return ddLogLevel; diff --git a/WordPressShared/Private/WPShared-Swift.h b/Sources/WordPressSharedObjC/Private/WPShared-Swift.h similarity index 76% rename from WordPressShared/Private/WPShared-Swift.h rename to Sources/WordPressSharedObjC/Private/WPShared-Swift.h index 86490124..92ad295e 100644 --- a/WordPressShared/Private/WPShared-Swift.h +++ b/Sources/WordPressSharedObjC/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/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 eb8b82ca..ac609c36 100644 --- a/WordPressShared/Core/Utility/NSString+Helpers.m +++ b/Sources/WordPressSharedObjC/Utility/NSString+Helpers.m @@ -1,8 +1,13 @@ #import "NSString+Helpers.h" #import -#import "WPSharedLoggingPrivate.h" #import "NSString+XMLExtensions.h" +#if SWIFT_PACKAGE +#import "../Private/WPSharedLoggingPrivate.h" +#else +#import "WPSharedLoggingPrivate.h" +#endif + static NSString *const Ellipsis = @"\u2026"; @implementation NSString (Helpers) 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 93% rename from WordPressShared/Core/Utility/NSString+Util.m rename to Sources/WordPressSharedObjC/Utility/NSString+Util.m index fa1e5297..e22f720b 100644 --- a/WordPressShared/Core/Utility/NSString+Util.m +++ b/Sources/WordPressSharedObjC/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/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 96% rename from WordPressShared/Core/Utility/WPFontManager.m rename to Sources/WordPressSharedObjC/Utility/WPFontManager.m index 5436b523..82eb25eb 100644 --- a/WordPressShared/Core/Utility/WPFontManager.m +++ b/Sources/WordPressSharedObjC/Utility/WPFontManager.m @@ -1,8 +1,6 @@ #import "WPFontManager.h" -#import "WPShared-Swift.h" #import - @implementation WPFontManager static NSString * const FontTypeTTF = @"ttf"; @@ -110,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 98% rename from WordPressShared/Core/Utility/WPImageSource.m rename to Sources/WordPressSharedObjC/Utility/WPImageSource.m index afe156d3..c2371c49 100644 --- a/WordPressShared/Core/Utility/WPImageSource.m +++ b/Sources/WordPressSharedObjC/Utility/WPImageSource.m @@ -1,5 +1,10 @@ #import "WPImageSource.h" + +#if SWIFT_PACKAGE +#import "../Private/WPSharedLoggingPrivate.h" +#else #import "WPSharedLoggingPrivate.h" +#endif NSString * const WPImageSourceErrorDomain = @"WPImageSourceErrorDomain"; 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 97% rename from WordPressShared/Core/Views/WPStyleGuide.m rename to Sources/WordPressSharedObjC/Views/WPStyleGuide.m index fd1a0ba2..691de093 100644 --- a/WordPressShared/Core/Views/WPStyleGuide.m +++ b/Sources/WordPressSharedObjC/Views/WPStyleGuide.m @@ -2,8 +2,20 @@ #import "WPTextFieldTableViewCell.h" #import "WPFontManager.h" #import "WPDeviceIdentification.h" -#import "WPShared-Swift.h" +#if SWIFT_PACKAGE + +// A workaround to make the Swift extension defined in WordPressSharedView target visible to this file here. +@interface WPStyleGuide (SwiftExtension) + ++ (CGFloat)maxFontSize; ++ (UIFont *)fontForTextStyle:(UIFontTextStyle)style maximumPointSize:(CGFloat)pointSize; + +@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 99% rename from WordPressShared/Core/Views/WPTableViewCell.m rename to Sources/WordPressSharedObjC/Views/WPTableViewCell.m index 9cdd8c16..716ed3bb 100644 --- a/WordPressShared/Core/Views/WPTableViewCell.m +++ b/Sources/WordPressSharedObjC/Views/WPTableViewCell.m @@ -1,7 +1,6 @@ #import "WPTableViewCell.h" #import "WPDeviceIdentification.h" - CGFloat const WPTableViewFixedWidth = 600; @implementation WPTableViewCell 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 00000000..aa97a346 --- /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 00000000..1ef45c02 --- /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 00000000..541dc56c --- /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 00000000..279acba2 --- /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 00000000..6f847d1f --- /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 00000000..dfc7f1cd --- /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 00000000..a6411e41 --- /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 00000000..18742524 --- /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 00000000..a0cbf4d7 --- /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 00000000..e0f99b37 --- /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 00000000..6c1f1b89 --- /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 00000000..9ee44a41 --- /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 00000000..d8d85b56 --- /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 00000000..ab9d0fb4 --- /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 00000000..c8dfa19a --- /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 00000000..4342d3b5 --- /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 00000000..d70271ef --- /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 00000000..64749839 --- /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 100% rename from WordPressSharedTests/NSStringSwiftTests.m rename to Tests/WordPressSharedObjCTests/NSStringSwiftTests.m 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/WPImageSourceTest.m b/Tests/WordPressSharedObjCTests/WPImageSourceTest.m similarity index 90% rename from WordPressSharedTests/WPImageSourceTest.m rename to Tests/WordPressSharedObjCTests/WPImageSourceTest.m index 503901a2..1848667c 100644 --- a/WordPressSharedTests/WPImageSourceTest.m +++ b/Tests/WordPressSharedObjCTests/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/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/WordPressShared.podspec b/WordPressShared.podspec index a586cad7..6f42198b 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' @@ -19,13 +21,30 @@ 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 = [ + '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 'Quick', '~> 6.0' + end end + +# rubocop:enable Metrics/BlockLength diff --git a/WordPressShared.xcodeproj/project.pbxproj b/WordPressShared.xcodeproj/project.pbxproj deleted file mode 100644 index e3dde99b..00000000 --- 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 919434a6..00000000 --- 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 18d98100..00000000 --- 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 9738f442..00000000 --- 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 7921a7db..00000000 --- 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 18d98100..00000000 --- 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 777352a5..00000000 --- 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 -} diff --git a/WordPressShared/Info.plist b/WordPressShared/Info.plist deleted file mode 100644 index d3de8eef..00000000 --- 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/WordPressSharedTests/Info.plist b/WordPressSharedTests/Info.plist deleted file mode 100644 index 6c6c23c4..00000000 --- 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 - - diff --git a/WordPressSharedTests/TestAnalyticsTracker.h b/WordPressSharedTests/TestAnalyticsTracker.h deleted file mode 100644 index 6a3d2543..00000000 --- a/WordPressSharedTests/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/WordPressSharedTests/TestAnalyticsTracker.m b/WordPressSharedTests/TestAnalyticsTracker.m deleted file mode 100644 index 3c62a2bc..00000000 --- a/WordPressSharedTests/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/WordPressSharedTests/TestPlan.xctestplan b/WordPressSharedTests/TestPlan.xctestplan deleted file mode 100644 index 9e17d173..00000000 --- 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 -} diff --git a/WordPressSharedTests/WPAnalyticsTests.swift b/WordPressSharedTests/WPAnalyticsTests.swift deleted file mode 100644 index ac3a869f..00000000 --- a/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/fastlane/Fastfile b/fastlane/Fastfile index ba673b9d..c3d2bc0a 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -5,8 +5,14 @@ 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', + device: 'iPhone 14', prelaunch_simulator: true, buildlog_path: File.join(__dir__, '.build', 'logs'), derived_data_path: File.join(__dir__, '.build', 'derived-data')