Skip to content

Commit cd5d3ab

Browse files
Merge branch 'main' into louis/list-available-fix
2 parents a29afa1 + 5583a8a commit cd5d3ab

31 files changed

+1373
-581
lines changed

.github/workflows/pull_request.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,26 @@ jobs:
9494
- name: Extract and Run Workflow Tests
9595
run: cp swiftly-*.tar.gz /root/swiftly.tar.gz && cp test-swiftly-*.tar.gz /root && cd /root && tar zxf test-swiftly-*.tar.gz && ./test-swiftly -y ./swiftly.tar.gz
9696

97+
release-custom-install-test:
98+
name: Test Release - Custom Install Location
99+
needs: releasebuildcheck
100+
runs-on: ubuntu-latest
101+
container:
102+
image: "ubuntu:24.04"
103+
steps:
104+
- name: Prepare System
105+
run: apt-get update && DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get -y install ca-certificates gpg tzdata
106+
- name: Download Release
107+
uses: actions/download-artifact@v4
108+
with:
109+
name: swiftly-release-x86_64
110+
- name: Download Tests
111+
uses: actions/download-artifact@v4
112+
with:
113+
name: swiftly-tests-x86_64
114+
- name: Extract and Run Workflow Tests
115+
run: cp swiftly-*.tar.gz /root/swiftly.tar.gz && cp test-swiftly-*.tar.gz /root && cd /root && tar zxf test-swiftly-*.tar.gz && ./test-swiftly -y --custom-location ./swiftly.tar.gz
116+
97117
formatcheck:
98118
name: Format Check
99119
runs-on: ubuntu-latest

Package.swift

Lines changed: 34 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
1-
// swift-tools-version:5.10
1+
// swift-tools-version:6.0
22

33
import PackageDescription
44

5+
let swiftSettings = [
6+
SwiftSetting.enableUpcomingFeature("MemberImportVisibility"),
7+
]
8+
59
let package = Package(
610
name: "swiftly",
711
platforms: [
@@ -38,7 +42,8 @@ let package = Package(
3842
.target(name: "LinuxPlatform", condition: .when(platforms: [.linux])),
3943
.target(name: "MacOSPlatform", condition: .when(platforms: [.macOS])),
4044
.product(name: "SwiftToolsSupport-auto", package: "swift-tools-support-core"),
41-
]
45+
],
46+
swiftSettings: swiftSettings
4247
),
4348
.executableTarget(
4449
name: "TestSwiftly",
@@ -47,16 +52,37 @@ let package = Package(
4752
.target(name: "SwiftlyCore"),
4853
.target(name: "LinuxPlatform", condition: .when(platforms: [.linux])),
4954
.target(name: "MacOSPlatform", condition: .when(platforms: [.macOS])),
50-
]
55+
],
56+
swiftSettings: swiftSettings
5157
),
5258
.target(
5359
name: "SwiftlyCore",
5460
dependencies: [
61+
"SwiftlyDownloadAPI",
62+
"SwiftlyWebsiteAPI",
5563
.product(name: "AsyncHTTPClient", package: "async-http-client"),
5664
.product(name: "NIOFoundationCompat", package: "swift-nio"),
5765
.product(name: "OpenAPIRuntime", package: "swift-openapi-runtime"),
5866
.product(name: "OpenAPIAsyncHTTPClient", package: "swift-openapi-async-http-client"),
5967
],
68+
swiftSettings: swiftSettings
69+
),
70+
.target(
71+
name: "SwiftlyDownloadAPI",
72+
dependencies: [
73+
.product(name: "OpenAPIRuntime", package: "swift-openapi-runtime"),
74+
],
75+
swiftSettings: swiftSettings,
76+
plugins: [
77+
.plugin(name: "OpenAPIGenerator", package: "swift-openapi-generator"),
78+
]
79+
),
80+
.target(
81+
name: "SwiftlyWebsiteAPI",
82+
dependencies: [
83+
.product(name: "OpenAPIRuntime", package: "swift-openapi-runtime"),
84+
],
85+
swiftSettings: swiftSettings,
6086
plugins: [
6187
.plugin(name: "OpenAPIGenerator", package: "swift-openapi-generator"),
6288
]
@@ -98,6 +124,7 @@ let package = Package(
98124
"SwiftlyCore",
99125
"CLibArchive",
100126
],
127+
swiftSettings: swiftSettings,
101128
linkerSettings: [
102129
.linkedLibrary("z"),
103130
]
@@ -106,7 +133,8 @@ let package = Package(
106133
name: "MacOSPlatform",
107134
dependencies: [
108135
"SwiftlyCore",
109-
]
136+
],
137+
swiftSettings: swiftSettings
110138
),
111139
.systemLibrary(
112140
name: "CLibArchive",
@@ -120,7 +148,8 @@ let package = Package(
120148
dependencies: ["Swiftly"],
121149
resources: [
122150
.embedInCode("mock-signing-key-private.pgp"),
123-
]
151+
],
152+
swiftSettings: swiftSettings
124153
),
125154
]
126155
)

Plugins/GenerateDocsReference/GenerateDocsReferenceError.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import Foundation
2-
import PackagePlugin
2+
@preconcurrency import PackagePlugin
33

4+
@preconcurrency
45
enum GenerateDocsReferencePluginError: Error {
56
case unknownBuildConfiguration(String)
67
case buildFailed(String)

0 commit comments

Comments
 (0)