Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions .github/workflows/docc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,16 @@ on:
branches: [ main ]

env:
DEVELOPER_DIR: /Applications/Xcode_15.4.app/Contents/Developer
DEVELOPER_DIR: /Applications/Xcode_26.3.app/Contents/Developer

jobs:
docc:
name: DocC
runs-on: macos-latest
permissions:
contents: read
steps:
- name: Checkout source
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Build
run: make docs open="no" DERIVED_DATA_PATH="$(mktemp -d)"
10 changes: 6 additions & 4 deletions .github/workflows/swift.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,22 +7,24 @@ on:
branches: [ main ]

env:
DEVELOPER_DIR: /Applications/Xcode_15.4.app/Contents/Developer
DEVELOPER_DIR: /Applications/Xcode_26.3.app/Contents/Developer

jobs:
swift:
name: Swift
runs-on: macos-latest
permissions:
contents: read
env:
SIMULATOR: iPhone 15
SIMULATOR: iPhone 17
steps:
- name: Checkout source
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Download swiftlint binary
run: swift package resolve
- name: Lint
run: >
"$(find ".build/artifacts/swiftlint" -type f -name swiftlint -perm +111 -print -quit)"
"$(find ".build/artifacts/swiftlint" -path "*macos*" -type f -name swiftlint -perm +111 -print -quit)"
lint --strict --reporter github-actions-logging
- name: Resolve package dependencies
run: xcodebuild -resolvePackageDependencies
Expand Down
8 changes: 5 additions & 3 deletions .swiftlint-rules.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,9 @@ only_rules:
- accessibility_label_for_image
- accessibility_trait_for_button
- anonymous_argument_in_multiline_closure
- anyobject_protocol
- array_init
- async_without_await
- attribute_name_spacing
# - attributes
- balanced_xctest_lifecycle
- blanket_disable_command
Expand Down Expand Up @@ -94,7 +95,6 @@ only_rules:
- implicitly_unwrapped_optional
- inclusive_language
# - indentation_width
- inert_defer
- invalid_swiftlint_command
- is_disjoint
- joined_default_parameter
Expand Down Expand Up @@ -145,6 +145,7 @@ only_rules:
- opening_brace
- operator_usage_whitespace
- operator_whitespace
- optional_data_string_conversion
- optional_enum_case_matching
- orphaned_doc_comment
- overridden_super_call
Expand All @@ -155,6 +156,7 @@ only_rules:
- prefer_nimble
- prefer_self_in_static_references
- prefer_self_type_over_type_of_self
- prefer_type_checking
- prefer_zero_over_explicit_init
# - prefixed_toplevel_constant
- private_action
Expand All @@ -177,6 +179,7 @@ only_rules:
- redundant_objc_attribute
- redundant_optional_initialization
- redundant_self_in_closure
- redundant_sendable
- redundant_set_access_control
# - redundant_string_enum_value
- redundant_type_annotation
Expand Down Expand Up @@ -224,7 +227,6 @@ only_rules:
- unneeded_synthesized_initializer
- unowned_variable_capture
- untyped_error_in_catch
- unused_capture_list
- unused_closure_parameter
- unused_control_flow_label
- unused_enumerated
Expand Down
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Contributing to CollectionBuilders
# Contributing to Collection Builders

- [Open Package](#open-package)
- [Lint Package](#lint-package)
Expand Down Expand Up @@ -36,7 +36,7 @@ In all of the following steps, `X.X.X` is a placeholder to be substituted with t

- 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 `CollectionBuilders vX.X.X` (__WITH__ `v` prefix)
- Enter the release title formatted as `Collection Builders 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
Expand Down
23 changes: 12 additions & 11 deletions Package.resolved

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

19 changes: 12 additions & 7 deletions Package.swift
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
// swift-tools-version:5.8
// swift-tools-version:5.10

import Foundation
import PackageDescription

let enableSwiftLintBuildToolPlugin = ProcessInfo.processInfo.environment["CODEQL_DIST"] == nil

let package = Package(
name: "CollectionBuilders",
platforms: [
Expand All @@ -16,10 +19,10 @@ let package = Package(
dependencies: [
.package(
url: "https://github.com/realm/SwiftLint.git",
exact: "0.56.2"),
exact: "0.59.1"),
.package(
url: "https://github.com/Quick/Nimble.git",
exact: "13.4.0"),
exact: "14.0.0"),
],
targets: [
.target(
Expand All @@ -30,7 +33,7 @@ let package = Package(
"CollectionBuilders",
"Nimble",
]),
]
],
)

package.targets.forEach { target in
Expand All @@ -39,7 +42,9 @@ package.targets.forEach { target in
.enableExperimentalFeature("StrictConcurrency"),
]

target.plugins = [
.plugin(name: "SwiftLintBuildToolPlugin", package: "SwiftLint"),
]
if enableSwiftLintBuildToolPlugin {
target.plugins = [
.plugin(name: "SwiftLintBuildToolPlugin", package: "SwiftLint"),
]
}
}
4 changes: 2 additions & 2 deletions Sources/CollectionBuilders/Array.swift
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ extension Array {
}

public static func buildBlock(_ components: Component...) -> Component {
components.flatMap { $0 }
components.flatMap(\.self)
}

public static func buildOptional(_ component: Component?) -> Component {
Expand All @@ -50,7 +50,7 @@ extension Array {
}

public static func buildArray(_ components: [Component]) -> Component {
components.flatMap { $0 }
components.flatMap(\.self)
}

public static func buildLimitedAvailability(_ component: Component) -> Component {
Expand Down