Skip to content

Commit

Permalink
Add Swift 6.0 support
Browse files Browse the repository at this point in the history
  • Loading branch information
ffried committed Sep 18, 2024
1 parent 583a893 commit 93915e3
Show file tree
Hide file tree
Showing 6 changed files with 55 additions and 15 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
uses: sersoft-gmbh/oss-common-actions/.github/workflows/swift-generate-and-publish-docs.yml@main
with:
os: ubuntu
swift-version: '5.10'
swift-version: '6.0'
organisation: ${{ github.repository_owner }}
repository: ${{ github.event.repository.name }}
pages-branch: gh-pages
8 changes: 4 additions & 4 deletions .github/workflows/swift-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@ permissions:
jobs:
variables:
outputs:
max-supported-swift-version: '5.10'
max-supported-swift-version: '6.0'
xcode-scheme: auth-scope
xcode-platform-version: latest
fail-if-codecov-fails: true
fail-if-codecov-fails: 'true'
runs-on: ubuntu-latest
steps:
- run: exit 0
Expand All @@ -25,7 +25,7 @@ jobs:
strategy:
matrix:
os: [ macOS, ubuntu ]
swift-version-offset: [ 0, 1 ]
swift-version-offset: [ 0, 1, 2 ]
uses: sersoft-gmbh/oss-common-actions/.github/workflows/swift-test-spm.yml@main
with:
os: ${{ matrix.os }}
Expand All @@ -46,7 +46,7 @@ jobs:
- tvOS
- watchOS
- visionOS
swift-version-offset: [ 0, 1 ]
swift-version-offset: [ 0, 1, 2 ]
uses: sersoft-gmbh/oss-common-actions/.github/workflows/swift-test-xcode.yml@main
with:
xcode-scheme: ${{ needs.variables.outputs.xcode-scheme }}
Expand Down
12 changes: 3 additions & 9 deletions Package.swift
Original file line number Diff line number Diff line change
@@ -1,19 +1,13 @@
// swift-tools-version:5.10
// swift-tools-version:6.0
// The swift-tools-version declares the minimum version of Swift required to build this package.

import PackageDescription

let swiftSettings: Array<SwiftSetting> = [
.enableUpcomingFeature("ConciseMagicFile"),
.swiftLanguageMode(.v6),
.enableUpcomingFeature("ExistentialAny"),
.enableUpcomingFeature("BareSlashRegexLiterals"),
.enableUpcomingFeature("DisableOutwardActorInference"),
.enableUpcomingFeature("IsolatedDefaultValues"),
.enableUpcomingFeature("DeprecateApplicationMain"),
.enableExperimentalFeature("StrictConcurrency"),
.enableUpcomingFeature("InternalImportsByDefault"),
.enableExperimentalFeature("GlobalConcurrency"),
// .enableExperimentalFeature("AccessLevelOnImport"),
// .enableExperimentalFeature("VariadicGenerics"),
]

let package = Package(
Expand Down
41 changes: 41 additions & 0 deletions [email protected]
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
// swift-tools-version:5.10
// The swift-tools-version declares the minimum version of Swift required to build this package.

import PackageDescription

let swiftSettings: Array<SwiftSetting> = [
.enableUpcomingFeature("ConciseMagicFile"),
.enableUpcomingFeature("ExistentialAny"),
.enableUpcomingFeature("BareSlashRegexLiterals"),
.enableUpcomingFeature("DisableOutwardActorInference"),
.enableUpcomingFeature("IsolatedDefaultValues"),
.enableUpcomingFeature("DeprecateApplicationMain"),
.enableExperimentalFeature("StrictConcurrency"),
.enableExperimentalFeature("GlobalConcurrency"),
.enableExperimentalFeature("AccessLevelOnImport"),
// .enableExperimentalFeature("VariadicGenerics"),
]

let package = Package(
name: "auth-scope",
products: [
// Products define the executables and libraries produced by a package, and make them visible to other packages.
.library(
name: "AuthScope",
targets: ["AuthScope"]),
],
dependencies: [
.package(url: "https://github.com/apple/swift-docc-plugin", from: "1.0.0"),
],
targets: [
// Targets are the basic building blocks of a package. A target can define a module or a test suite.
// Targets can depend on other targets in this package, and on products in packages which this package depends on.
.target(
name: "AuthScope",
swiftSettings: swiftSettings),
.testTarget(
name: "AuthScopeTests",
dependencies: ["AuthScope"],
swiftSettings: swiftSettings),
]
)
2 changes: 1 addition & 1 deletion [email protected]
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ let swiftSettings: Array<SwiftSetting> = [
.enableUpcomingFeature("BareSlashRegexLiterals"),
.enableUpcomingFeature("DisableOutwardActorInference"),
.enableExperimentalFeature("StrictConcurrency"),
// .enableExperimentalFeature("AccessLevelOnImport"),
.enableExperimentalFeature("AccessLevelOnImport"),
// .enableExperimentalFeature("VariadicGenerics"),
]

Expand Down
5 changes: 5 additions & 0 deletions Sources/AuthScope/Scope+CustomStringConvertible.swift
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,8 @@ extension Scope: CustomStringConvertible, CustomDebugStringConvertible {
"Scope<\(AccessRange.self)> { \(accessRanges.lazy.map(\.rawValue).sorted().joined(separator: ", ")) }"
}
}

#if swift(>=6.0)
@DebugDescription
extension Scope {}
#endif

0 comments on commit 93915e3

Please sign in to comment.