diff --git a/.bazelversion b/.bazelversion deleted file mode 100644 index 66ce77b7..00000000 --- a/.bazelversion +++ /dev/null @@ -1 +0,0 @@ -7.0.0 diff --git a/.github/workflows/bazel.yml b/.github/workflows/bazel.yml deleted file mode 100644 index 1e35ffac..00000000 --- a/.github/workflows/bazel.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: Bazel - -on: - push: - branches: [ main ] - pull_request: - branches: [ main ] - -env: - DEVELOPER_DIR: /Applications/Xcode_15.0.app/Contents/Developer - -jobs: - bazel: - name: Bazel - runs-on: macos-13 - steps: - - name: Checkout source - uses: actions/checkout@v3 - - name: Build - run: bazelisk build --noenable_bzlmod //:all diff --git a/.github/workflows/docc.yml b/.github/workflows/docc.yml new file mode 100644 index 00000000..09b5c56b --- /dev/null +++ b/.github/workflows/docc.yml @@ -0,0 +1,20 @@ +name: DocC + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +env: + DEVELOPER_DIR: /Applications/Xcode_15.4.app/Contents/Developer + +jobs: + docc: + name: DocC + runs-on: macos-latest + steps: + - name: Checkout source + uses: actions/checkout@v4 + - name: Build + run: make docs open="no" DERIVED_DATA_PATH="$(mktemp -d)" diff --git a/.github/workflows/swift.yml b/.github/workflows/swift.yml index 5fad92cf..45572d5a 100644 --- a/.github/workflows/swift.yml +++ b/.github/workflows/swift.yml @@ -7,35 +7,22 @@ on: branches: [ main ] env: - DEVELOPER_DIR: /Applications/Xcode_15.0.app/Contents/Developer - SWIFT_STRICT_CONCURRENCY: complete + DEVELOPER_DIR: /Applications/Xcode_15.4.app/Contents/Developer jobs: swift: name: Swift - runs-on: macos-13 + runs-on: macos-latest env: - SIMULATOR: iPhone 14 + SIMULATOR: iPhone 15 steps: - name: Checkout source - uses: actions/checkout@v3 - - name: Validate excluded snapshots - run: | - SNAPSHOTS=$(find Tests -type d -name "__Snapshots__" | sort) - EXCLUDED=$(swift package dump-package | jq -r '.targets[] | select(.type == "test") | "Tests/" + .name + "/" + .exclude[]' | sort) - UNEXCLUDED=$(comm -23 <(echo "$SNAPSHOTS") <(echo "$EXCLUDED")) - if test -n "$UNEXCLUDED" - then - echo "::error::Snapshot directories must be excluded from Swift package:" >&2 - echo "$UNEXCLUDED" >&2 - exit 1 - fi + uses: actions/checkout@v4 - name: Download swiftlint binary run: swift package resolve - name: Lint - run: | - DIRECTORY_NAME=$(echo "${PWD##*/}" | tr '[:upper:]' '[:lower:]') - "$(find ".build/artifacts/${DIRECTORY_NAME}" -type f -name swiftlint -perm +111 -print -quit)" \ + run: > + "$(find ".build/artifacts/swiftlint" -type f -name swiftlint -perm +111 -print -quit)" lint --strict --reporter github-actions-logging - name: Resolve package dependencies run: xcodebuild -resolvePackageDependencies @@ -45,21 +32,10 @@ jobs: build-for-testing -scheme "Layout-Package" -destination "name=$SIMULATOR,OS=latest" - SWIFT_TREAT_WARNINGS_AS_ERRORS=YES + -skipPackagePluginValidation - name: Test run: > xcodebuild test-without-building -scheme "Layout-Package" -destination "name=$SIMULATOR,OS=latest" - - name: Delete snapshots - run: make delete-snapshots - - name: Record snapshots - run: > - xcodebuild - test-without-building - -scheme "Layout-Package" - -destination "name=$SIMULATOR,OS=latest" - continue-on-error: true - - name: Validate recorded snapshots - run: test -z "$(git status --porcelain)" diff --git a/.gitignore b/.gitignore index d0c91e71..7088ee8f 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,3 @@ # Xcode *.xcworkspace/ *.xcodeproj/ - -# Bazel -bazel-* diff --git a/.swiftlint-rules.yml b/.swiftlint-rules.yml index 8695ec8c..58fa60d9 100644 --- a/.swiftlint-rules.yml +++ b/.swiftlint-rules.yml @@ -33,6 +33,7 @@ only_rules: - contains_over_filter_is_empty - contains_over_first_not_nil - contains_over_range_nil_comparison +# - contrasted_opening_brace - control_statement - convenience_type - custom_rules @@ -73,6 +74,7 @@ only_rules: - file_name - file_name_no_space - file_types_order +- final_test_case - first_where - flatmap_over_map_reduce - for_where @@ -124,11 +126,13 @@ only_rules: - multiple_closures_with_trailing_closure - nesting - nimble_operator +# - no_empty_block - no_extension_access_modifier - no_fallthrough_only - no_grouping_extension # - no_magic_numbers - no_space_in_method_call +- non_optional_string_data_conversion - non_overridable_class_declaration - notification_center_detachment - ns_number_init_as_function_reference @@ -137,6 +141,7 @@ only_rules: - nsobject_prefer_isequal - number_separator # - object_literal +# - one_declaration_per_file - opening_brace - operator_usage_whitespace - operator_whitespace @@ -146,6 +151,7 @@ only_rules: - override_in_extension - pattern_matching_keywords - period_spacing +- prefer_key_path - prefer_nimble - prefer_self_in_static_references - prefer_self_type_over_type_of_self @@ -181,6 +187,7 @@ only_rules: # - return_value_from_void_function - self_binding - self_in_property_initialization +# - shorthand_argument - shorthand_operator - shorthand_optional_binding - single_test_class @@ -189,6 +196,7 @@ only_rules: - sorted_imports - statement_position - static_operator +- static_over_final_class - strict_fileprivate - strong_iboutlet - superfluous_disable_command @@ -221,6 +229,7 @@ only_rules: - unused_control_flow_label - unused_enumerated - unused_optional_binding +- unused_parameter - unused_setter_value - valid_ibinspectable - vertical_parameter_alignment diff --git a/.swiftlint.yml b/.swiftlint.yml index faf96178..20ee4ce3 100644 --- a/.swiftlint.yml +++ b/.swiftlint.yml @@ -1,5 +1,4 @@ included: -- Plugins - Sources - Tests diff --git a/BUILD.bazel b/BUILD.bazel deleted file mode 100644 index 1a81f322..00000000 --- a/BUILD.bazel +++ /dev/null @@ -1,16 +0,0 @@ -load("@build_bazel_rules_apple//apple:ios.bzl", "ios_build_test") -load("@build_bazel_rules_swift//swift:swift.bzl", "swift_library") - -ios_build_test( - name = "Layout-iOS", - minimum_os_version = "13.0", - targets = [":Layout"], -) - -swift_library( - name = "Layout", - srcs = glob(["Sources/Layout/**/*.swift"]), - copts = ["-strict-concurrency=complete"], - visibility = ["//visibility:public"], - tags = ["manual"], -) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 10011011..3fb039d1 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,10 +1,11 @@ # Contributing to Layout -- [Open Package in Xcode](#open-package-in-xcode) -- [Static Analysis](#static-analysis) +- [Open Package](#open-package) +- [Lint Package](#lint-package) - [Testing](#testing) +- [Creating Releases](#creating-releases) -## Open Package in Xcode +## Open Package > The file header comment template will also be installed. @@ -12,7 +13,7 @@ make open ``` -## Static Analysis +## Lint Package > SwiftLint violations are visible in Xcode as well. @@ -35,3 +36,17 @@ To re-record all existing snapshot references, delete all using the following co ``` make delete-snapshots ``` + +## Creating Releases + +Releases are made [on the GitHub website](https://github.com/Tinder/Layout/releases/new). + +In all of the following steps, `X.X.X` is a placeholder to be substituted with the actual semantic version for the release. + +- Enter a semantic version as the new tag (__WITHOUT__ `v` prefix) +- Set the `main` branch as the target (it should be the default) +- Enter the release title formatted as `Layout vX.X.X` (__WITH__ `v` prefix) +- Click on `Generate release notes` +- Leave `Set as a pre-release` unchecked +- Leave `Set as the latest release` checked +- Click `Publish release` diff --git a/Makefile b/Makefile index d65301ba..e3f783c5 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,7 @@ fix: @/usr/libexec/PlistBuddy -c \ "Delete :FILEHEADER" \ "$(XCSHAREDDATA)/IDETemplateMacros.plist" >/dev/null 2>&1 || true - @header=$$'\n// All Contributions by Match Group\n//\n// Copyright © ___YEAR___ Tinder (Match Group, LLC)\n//\n// Licensed under the Match Group Modified 3-Clause BSD License.\n// See https://github.com/Tinder/Layout/blob/main/LICENSE for license information.\n//'; \ + @header=$$'\n// All Contributions by Match Group\n//\n// Copyright © ___YEAR___ Tinder \(Match Group, LLC\)\n//\n// Licensed under the Match Group Modified 3-Clause BSD License.\n// See https://github.com/Tinder/Layout/blob/main/LICENSE for license information.\n//'; \ /usr/libexec/PlistBuddy -c \ "Add :FILEHEADER string $$header" \ "$(XCSHAREDDATA)/IDETemplateMacros.plist" >/dev/null 2>&1 @@ -33,6 +33,7 @@ analyze: -destination "$(destination)" \ -derivedDataPath "$$DERIVED_DATA" \ -configuration "Debug" \ + -skipPackagePluginValidation \ CODE_SIGNING_ALLOWED="NO" \ > "$$XCODEBUILD_LOG"; \ swift package plugin \ @@ -75,6 +76,7 @@ docs: -scheme "$(target)" \ -destination "$(destination)" \ -derivedDataPath "$(DERIVED_DATA_PATH)" \ + -skipPackagePluginValidation \ OTHER_DOCC_FLAGS="--warnings-as-errors" @find "$(DERIVED_DATA_PATH)" \ -type d \ diff --git a/Package.resolved b/Package.resolved index ee47d21d..6e10295c 100644 --- a/Package.resolved +++ b/Package.resolved @@ -1,5 +1,23 @@ { "pins" : [ + { + "identity" : "collectionconcurrencykit", + "kind" : "remoteSourceControl", + "location" : "https://github.com/JohnSundell/CollectionConcurrencyKit.git", + "state" : { + "revision" : "b4f23e24b5a1bff301efc5e70871083ca029ff95", + "version" : "0.2.0" + } + }, + { + "identity" : "cryptoswift", + "kind" : "remoteSourceControl", + "location" : "https://github.com/krzyzanowskim/CryptoSwift.git", + "state" : { + "revision" : "729e01bc9b9dab466ac85f21fb9ee2bc1c61b258", + "version" : "1.8.4" + } + }, { "identity" : "cwlcatchexception", "kind" : "remoteSourceControl", @@ -23,8 +41,26 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/Quick/Nimble.git", "state" : { - "revision" : "d616f15123bfb36db1b1075153f73cf40605b39d", - "version" : "13.0.0" + "revision" : "54b4e52183f16fe806014cbfd63718a84f8ba072", + "version" : "13.4.0" + } + }, + { + "identity" : "sourcekitten", + "kind" : "remoteSourceControl", + "location" : "https://github.com/jpsim/SourceKitten.git", + "state" : { + "revision" : "fd4df99170f5e9d7cf9aa8312aa8506e0e7a44e7", + "version" : "0.35.0" + } + }, + { + "identity" : "swift-argument-parser", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-argument-parser.git", + "state" : { + "revision" : "41982a3656a71c768319979febd796c6fd111d5c", + "version" : "1.5.0" } }, { @@ -32,17 +68,53 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/pointfreeco/swift-snapshot-testing.git", "state" : { - "revision" : "59b663f68e69f27a87b45de48cb63264b8194605", - "version" : "1.15.1" + "revision" : "6d932a79e7173b275b96c600c86c603cf84f153c", + "version" : "1.17.4" } }, { "identity" : "swift-syntax", "kind" : "remoteSourceControl", - "location" : "https://github.com/apple/swift-syntax.git", + "location" : "https://github.com/swiftlang/swift-syntax", + "state" : { + "revision" : "515f79b522918f83483068d99c68daeb5116342d", + "version" : "600.0.0-prerelease-2024-08-14" + } + }, + { + "identity" : "swiftlint", + "kind" : "remoteSourceControl", + "location" : "https://github.com/realm/SwiftLint.git", + "state" : { + "revision" : "a24488f26e60247d8fff7bbb03d51910af3dc91c", + "version" : "0.56.2" + } + }, + { + "identity" : "swiftytexttable", + "kind" : "remoteSourceControl", + "location" : "https://github.com/scottrhoyt/SwiftyTextTable.git", + "state" : { + "revision" : "c6df6cf533d120716bff38f8ff9885e1ce2a4ac3", + "version" : "0.9.0" + } + }, + { + "identity" : "swxmlhash", + "kind" : "remoteSourceControl", + "location" : "https://github.com/drmohundro/SWXMLHash.git", + "state" : { + "revision" : "a853604c9e9a83ad9954c7e3d2a565273982471f", + "version" : "7.0.2" + } + }, + { + "identity" : "yams", + "kind" : "remoteSourceControl", + "location" : "https://github.com/jpsim/Yams.git", "state" : { - "revision" : "6ad4ea24b01559dde0773e3d091f1b9e36175036", - "version" : "509.0.2" + "revision" : "3036ba9d69cf1fd04d433527bc339dc0dc75433d", + "version" : "5.1.3" } } ], diff --git a/Package.swift b/Package.swift index 4309bae8..34b81d11 100644 --- a/Package.swift +++ b/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:5.7 +// swift-tools-version:5.8 import PackageDescription @@ -6,6 +6,7 @@ let package = Package( name: "Layout", platforms: [ .iOS(.v13), + .macOS(.v12), ], products: [ .library( @@ -16,12 +17,15 @@ let package = Package( targets: ["SnapshotTestingExtensions"]), ], dependencies: [ + .package( + url: "https://github.com/realm/SwiftLint.git", + exact: "0.56.2"), .package( url: "https://github.com/Quick/Nimble.git", - from: "13.0.0"), + exact: "13.4.0"), .package( url: "https://github.com/pointfreeco/swift-snapshot-testing.git", - from: "1.15.0"), + exact: "1.17.4"), ], targets: [ .target( @@ -45,3 +49,14 @@ let package = Package( ]), ] ) + +package.targets.forEach { target in + + target.swiftSettings = [ + .enableExperimentalFeature("StrictConcurrency"), + ] + + target.plugins = [ + .plugin(name: "SwiftLintBuildToolPlugin", package: "SwiftLint"), + ] +} diff --git a/Package@swift-5.10.swift b/Package@swift-5.10.swift deleted file mode 100644 index fb8e71fb..00000000 --- a/Package@swift-5.10.swift +++ /dev/null @@ -1,92 +0,0 @@ -// swift-tools-version:5.10 - -import PackageDescription - -let packageName = "Layout" - -enum SwiftLint { - static let plugin = "SwiftLintPlugin-\(packageName)" - static let binary = "SwiftLintBinary-\(packageName)" -} - -let package = Package( - name: packageName, - platforms: [ - .iOS(.v13), - ], - products: [ - .library( - name: "Layout", - targets: ["Layout"]), - .library( - name: "SnapshotTestingExtensions", - targets: ["SnapshotTestingExtensions"]), - ], - dependencies: [ - .package( - url: "https://github.com/Quick/Nimble.git", - from: "13.0.0"), - .package( - url: "https://github.com/pointfreeco/swift-snapshot-testing.git", - from: "1.15.0"), - ], - targets: [ - .target( - name: "Layout", - swiftSettings: .swiftSettings, - plugins: [ - .plugin(name: SwiftLint.plugin), - ]), - .target( - name: "SnapshotTestingExtensions", - dependencies: [ - .product(name: "SnapshotTesting", package: "swift-snapshot-testing"), - ], - swiftSettings: .swiftSettings, - plugins: [ - .plugin(name: SwiftLint.plugin), - ]), - .testTarget( - name: "LayoutTests", - dependencies: [ - "Layout", - "SnapshotTestingExtensions", - "Nimble", - .product(name: "SnapshotTesting", package: "swift-snapshot-testing"), - ], - exclude: [ - "__Snapshots__", - "UIKitTests/__Snapshots__", - ], - swiftSettings: .swiftSettings, - plugins: [ - .plugin(name: SwiftLint.plugin), - ]), - .plugin( - name: "SwiftLintCommand", - capability: .command(intent: .custom(verb: "swiftlint", description: "SwiftLint Command Plugin")), - dependencies: [ - .target(name: SwiftLint.binary) - ]), - .plugin( - name: SwiftLint.plugin, - capability: .buildTool(), - dependencies: [ - .target(name: SwiftLint.binary) - ], - path: "Plugins/SwiftLintPlugin"), - .binaryTarget( - name: SwiftLint.binary, - url: "https://github.com/realm/SwiftLint/releases/download/0.54.0/SwiftLintBinary-macos.artifactbundle.zip", - checksum: "963121d6babf2bf5fd66a21ac9297e86d855cbc9d28322790646b88dceca00f1"), - ] -) - -extension Array where Element == SwiftSetting { - - static var swiftSettings: [SwiftSetting] { - [ - .enableExperimentalFeature("StrictConcurrency"), - ] - } -} diff --git a/Package@swift-5.9.swift b/Package@swift-5.9.swift deleted file mode 100644 index ae3fb79d..00000000 --- a/Package@swift-5.9.swift +++ /dev/null @@ -1,95 +0,0 @@ -// swift-tools-version:5.9 - -import PackageDescription - -let packageName = "Layout" - -enum SwiftLint { - static let plugin = "SwiftLintPlugin-\(packageName)" - static let binary = "SwiftLintBinary-\(packageName)" -} - -let package = Package( - name: packageName, - platforms: [ - .iOS(.v13), - ], - products: [ - .library( - name: "Layout", - targets: ["Layout"]), - .library( - name: "SnapshotTestingExtensions", - targets: ["SnapshotTestingExtensions"]), - ], - dependencies: [ - .package( - url: "https://github.com/Quick/Nimble.git", - from: "13.0.0"), - .package( - url: "https://github.com/pointfreeco/swift-snapshot-testing.git", - from: "1.15.0"), - ], - targets: [ - .target( - name: "Layout", - swiftSettings: .swiftSettings, - plugins: [ - .plugin(name: SwiftLint.plugin), - ]), - .target( - name: "SnapshotTestingExtensions", - dependencies: [ - .product(name: "SnapshotTesting", package: "swift-snapshot-testing"), - ], - swiftSettings: .swiftSettings, - plugins: [ - .plugin(name: SwiftLint.plugin), - ]), - .testTarget( - name: "LayoutTests", - dependencies: [ - "Layout", - "SnapshotTestingExtensions", - "Nimble", - .product(name: "SnapshotTesting", package: "swift-snapshot-testing"), - ], - exclude: [ - "__Snapshots__", - "UIKitTests/__Snapshots__", - ], - swiftSettings: .swiftSettings, - plugins: [ - .plugin(name: SwiftLint.plugin), - ]), - .plugin( - name: "SwiftLintCommand", - capability: .command(intent: .custom(verb: "swiftlint", description: "SwiftLint Command Plugin")), - dependencies: [ - .target(name: SwiftLint.binary) - ]), - .plugin( - name: SwiftLint.plugin, - capability: .buildTool(), - dependencies: [ - .target(name: SwiftLint.binary) - ], - path: "Plugins/SwiftLintPlugin"), - .binaryTarget( - name: SwiftLint.binary, - url: "https://github.com/realm/SwiftLint/releases/download/0.54.0/SwiftLintBinary-macos.artifactbundle.zip", - checksum: "963121d6babf2bf5fd66a21ac9297e86d855cbc9d28322790646b88dceca00f1"), - ] -) - -extension Array where Element == SwiftSetting { - - static var swiftSettings: [SwiftSetting] { - if let value: String = Context.environment["SWIFT_STRICT_CONCURRENCY"] { - return [.unsafeFlags(["-strict-concurrency=\(value)"])] - } else if Context.environment["SWIFT_EMIT_EXTENSION_BLOCK_SYMBOLS"] != nil { - return [.unsafeFlags(["-emit-extension-block-symbols"])] - } - return [] - } -} diff --git a/Plugins/SwiftLintCommand/SwiftLintCommand.swift b/Plugins/SwiftLintCommand/SwiftLintCommand.swift deleted file mode 100644 index b91179b1..00000000 --- a/Plugins/SwiftLintCommand/SwiftLintCommand.swift +++ /dev/null @@ -1,44 +0,0 @@ -// -// All Contributions by Match Group -// -// Copyright © 2024 Tinder (Match Group, LLC) -// -// Licensed under the Match Group Modified 3-Clause BSD License. -// See https://github.com/Tinder/Layout/blob/main/LICENSE for license information. -// - -import Foundation -import PackagePlugin - -@main -internal struct SwiftLintCommand: CommandPlugin { - - internal func performCommand( - context: PluginContext, - arguments: [String] - ) throws { - let tool: PluginContext.Tool = try context.tool(named: "swiftlint") - guard !arguments.contains("--cache-path") - else { return Diagnostics.error("Setting Cache Path Not Allowed") } - let process: Process = .init() - process.currentDirectoryURL = URL(fileURLWithPath: context.package.directory.string) - process.executableURL = URL(fileURLWithPath: tool.path.string) - if arguments.contains("analyze") { - process.arguments = arguments - } else { - process.arguments = arguments + ["--cache-path", "\(context.pluginWorkDirectory.string)"] - } - try process.run() - process.waitUntilExit() - switch process.terminationReason { - case .exit: - break - case .uncaughtSignal: - return Diagnostics.error("Uncaught Signal") - @unknown default: - return Diagnostics.error("Unexpected Termination Reason") - } - guard process.terminationStatus == EXIT_SUCCESS - else { return Diagnostics.error("Command Failed") } - } -} diff --git a/Plugins/SwiftLintPlugin/SwiftLintPlugin.swift b/Plugins/SwiftLintPlugin/SwiftLintPlugin.swift deleted file mode 100644 index 5d8f8ec0..00000000 --- a/Plugins/SwiftLintPlugin/SwiftLintPlugin.swift +++ /dev/null @@ -1,209 +0,0 @@ -// -// All Contributions by Match Group -// -// Copyright © 2024 Tinder (Match Group, LLC) -// -// Licensed under the Match Group Modified 3-Clause BSD License. -// See https://github.com/Tinder/Layout/blob/main/LICENSE for license information. -// - -import Foundation -import PackagePlugin - -@main -internal struct SwiftLintPlugin: BuildToolPlugin { - - internal enum SwiftLintPluginError: Error, CustomStringConvertible { - - case swiftFilesNotInProjectDirectory(Path) - case swiftFilesNotInWorkingDirectory(Path) - - internal var description: String { - switch self { - case let .swiftFilesNotInProjectDirectory(directory): - return """ - Swift files are not in project directory. - Directory: \(directory) - """ - case let .swiftFilesNotInWorkingDirectory(directory): - return """ - Swift files are not in working directory. - Directory: \(directory) - """ - } - } - } - - internal func createBuildCommands( - context: PluginContext, - target: Target - ) async throws -> [Command] { - try makeCommand(executable: context.tool(named: "swiftlint"), - swiftFiles: (target as? SourceModuleTarget).flatMap(swiftFiles) ?? [], - environment: environment(context: context, target: target), - pluginWorkDirectory: context.pluginWorkDirectory) - } - - /// Collects the paths of the Swift files to be linted. - private func swiftFiles(target: SourceModuleTarget) -> [Path] { - target - .sourceFiles(withSuffix: "swift") - .map(\.path) - } - - /// Creates an environment dictionary containing a value for the `BUILD_WORKSPACE_DIRECTORY` key. - /// - /// This method locates the topmost `.swiftlint.yml` config file within the package directory for this target - /// and sets the config file's containing directory as the `BUILD_WORKSPACE_DIRECTORY` value. The package - /// directory is used if a config file is not found. - /// - /// The `BUILD_WORKSPACE_DIRECTORY` environment variable controls SwiftLint's working directory. - /// - /// Reference: [https://github.com/realm/SwiftLint/blob/0.50.3/Source/swiftlint/Commands/SwiftLint.swift#L7]( - /// https://github.com/realm/SwiftLint/blob/0.50.3/Source/swiftlint/Commands/SwiftLint.swift#L7 - /// ) - private func environment( - context: PluginContext, - target: Target - ) throws -> [String: String] { - - let workingDirectory: Path = try target - .directory - .resolveWorkingDirectory(in: context.package.directory) - - return ["BUILD_WORKSPACE_DIRECTORY": "\(workingDirectory)"] - } - - private func makeCommand( - executable: PluginContext.Tool, - swiftFiles: [Path], - environment: [String: String], - pluginWorkDirectory path: Path - ) -> [Command] { - - print("Environment:", environment) - - guard !swiftFiles.isEmpty - else { return [] } - - let arguments: [String] = ["lint", "--quiet", "--force-exclude", "--cache-path", "\(path)"] - - return [ - .prebuildCommand( - displayName: "SwiftLint", - executable: executable.path, - arguments: arguments + swiftFiles.map(\.string), - environment: environment, - outputFilesDirectory: path.appending("Output")) - ] - } -} - -#if canImport(XcodeProjectPlugin) - -import XcodeProjectPlugin - -// swiftlint:disable:next no_grouping_extension -extension SwiftLintPlugin: XcodeBuildToolPlugin { - - internal func createBuildCommands( - context: XcodePluginContext, - target: XcodeTarget - ) throws -> [Command] { - try makeCommand(executable: context.tool(named: "swiftlint"), - swiftFiles: swiftFiles(target: target), - environment: environment(context: context, target: target), - pluginWorkDirectory: context.pluginWorkDirectory) - } - - /// Collects the paths of the Swift files to be linted. - private func swiftFiles(target: XcodeTarget) -> [Path] { - target - .inputFiles - .filter { $0.type == .source && $0.path.extension == "swift" } - .map(\.path) - } - - /// Creates an environment dictionary containing a value for the `BUILD_WORKSPACE_DIRECTORY` key. - /// - /// This method locates the topmost `.swiftlint.yml` config file within the project directory for this target's - /// Swift source files and sets the config file's containing directory as the `BUILD_WORKSPACE_DIRECTORY` value. - /// The project directory is used if a config file is not found. - /// - /// The `BUILD_WORKSPACE_DIRECTORY` environment variable controls SwiftLint's working directory. - /// - /// Reference: [https://github.com/realm/SwiftLint/blob/0.50.3/Source/swiftlint/Commands/SwiftLint.swift#L7]( - /// https://github.com/realm/SwiftLint/blob/0.50.3/Source/swiftlint/Commands/SwiftLint.swift#L7 - /// ) - private func environment( - context: XcodePluginContext, - target: XcodeTarget - ) throws -> [String: String] { - - let projectDirectory: Path = context.xcodeProject.directory - let swiftFiles: [Path] = swiftFiles(target: target) - let swiftFilesNotInProjectDirectory: [Path] = swiftFiles.filter { !$0.isDescendant(of: projectDirectory) } - - guard swiftFilesNotInProjectDirectory.isEmpty - else { throw SwiftLintPluginError.swiftFilesNotInProjectDirectory(projectDirectory) } - - let directories: [Path] = try swiftFiles.map { try $0.resolveWorkingDirectory(in: projectDirectory) } - let workingDirectory: Path = directories.min { $0.depth < $1.depth } ?? projectDirectory - let swiftFilesNotInWorkingDirectory: [Path] = swiftFiles.filter { !$0.isDescendant(of: workingDirectory) } - - guard swiftFilesNotInWorkingDirectory.isEmpty - else { throw SwiftLintPluginError.swiftFilesNotInWorkingDirectory(workingDirectory) } - - return ["BUILD_WORKSPACE_DIRECTORY": "\(workingDirectory)"] - } -} - -#endif - -extension Path { - - internal enum PathError: Error, CustomStringConvertible { - - case pathNotInDirectory(path: Path, directory: Path) - - internal var description: String { - switch self { - case let .pathNotInDirectory(path, directory): - return """ - Path is not in directory. - Path: \(path) - Directory: \(directory) - """ - } - } - } - - internal var directoryContainsConfigFile: Bool { - FileManager.default.fileExists(atPath: "\(self)/.swiftlint.yml") - } - - internal var depth: Int { - URL(fileURLWithPath: "\(self)").pathComponents.count - } - - internal func isDescendant(of path: Path) -> Bool { - "\(self)".hasPrefix("\(path)") - } - - internal func resolveWorkingDirectory(in directory: Path) throws -> Path { - - guard "\(self)".hasPrefix("\(directory)") - else { throw PathError.pathNotInDirectory(path: self, directory: directory) } - - let path: Path? = sequence(first: self) { path in - let path: Path = path.removingLastComponent() - guard "\(path)".hasPrefix("\(directory)") - else { return nil } - return path - } - .reversed() - .first(where: \.directoryContainsConfigFile) - - return path ?? directory - } -} diff --git a/README.md b/README.md index e768dc13..01e561fc 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ [![Swift](https://github.com/Tinder/Layout/actions/workflows/swift.yml/badge.svg?event=push)](https://github.com/Tinder/Layout/actions/workflows/swift.yml)   -[![Bazel](https://github.com/Tinder/Layout/actions/workflows/bazel.yml/badge.svg?event=push)](https://github.com/Tinder/Layout/actions/workflows/bazel.yml) +[![DocC](https://github.com/Tinder/Layout/actions/workflows/docc.yml/badge.svg?event=push)](https://github.com/Tinder/Layout/actions/workflows/docc.yml)   [![Pages](https://github.com/Tinder/Layout/actions/workflows/pages.yml/badge.svg?event=push)](https://github.com/Tinder/Layout/actions/workflows/pages.yml)   @@ -21,7 +21,7 @@ Code written with Layout leverages a high fidelity syntax, meaning it is easy to ## Minimum Requirements - iOS `13.0` -- Swift `5.7` +- Swift `5.8` ## Installation @@ -39,13 +39,13 @@ Code written with Layout leverages a high fidelity syntax, meaning it is easy to Layout -``` +```swift "Layout" ``` Snapshot Testing Extensions _(for test targets)_ -``` +```swift .product(name: "SnapshotTestingExtensions", package: "Layout") ``` diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-13-mini-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-13-mini-portrait.png index f2316e57..a29138b5 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-13-mini-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-13-mini-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-13-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-13-portrait.png index bda3f93a..53449e38 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-13-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-13-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-14-Plus-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-14-Plus-portrait.png index ce6b09ca..d23d08c9 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-14-Plus-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-14-Plus-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-14-Pro-Max-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-14-Pro-Max-portrait.png index d49290ad..bc216519 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-14-Pro-Max-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-14-Pro-Max-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-14-Pro-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-14-Pro-portrait.png index e29addd6..267c79c2 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-14-Pro-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-14-Pro-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-14-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-14-portrait.png index bda3f93a..53449e38 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-14-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-14-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-15-Plus-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-15-Plus-portrait.png index d49290ad..bc216519 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-15-Plus-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-15-Plus-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-15-Pro-Max-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-15-Pro-Max-portrait.png index d49290ad..bc216519 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-15-Pro-Max-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-15-Pro-Max-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-15-Pro-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-15-Pro-portrait.png index e29addd6..267c79c2 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-15-Pro-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-15-Pro-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-15-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-15-portrait.png index e29addd6..267c79c2 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-15-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-15-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-8-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-8-portrait.png index f8073e30..236a85e4 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-8-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-8-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-SE-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-SE-portrait.png index 0fb9f183..0bb5e097 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-SE-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-SE-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-X-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-X-portrait.png index f2316e57..a29138b5 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-X-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringDocumentationExample.iPhone-X-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-13-mini-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-13-mini-portrait.png index f2316e57..a29138b5 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-13-mini-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-13-mini-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-13-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-13-portrait.png index bda3f93a..53449e38 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-13-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-13-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-14-Plus-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-14-Plus-portrait.png index ce6b09ca..d23d08c9 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-14-Plus-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-14-Plus-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-14-Pro-Max-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-14-Pro-Max-portrait.png index d49290ad..bc216519 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-14-Pro-Max-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-14-Pro-Max-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-14-Pro-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-14-Pro-portrait.png index e29addd6..267c79c2 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-14-Pro-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-14-Pro-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-14-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-14-portrait.png index bda3f93a..53449e38 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-14-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-14-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-15-Plus-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-15-Plus-portrait.png index d49290ad..bc216519 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-15-Plus-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-15-Plus-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-15-Pro-Max-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-15-Pro-Max-portrait.png index d49290ad..bc216519 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-15-Pro-Max-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-15-Pro-Max-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-15-Pro-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-15-Pro-portrait.png index e29addd6..267c79c2 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-15-Pro-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-15-Pro-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-15-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-15-portrait.png index e29addd6..267c79c2 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-15-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-15-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-8-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-8-portrait.png index f8073e30..236a85e4 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-8-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-8-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-SE-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-SE-portrait.png index 0fb9f183..0bb5e097 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-SE-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-SE-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-X-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-X-portrait.png index f2316e57..a29138b5 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-X-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testHorizontallyCenteringLayoutItemDocumentationExample.iPhone-X-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-13-mini-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-13-mini-portrait.png index 22a1710b..412fc6f1 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-13-mini-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-13-mini-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-13-mini-portrait.txt b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-13-mini-portrait.txt index 3e6f32c8..881d9422 100644 --- a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-13-mini-portrait.txt +++ b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-13-mini-portrait.txt @@ -1,6 +1,6 @@ | > | | > - | | ; layer = > + | | ; layer = > | | ; layer = > | | | > \ No newline at end of file diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-13-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-13-portrait.png index 50e4795e..c527e0d9 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-13-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-13-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-13-portrait.txt b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-13-portrait.txt index a8dd337e..ed4d5857 100644 --- a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-13-portrait.txt +++ b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-13-portrait.txt @@ -1,6 +1,6 @@ | > | | > - | | ; layer = > + | | ; layer = > | | ; layer = > | | | > \ No newline at end of file diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-14-Plus-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-14-Plus-portrait.png index 4f206a8a..91742977 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-14-Plus-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-14-Plus-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-14-Plus-portrait.txt b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-14-Plus-portrait.txt index 5155a9be..418eac86 100644 --- a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-14-Plus-portrait.txt +++ b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-14-Plus-portrait.txt @@ -1,6 +1,6 @@ | > | | > - | | ; layer = > + | | ; layer = > | | ; layer = > | | | > \ No newline at end of file diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-14-Pro-Max-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-14-Pro-Max-portrait.png index 1aa7ccdf..e63d96af 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-14-Pro-Max-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-14-Pro-Max-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-14-Pro-Max-portrait.txt b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-14-Pro-Max-portrait.txt index 66d6f733..57b5d0d8 100644 --- a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-14-Pro-Max-portrait.txt +++ b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-14-Pro-Max-portrait.txt @@ -1,6 +1,6 @@ | > | | > - | | ; layer = > + | | ; layer = > | | ; layer = > | | | > \ No newline at end of file diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-14-Pro-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-14-Pro-portrait.png index 47bed3d3..57b1cb71 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-14-Pro-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-14-Pro-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-14-Pro-portrait.txt b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-14-Pro-portrait.txt index 738f6a46..e50558f9 100644 --- a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-14-Pro-portrait.txt +++ b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-14-Pro-portrait.txt @@ -1,6 +1,6 @@ | > | | > - | | ; layer = > + | | ; layer = > | | ; layer = > | | | > \ No newline at end of file diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-14-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-14-portrait.png index 50e4795e..c527e0d9 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-14-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-14-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-14-portrait.txt b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-14-portrait.txt index a8dd337e..ed4d5857 100644 --- a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-14-portrait.txt +++ b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-14-portrait.txt @@ -1,6 +1,6 @@ | > | | > - | | ; layer = > + | | ; layer = > | | ; layer = > | | | > \ No newline at end of file diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-15-Plus-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-15-Plus-portrait.png index 1aa7ccdf..e63d96af 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-15-Plus-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-15-Plus-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-15-Plus-portrait.txt b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-15-Plus-portrait.txt index 66d6f733..57b5d0d8 100644 --- a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-15-Plus-portrait.txt +++ b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-15-Plus-portrait.txt @@ -1,6 +1,6 @@ | > | | > - | | ; layer = > + | | ; layer = > | | ; layer = > | | | > \ No newline at end of file diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-15-Pro-Max-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-15-Pro-Max-portrait.png index 1aa7ccdf..e63d96af 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-15-Pro-Max-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-15-Pro-Max-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-15-Pro-Max-portrait.txt b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-15-Pro-Max-portrait.txt index 66d6f733..57b5d0d8 100644 --- a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-15-Pro-Max-portrait.txt +++ b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-15-Pro-Max-portrait.txt @@ -1,6 +1,6 @@ | > | | > - | | ; layer = > + | | ; layer = > | | ; layer = > | | | > \ No newline at end of file diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-15-Pro-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-15-Pro-portrait.png index 47bed3d3..57b1cb71 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-15-Pro-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-15-Pro-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-15-Pro-portrait.txt b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-15-Pro-portrait.txt index 738f6a46..e50558f9 100644 --- a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-15-Pro-portrait.txt +++ b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-15-Pro-portrait.txt @@ -1,6 +1,6 @@ | > | | > - | | ; layer = > + | | ; layer = > | | ; layer = > | | | > \ No newline at end of file diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-15-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-15-portrait.png index 47bed3d3..57b1cb71 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-15-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-15-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-15-portrait.txt b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-15-portrait.txt index 738f6a46..e50558f9 100644 --- a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-15-portrait.txt +++ b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-15-portrait.txt @@ -1,6 +1,6 @@ | > | | > - | | ; layer = > + | | ; layer = > | | ; layer = > | | | > \ No newline at end of file diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-8-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-8-portrait.png index ac1e41ac..79c9dd5d 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-8-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-8-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-8-portrait.txt b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-8-portrait.txt index e4c69b6a..1b2bcd2d 100644 --- a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-8-portrait.txt +++ b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-8-portrait.txt @@ -1,6 +1,6 @@ | > | | > - | | ; layer = > + | | ; layer = > | | ; layer = > | | | > \ No newline at end of file diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-SE-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-SE-portrait.png index a23af41c..07f13c75 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-SE-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-SE-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-SE-portrait.txt b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-SE-portrait.txt index 644b61a0..de6906ad 100644 --- a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-SE-portrait.txt +++ b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-SE-portrait.txt @@ -1,6 +1,6 @@ | > | | > - | | ; layer = > + | | ; layer = > | | ; layer = > | | | > \ No newline at end of file diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-X-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-X-portrait.png index 30a5a07f..e133a167 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-X-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-X-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-X-portrait.txt b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-X-portrait.txt index 58d91591..ab197849 100644 --- a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-X-portrait.txt +++ b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testReadmeExample.iPhone-X-portrait.txt @@ -1,6 +1,6 @@ | > | | > - | | ; layer = > + | | ; layer = > | | ; layer = > | | | > \ No newline at end of file diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-13-mini-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-13-mini-portrait.png index 793c0fd0..0caf5507 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-13-mini-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-13-mini-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-13-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-13-portrait.png index 7158e4ee..c1d34061 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-13-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-13-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-14-Plus-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-14-Plus-portrait.png index fdeafec5..55947e46 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-14-Plus-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-14-Plus-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-14-Pro-Max-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-14-Pro-Max-portrait.png index 4a6e7b7d..cb95582f 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-14-Pro-Max-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-14-Pro-Max-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-14-Pro-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-14-Pro-portrait.png index 4e559ff8..2c253c67 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-14-Pro-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-14-Pro-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-14-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-14-portrait.png index 7158e4ee..c1d34061 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-14-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-14-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-15-Plus-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-15-Plus-portrait.png index 4a6e7b7d..cb95582f 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-15-Plus-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-15-Plus-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-15-Pro-Max-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-15-Pro-Max-portrait.png index 4a6e7b7d..cb95582f 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-15-Pro-Max-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-15-Pro-Max-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-15-Pro-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-15-Pro-portrait.png index 4e559ff8..2c253c67 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-15-Pro-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-15-Pro-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-15-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-15-portrait.png index 4e559ff8..2c253c67 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-15-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-15-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-8-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-8-portrait.png index d9aa2c35..c9bc3b2e 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-8-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-8-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-SE-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-SE-portrait.png index b28a0304..f6bff988 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-SE-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-SE-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-X-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-X-portrait.png index 793c0fd0..0caf5507 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-X-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringDocumentationExample.iPhone-X-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-13-mini-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-13-mini-portrait.png index 793c0fd0..0caf5507 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-13-mini-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-13-mini-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-13-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-13-portrait.png index 7158e4ee..c1d34061 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-13-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-13-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-14-Plus-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-14-Plus-portrait.png index fdeafec5..55947e46 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-14-Plus-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-14-Plus-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-14-Pro-Max-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-14-Pro-Max-portrait.png index 4a6e7b7d..cb95582f 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-14-Pro-Max-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-14-Pro-Max-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-14-Pro-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-14-Pro-portrait.png index 4e559ff8..2c253c67 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-14-Pro-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-14-Pro-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-14-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-14-portrait.png index 7158e4ee..c1d34061 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-14-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-14-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-15-Plus-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-15-Plus-portrait.png index 4a6e7b7d..cb95582f 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-15-Plus-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-15-Plus-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-15-Pro-Max-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-15-Pro-Max-portrait.png index 4a6e7b7d..cb95582f 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-15-Pro-Max-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-15-Pro-Max-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-15-Pro-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-15-Pro-portrait.png index 4e559ff8..2c253c67 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-15-Pro-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-15-Pro-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-15-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-15-portrait.png index 4e559ff8..2c253c67 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-15-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-15-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-8-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-8-portrait.png index d9aa2c35..c9bc3b2e 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-8-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-8-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-SE-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-SE-portrait.png index b28a0304..f6bff988 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-SE-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-SE-portrait.png differ diff --git a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-X-portrait.png b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-X-portrait.png index 793c0fd0..0caf5507 100644 Binary files a/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-X-portrait.png and b/Tests/LayoutTests/__Snapshots__/LayoutExampleTests/testVerticallyCenteringLayoutItemDocumentationExample.iPhone-X-portrait.png differ diff --git a/WORKSPACE.bazel b/WORKSPACE.bazel deleted file mode 100644 index 4755b328..00000000 --- a/WORKSPACE.bazel +++ /dev/null @@ -1,35 +0,0 @@ -load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") - -http_archive( - name = "build_bazel_rules_apple", - sha256 = "34c41bfb59cdaea29ac2df5a2fa79e5add609c71bb303b2ebb10985f93fa20e7", - url = "https://github.com/bazelbuild/rules_apple/releases/download/3.1.1/rules_apple.3.1.1.tar.gz", -) - -load( - "@build_bazel_rules_apple//apple:repositories.bzl", - "apple_rules_dependencies", -) - -apple_rules_dependencies() - -load( - "@build_bazel_rules_swift//swift:repositories.bzl", - "swift_rules_dependencies", -) - -swift_rules_dependencies() - -load( - "@build_bazel_rules_swift//swift:extras.bzl", - "swift_rules_extra_dependencies", -) - -swift_rules_extra_dependencies() - -load( - "@build_bazel_apple_support//lib:repositories.bzl", - "apple_support_dependencies", -) - -apple_support_dependencies()