From 427565fe1b5cdff59fa43d20f640edaaa6bcac6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Danny=20M=C3=B6sch?= Date: Thu, 25 Sep 2025 00:02:50 +0200 Subject: [PATCH] Re-add workaround for download issue with Swift 5.10 (#6256) --- .github/workflows/build.yml | 2 +- Package.swift | 29 ++++++++++++++++++++++------- 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 648c782a9..1a366301e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -28,7 +28,7 @@ jobs: fail-fast: false matrix: include: - - image: swift:5.9-focal + - image: swift:5.9-jammy version: '5.9' - image: swift:5.10-noble version: '5.10' diff --git a/Package.swift b/Package.swift index 718b89c92..c7875a420 100644 --- a/Package.swift +++ b/Package.swift @@ -14,6 +14,15 @@ let swiftFeatures: [SwiftSetting] = [ let strictConcurrency = [SwiftSetting.enableExperimentalFeature("StrictConcurrency=complete")] let targetedConcurrency = [SwiftSetting.enableExperimentalFeature("StrictConcurrency=targeted")] +let swiftLintPluginDependencies: [Target.Dependency] + +// Workaround for a download issue on Linux with Swift 5.10. +#if compiler(>=6) || compiler(<5.10) || !os(Linux) +swiftLintPluginDependencies = [.target(name: "SwiftLintBinary")] +#else +swiftLintPluginDependencies = [.target(name: "swiftlint")] +#endif + let package = Package( name: "SwiftLint", platforms: [.macOS(.v13)], @@ -64,7 +73,7 @@ let package = Package( .plugin( name: "SwiftLintBuildToolPlugin", capability: .buildTool(), - dependencies: [.target(name: "SwiftLintBinary")], + dependencies: swiftLintPluginDependencies, packageAccess: false ), .plugin( @@ -77,7 +86,7 @@ let package = Package( ), ] ), - dependencies: [.target(name: "SwiftLintBinary")], + dependencies: swiftLintPluginDependencies, packageAccess: false ), .target( @@ -210,10 +219,16 @@ let package = Package( ], swiftSettings: swiftFeatures + strictConcurrency ), - .binaryTarget( - name: "SwiftLintBinary", - url: "https://github.com/realm/SwiftLint/releases/download/0.61.0/SwiftLintBinary.artifactbundle.zip", - checksum: "b765105fa5c5083fbcd35260f037b9f0d70e33992d0a41ba26f5f78a17dc65e7" - ), ] ) + +// Workaround for a download issue on Linux with Swift 5.10. +#if compiler(>=6) || compiler(<5.10) || !os(Linux) +package.targets.append( + .binaryTarget( + name: "SwiftLintBinary", + url: "https://github.com/realm/SwiftLint/releases/download/0.61.0/SwiftLintBinary.artifactbundle.zip", + checksum: "b765105fa5c5083fbcd35260f037b9f0d70e33992d0a41ba26f5f78a17dc65e7" + ) +) +#endif