The Swift Package Index logo.Swift Package Index

Build Information

Failed to build swift-weather, reference 0.1.0 (80b367), with Swift 6.1 for Wasm on 4 Jan 2026 20:06:51 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-3":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/CorvidLabs/swift-weather.git
Reference: 0.1.0
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/CorvidLabs/swift-weather
 * tag               0.1.0      -> FETCH_HEAD
HEAD is now at 80b3675 docs: add pre-1.0 notice to README
Cloned https://github.com/CorvidLabs/swift-weather.git
Revision (git rev-parse @):
80b36759ee2ba9f17458b524565a2ca7857549ed
SUCCESS checkout https://github.com/CorvidLabs/swift-weather.git at 0.1.0
========================================
Build
========================================
Selected platform:         wasm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/CorvidLabs/swift-weather.git
https://github.com/CorvidLabs/swift-weather.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
    {
      "identity" : "swift-retry",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.1.0",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/CorvidLabs/swift-retry.git"
    },
    {
      "identity" : "swift-docc-plugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.4.3",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/swiftlang/swift-docc-plugin"
    }
  ],
  "manifest_display_name" : "swift-weather",
  "name" : "swift-weather",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "16.0"
    },
    {
      "name" : "macos",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "16.0"
    },
    {
      "name" : "watchos",
      "version" : "9.0"
    },
    {
      "name" : "visionos",
      "version" : "1.0"
    }
  ],
  "products" : [
    {
      "name" : "Weather",
      "targets" : [
        "Weather"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "WeatherTests",
      "module_type" : "SwiftTarget",
      "name" : "WeatherTests",
      "path" : "Tests/WeatherTests",
      "sources" : [
        "WeatherTests.swift"
      ],
      "target_dependencies" : [
        "Weather"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Weather",
      "module_type" : "SwiftTarget",
      "name" : "Weather",
      "path" : "Sources/Weather",
      "product_dependencies" : [
        "Retry"
      ],
      "product_memberships" : [
        "Weather"
      ],
      "sources" : [
        "GeocodingService.swift",
        "Models/CurrentWeather.swift",
        "Models/Forecast.swift",
        "Models/Location.swift",
        "Models/Temperature.swift",
        "Models/WeatherCondition.swift",
        "Providers/NWSProvider.swift",
        "Providers/OpenMeteoProvider.swift",
        "Providers/WeatherProvider.swift",
        "Weather.swift",
        "WeatherConfiguration.swift",
        "WeatherError.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.0"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-3":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats 2>&1
wasm-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:dbcbf45695e2d1afcaee9a5a93239e71a6cc4a5872f338d6e993e9ceefe7df1b
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest
Fetching https://github.com/swiftlang/swift-docc-plugin
Fetching https://github.com/CorvidLabs/swift-retry.git
[1/2158] Fetching swift-docc-plugin
[217/2268] Fetching swift-docc-plugin, swift-retry
Fetched https://github.com/CorvidLabs/swift-retry.git from cache (0.33s)
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (0.34s)
Computing version for https://github.com/CorvidLabs/swift-retry.git
Computed https://github.com/CorvidLabs/swift-retry.git at 0.1.0 (1.10s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.4.5 (3.45s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3632] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (0.60s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (3.02s)
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.4.5
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/CorvidLabs/swift-retry.git
Working copy of https://github.com/CorvidLabs/swift-retry.git resolved at 0.1.0
[1/1] Compiling plugin Swift-DocC Preview
[2/2] Compiling plugin Swift-DocC
Building for debugging...
[2/5] Write sources
[4/5] Write swift-version-24593BA9C3E375BF.txt
[6/19] Compiling Retry LinearStrategy.swift
[7/19] Compiling Retry Jitter.swift
[8/19] Compiling Retry ConstantStrategy.swift
[9/19] Compiling Retry ExponentialStrategy.swift
[10/19] Compiling Retry FibonacciStrategy.swift
[11/20] Compiling Retry RetryConfiguration.swift
[12/20] Compiling Retry Retry.swift
[13/20] Compiling Retry EqualJitter.swift
[14/20] Compiling Retry FullJitter.swift
[15/20] Compiling Retry CircuitBreaker.swift
[16/20] Compiling Retry CircuitState.swift
[17/20] Emitting module Retry
[18/20] Compiling Retry RetryError.swift
[19/20] Compiling Retry DecorrelatedJitter.swift
[20/20] Compiling Retry RetryStrategy.swift
[22/33] Compiling Weather WeatherConfiguration.swift
/host/spi-builder-workspace/Sources/Weather/WeatherConfiguration.swift:100:55: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 98 |      - Returns: An array of weather providers in priority order.
 99 |      */
100 |     public func providers(userAgent: String, session: URLSession) -> [any WeatherProvider] {
    |                                                       `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
101 |         switch self {
102 |         case .automatic:
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
[23/34] Compiling Weather WeatherProvider.swift
[24/34] Compiling Weather Weather.swift
/host/spi-builder-workspace/Sources/Weather/Weather.swift:41:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 39 |
 40 |     /// The URL session for requests.
 41 |     private let session: URLSession
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 42 |
 43 |     /**
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/Weather.swift:51:18: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 49 |     public init(
 50 |         configuration: WeatherConfiguration,
 51 |         session: URLSession = .shared
    |                  `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 52 |     ) {
 53 |         self.configuration = configuration
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/Weather.swift:51:32: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 49 |     public init(
 50 |         configuration: WeatherConfiguration,
 51 |         session: URLSession = .shared
    |                                `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 52 |     ) {
 53 |         self.configuration = configuration
/host/spi-builder-workspace/Sources/Weather/Weather.swift:69:18: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 67 |     public init(
 68 |         userAgent: String,
 69 |         session: URLSession = .shared
    |                  `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 70 |     ) {
 71 |         self.init(
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/Weather.swift:69:32: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 67 |     public init(
 68 |         userAgent: String,
 69 |         session: URLSession = .shared
    |                                `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 70 |     ) {
 71 |         self.init(
[25/34] Compiling Weather WeatherError.swift
[26/34] Compiling Weather Temperature.swift
[27/34] Compiling Weather WeatherCondition.swift
[28/34] Compiling Weather NWSProvider.swift
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:24:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 22 |
 23 |     /// The URL session for requests.
 24 |     private let session: URLSession
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 25 |
 26 |     /// JSON decoder for responses.
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:38:45: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 36 |        - session: The URL session to use. Defaults to `.shared`.
 37 |      */
 38 |     public init(userAgent: String, session: URLSession = .shared) {
    |                                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 39 |         self.userAgent = userAgent
 40 |         self.session = session
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:38:59: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 36 |        - session: The URL session to use. Defaults to `.shared`.
 37 |      */
 38 |     public init(userAgent: String, session: URLSession = .shared) {
    |                                                           `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 39 |         self.userAgent = userAgent
 40 |         self.session = session
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:351:62: error: cannot find type 'URLRequest' in scope
349 |     }
350 |
351 |     private func perform<T: Decodable & Sendable>(_ request: URLRequest) async throws -> T {
    |                                                              `- error: cannot find type 'URLRequest' in scope
352 |         try await Retry.execute(
353 |             maxAttempts: 3,
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:87:23: error: cannot find 'URLRequest' in scope
 85 |         }
 86 |
 87 |         var request = URLRequest(url: forecastURL)
    |                       `- error: cannot find 'URLRequest' in scope
 88 |         request.setValue(userAgent, forHTTPHeaderField: "User-Agent")
 89 |         request.setValue("application/geo+json", forHTTPHeaderField: "Accept")
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:124:23: error: cannot find 'URLRequest' in scope
122 |         }
123 |
124 |         var request = URLRequest(url: hourlyURL)
    |                       `- error: cannot find 'URLRequest' in scope
125 |         request.setValue(userAgent, forHTTPHeaderField: "User-Agent")
126 |         request.setValue("application/geo+json", forHTTPHeaderField: "Accept")
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:256:23: error: cannot find 'URLRequest' in scope
254 |             .appendingPathComponent("\(latitude),\(longitude)")
255 |
256 |         var request = URLRequest(url: url)
    |                       `- error: cannot find 'URLRequest' in scope
257 |         request.setValue(userAgent, forHTTPHeaderField: "User-Agent")
258 |         request.setValue("application/geo+json", forHTTPHeaderField: "Accept")
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:274:31: error: cannot find 'URLRequest' in scope
272 |     private func getLatestObservation(from stationsURL: URL) async throws -> NWSObservation {
273 |         // First get the list of stations
274 |         var stationsRequest = URLRequest(url: stationsURL)
    |                               `- error: cannot find 'URLRequest' in scope
275 |         stationsRequest.setValue(userAgent, forHTTPHeaderField: "User-Agent")
276 |         stationsRequest.setValue("application/geo+json", forHTTPHeaderField: "Accept")
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:292:34: error: cannot find 'URLRequest' in scope
290 |             .appendingPathComponent("latest")
291 |
292 |         var observationRequest = URLRequest(url: observationURL)
    |                                  `- error: cannot find 'URLRequest' in scope
293 |         observationRequest.setValue(userAgent, forHTTPHeaderField: "User-Agent")
294 |         observationRequest.setValue("application/geo+json", forHTTPHeaderField: "Accept")
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:368:54: error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
366 |             )
367 |         ) { [session, decoder] in
368 |             let (data, response) = try await session.data(for: request)
    |                                                      `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
369 |
370 |             guard let httpResponse = response as? HTTPURLResponse else {
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:21:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 19 |
 20 |     /// The URL session for requests.
 21 |     private let session: URLSession
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 22 |
 23 |     /// JSON decoder for responses.
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:31:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 29 |     /// Creates a new Open-Meteo provider.
 30 |     /// - Parameter session: The URL session to use. Defaults to `.shared`.
 31 |     public init(session: URLSession = .shared) {
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 32 |         self.session = session
 33 |         self.decoder = JSONDecoder()
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:31:40: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 29 |     /// Creates a new Open-Meteo provider.
 30 |     /// - Parameter session: The URL session to use. Defaults to `.shared`.
 31 |     public init(session: URLSession = .shared) {
    |                                        `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 32 |         self.session = session
 33 |         self.decoder = JSONDecoder()
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:205:62: error: cannot find type 'URLRequest' in scope
203 |     }
204 |
205 |     private func perform<T: Decodable & Sendable>(_ request: URLRequest) async throws -> T {
    |                                                              `- error: cannot find type 'URLRequest' in scope
206 |         try await Retry.execute(
207 |             maxAttempts: 3,
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:60:23: error: cannot find 'URLRequest' in scope
 58 |         }
 59 |
 60 |         let request = URLRequest(url: url)
    |                       `- error: cannot find 'URLRequest' in scope
 61 |         let response: OpenMeteoResponse = try await perform(request)
 62 |
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:103:23: error: cannot find 'URLRequest' in scope
101 |         }
102 |
103 |         let request = URLRequest(url: url)
    |                       `- error: cannot find 'URLRequest' in scope
104 |         let response: OpenMeteoForecastResponse = try await perform(request)
105 |
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:164:23: error: cannot find 'URLRequest' in scope
162 |         }
163 |
164 |         let request = URLRequest(url: url)
    |                       `- error: cannot find 'URLRequest' in scope
165 |         let response: OpenMeteoHourlyResponse = try await perform(request)
166 |
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:222:54: error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
220 |             )
221 |         ) { [session, decoder] in
222 |             let (data, response) = try await session.data(for: request)
    |                                                      `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
223 |
224 |             guard let httpResponse = response as? HTTPURLResponse else {
[29/34] Compiling Weather OpenMeteoProvider.swift
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:24:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 22 |
 23 |     /// The URL session for requests.
 24 |     private let session: URLSession
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 25 |
 26 |     /// JSON decoder for responses.
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:38:45: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 36 |        - session: The URL session to use. Defaults to `.shared`.
 37 |      */
 38 |     public init(userAgent: String, session: URLSession = .shared) {
    |                                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 39 |         self.userAgent = userAgent
 40 |         self.session = session
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:38:59: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 36 |        - session: The URL session to use. Defaults to `.shared`.
 37 |      */
 38 |     public init(userAgent: String, session: URLSession = .shared) {
    |                                                           `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 39 |         self.userAgent = userAgent
 40 |         self.session = session
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:351:62: error: cannot find type 'URLRequest' in scope
349 |     }
350 |
351 |     private func perform<T: Decodable & Sendable>(_ request: URLRequest) async throws -> T {
    |                                                              `- error: cannot find type 'URLRequest' in scope
352 |         try await Retry.execute(
353 |             maxAttempts: 3,
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:87:23: error: cannot find 'URLRequest' in scope
 85 |         }
 86 |
 87 |         var request = URLRequest(url: forecastURL)
    |                       `- error: cannot find 'URLRequest' in scope
 88 |         request.setValue(userAgent, forHTTPHeaderField: "User-Agent")
 89 |         request.setValue("application/geo+json", forHTTPHeaderField: "Accept")
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:124:23: error: cannot find 'URLRequest' in scope
122 |         }
123 |
124 |         var request = URLRequest(url: hourlyURL)
    |                       `- error: cannot find 'URLRequest' in scope
125 |         request.setValue(userAgent, forHTTPHeaderField: "User-Agent")
126 |         request.setValue("application/geo+json", forHTTPHeaderField: "Accept")
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:256:23: error: cannot find 'URLRequest' in scope
254 |             .appendingPathComponent("\(latitude),\(longitude)")
255 |
256 |         var request = URLRequest(url: url)
    |                       `- error: cannot find 'URLRequest' in scope
257 |         request.setValue(userAgent, forHTTPHeaderField: "User-Agent")
258 |         request.setValue("application/geo+json", forHTTPHeaderField: "Accept")
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:274:31: error: cannot find 'URLRequest' in scope
272 |     private func getLatestObservation(from stationsURL: URL) async throws -> NWSObservation {
273 |         // First get the list of stations
274 |         var stationsRequest = URLRequest(url: stationsURL)
    |                               `- error: cannot find 'URLRequest' in scope
275 |         stationsRequest.setValue(userAgent, forHTTPHeaderField: "User-Agent")
276 |         stationsRequest.setValue("application/geo+json", forHTTPHeaderField: "Accept")
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:292:34: error: cannot find 'URLRequest' in scope
290 |             .appendingPathComponent("latest")
291 |
292 |         var observationRequest = URLRequest(url: observationURL)
    |                                  `- error: cannot find 'URLRequest' in scope
293 |         observationRequest.setValue(userAgent, forHTTPHeaderField: "User-Agent")
294 |         observationRequest.setValue("application/geo+json", forHTTPHeaderField: "Accept")
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:368:54: error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
366 |             )
367 |         ) { [session, decoder] in
368 |             let (data, response) = try await session.data(for: request)
    |                                                      `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
369 |
370 |             guard let httpResponse = response as? HTTPURLResponse else {
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:21:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 19 |
 20 |     /// The URL session for requests.
 21 |     private let session: URLSession
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 22 |
 23 |     /// JSON decoder for responses.
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:31:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 29 |     /// Creates a new Open-Meteo provider.
 30 |     /// - Parameter session: The URL session to use. Defaults to `.shared`.
 31 |     public init(session: URLSession = .shared) {
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 32 |         self.session = session
 33 |         self.decoder = JSONDecoder()
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:31:40: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 29 |     /// Creates a new Open-Meteo provider.
 30 |     /// - Parameter session: The URL session to use. Defaults to `.shared`.
 31 |     public init(session: URLSession = .shared) {
    |                                        `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 32 |         self.session = session
 33 |         self.decoder = JSONDecoder()
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:205:62: error: cannot find type 'URLRequest' in scope
203 |     }
204 |
205 |     private func perform<T: Decodable & Sendable>(_ request: URLRequest) async throws -> T {
    |                                                              `- error: cannot find type 'URLRequest' in scope
206 |         try await Retry.execute(
207 |             maxAttempts: 3,
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:60:23: error: cannot find 'URLRequest' in scope
 58 |         }
 59 |
 60 |         let request = URLRequest(url: url)
    |                       `- error: cannot find 'URLRequest' in scope
 61 |         let response: OpenMeteoResponse = try await perform(request)
 62 |
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:103:23: error: cannot find 'URLRequest' in scope
101 |         }
102 |
103 |         let request = URLRequest(url: url)
    |                       `- error: cannot find 'URLRequest' in scope
104 |         let response: OpenMeteoForecastResponse = try await perform(request)
105 |
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:164:23: error: cannot find 'URLRequest' in scope
162 |         }
163 |
164 |         let request = URLRequest(url: url)
    |                       `- error: cannot find 'URLRequest' in scope
165 |         let response: OpenMeteoHourlyResponse = try await perform(request)
166 |
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:222:54: error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
220 |             )
221 |         ) { [session, decoder] in
222 |             let (data, response) = try await session.data(for: request)
    |                                                      `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
223 |
224 |             guard let httpResponse = response as? HTTPURLResponse else {
error: emit-module command failed with exit code 1 (use -v to see invocation)
[30/34] Compiling Weather Forecast.swift
[31/34] Compiling Weather Location.swift
[32/34] Emitting module Weather
/host/spi-builder-workspace/Sources/Weather/GeocodingService.swift:27:40: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 25 |     /// Creates a new geocoding service.
 26 |     /// - Parameter session: The URL session to use. Defaults to `.shared`.
 27 |     public init(session: URLSession = .shared) {
    |                                        `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 28 |         self.session = session
 29 |
/host/spi-builder-workspace/Sources/Weather/GeocodingService.swift:17:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 15 |
 16 |     /// The URL session for requests.
 17 |     private let session: URLSession
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 18 |
 19 |     /// JSON decoder for responses.
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/GeocodingService.swift:27:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 25 |     /// Creates a new geocoding service.
 26 |     /// - Parameter session: The URL session to use. Defaults to `.shared`.
 27 |     public init(session: URLSession = .shared) {
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 28 |         self.session = session
 29 |
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:24:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 22 |
 23 |     /// The URL session for requests.
 24 |     private let session: URLSession
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 25 |
 26 |     /// JSON decoder for responses.
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:38:45: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 36 |        - session: The URL session to use. Defaults to `.shared`.
 37 |      */
 38 |     public init(userAgent: String, session: URLSession = .shared) {
    |                                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 39 |         self.userAgent = userAgent
 40 |         self.session = session
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:38:59: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 36 |        - session: The URL session to use. Defaults to `.shared`.
 37 |      */
 38 |     public init(userAgent: String, session: URLSession = .shared) {
    |                                                           `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 39 |         self.userAgent = userAgent
 40 |         self.session = session
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:351:62: error: cannot find type 'URLRequest' in scope
349 |     }
350 |
351 |     private func perform<T: Decodable & Sendable>(_ request: URLRequest) async throws -> T {
    |                                                              `- error: cannot find type 'URLRequest' in scope
352 |         try await Retry.execute(
353 |             maxAttempts: 3,
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:21:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 19 |
 20 |     /// The URL session for requests.
 21 |     private let session: URLSession
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 22 |
 23 |     /// JSON decoder for responses.
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:31:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 29 |     /// Creates a new Open-Meteo provider.
 30 |     /// - Parameter session: The URL session to use. Defaults to `.shared`.
 31 |     public init(session: URLSession = .shared) {
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 32 |         self.session = session
 33 |         self.decoder = JSONDecoder()
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:31:40: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 29 |     /// Creates a new Open-Meteo provider.
 30 |     /// - Parameter session: The URL session to use. Defaults to `.shared`.
 31 |     public init(session: URLSession = .shared) {
    |                                        `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 32 |         self.session = session
 33 |         self.decoder = JSONDecoder()
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:205:62: error: cannot find type 'URLRequest' in scope
203 |     }
204 |
205 |     private func perform<T: Decodable & Sendable>(_ request: URLRequest) async throws -> T {
    |                                                              `- error: cannot find type 'URLRequest' in scope
206 |         try await Retry.execute(
207 |             maxAttempts: 3,
/host/spi-builder-workspace/Sources/Weather/Weather.swift:41:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 39 |
 40 |     /// The URL session for requests.
 41 |     private let session: URLSession
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 42 |
 43 |     /**
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/Weather.swift:51:18: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 49 |     public init(
 50 |         configuration: WeatherConfiguration,
 51 |         session: URLSession = .shared
    |                  `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 52 |     ) {
 53 |         self.configuration = configuration
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/Weather.swift:51:32: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 49 |     public init(
 50 |         configuration: WeatherConfiguration,
 51 |         session: URLSession = .shared
    |                                `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 52 |     ) {
 53 |         self.configuration = configuration
/host/spi-builder-workspace/Sources/Weather/Weather.swift:69:18: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 67 |     public init(
 68 |         userAgent: String,
 69 |         session: URLSession = .shared
    |                  `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 70 |     ) {
 71 |         self.init(
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/Weather.swift:69:32: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 67 |     public init(
 68 |         userAgent: String,
 69 |         session: URLSession = .shared
    |                                `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 70 |     ) {
 71 |         self.init(
/host/spi-builder-workspace/Sources/Weather/WeatherConfiguration.swift:100:55: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 98 |      - Returns: An array of weather providers in priority order.
 99 |      */
100 |     public func providers(userAgent: String, session: URLSession) -> [any WeatherProvider] {
    |                                                       `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
101 |         switch self {
102 |         case .automatic:
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
[33/34] Compiling Weather GeocodingService.swift
/host/spi-builder-workspace/Sources/Weather/GeocodingService.swift:27:40: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 25 |     /// Creates a new geocoding service.
 26 |     /// - Parameter session: The URL session to use. Defaults to `.shared`.
 27 |     public init(session: URLSession = .shared) {
    |                                        `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 28 |         self.session = session
 29 |
/host/spi-builder-workspace/Sources/Weather/GeocodingService.swift:17:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 15 |
 16 |     /// The URL session for requests.
 17 |     private let session: URLSession
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 18 |
 19 |     /// JSON decoder for responses.
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/GeocodingService.swift:27:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 25 |     /// Creates a new geocoding service.
 26 |     /// - Parameter session: The URL session to use. Defaults to `.shared`.
 27 |     public init(session: URLSession = .shared) {
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 28 |         self.session = session
 29 |
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/GeocodingService.swift:55:23: error: cannot find 'URLRequest' in scope
 53 |         }
 54 |
 55 |         let request = URLRequest(url: url)
    |                       `- error: cannot find 'URLRequest' in scope
 56 |         let (data, response) = try await session.data(for: request)
 57 |
/host/spi-builder-workspace/Sources/Weather/GeocodingService.swift:56:50: error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
 54 |
 55 |         let request = URLRequest(url: url)
 56 |         let (data, response) = try await session.data(for: request)
    |                                                  `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
 57 |
 58 |         guard let httpResponse = response as? HTTPURLResponse else {
[34/34] Compiling Weather CurrentWeather.swift
/host/spi-builder-workspace/Sources/Weather/GeocodingService.swift:27:40: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 25 |     /// Creates a new geocoding service.
 26 |     /// - Parameter session: The URL session to use. Defaults to `.shared`.
 27 |     public init(session: URLSession = .shared) {
    |                                        `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 28 |         self.session = session
 29 |
/host/spi-builder-workspace/Sources/Weather/GeocodingService.swift:17:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 15 |
 16 |     /// The URL session for requests.
 17 |     private let session: URLSession
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 18 |
 19 |     /// JSON decoder for responses.
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/GeocodingService.swift:27:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 25 |     /// Creates a new geocoding service.
 26 |     /// - Parameter session: The URL session to use. Defaults to `.shared`.
 27 |     public init(session: URLSession = .shared) {
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 28 |         self.session = session
 29 |
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/GeocodingService.swift:55:23: error: cannot find 'URLRequest' in scope
 53 |         }
 54 |
 55 |         let request = URLRequest(url: url)
    |                       `- error: cannot find 'URLRequest' in scope
 56 |         let (data, response) = try await session.data(for: request)
 57 |
/host/spi-builder-workspace/Sources/Weather/GeocodingService.swift:56:50: error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
 54 |
 55 |         let request = URLRequest(url: url)
 56 |         let (data, response) = try await session.data(for: request)
    |                                                  `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
 57 |
 58 |         guard let httpResponse = response as? HTTPURLResponse else {
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-3":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi 2>&1
wasm-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:dbcbf45695e2d1afcaee9a5a93239e71a6cc4a5872f338d6e993e9ceefe7df1b
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest
[0/1] Planning build
[1/1] Compiling plugin Swift-DocC Preview
[2/2] Compiling plugin Swift-DocC
Building for debugging...
[2/3] Write swift-version-24593BA9C3E375BF.txt
[4/17] Compiling Retry LinearStrategy.swift
[5/18] Compiling Retry Jitter.swift
[6/18] Compiling Retry ConstantStrategy.swift
[7/18] Compiling Retry EqualJitter.swift
[8/18] Compiling Retry FullJitter.swift
[9/18] Compiling Retry ExponentialStrategy.swift
[10/18] Compiling Retry FibonacciStrategy.swift
[11/18] Compiling Retry RetryStrategy.swift
[12/18] Emitting module Retry
[13/18] Compiling Retry RetryError.swift
[14/18] Compiling Retry DecorrelatedJitter.swift
[15/18] Compiling Retry CircuitBreaker.swift
[16/18] Compiling Retry CircuitState.swift
[17/18] Compiling Retry RetryConfiguration.swift
[18/18] Compiling Retry Retry.swift
[20/31] Compiling Weather WeatherProvider.swift
[21/31] Compiling Weather WeatherConfiguration.swift
/host/spi-builder-workspace/Sources/Weather/WeatherConfiguration.swift:100:55: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 98 |      - Returns: An array of weather providers in priority order.
 99 |      */
100 |     public func providers(userAgent: String, session: URLSession) -> [any WeatherProvider] {
    |                                                       `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
101 |         switch self {
102 |         case .automatic:
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
[22/31] Compiling Weather Weather.swift
/host/spi-builder-workspace/Sources/Weather/Weather.swift:41:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 39 |
 40 |     /// The URL session for requests.
 41 |     private let session: URLSession
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 42 |
 43 |     /**
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/Weather.swift:51:18: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 49 |     public init(
 50 |         configuration: WeatherConfiguration,
 51 |         session: URLSession = .shared
    |                  `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 52 |     ) {
 53 |         self.configuration = configuration
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/Weather.swift:51:32: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 49 |     public init(
 50 |         configuration: WeatherConfiguration,
 51 |         session: URLSession = .shared
    |                                `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 52 |     ) {
 53 |         self.configuration = configuration
/host/spi-builder-workspace/Sources/Weather/Weather.swift:69:18: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 67 |     public init(
 68 |         userAgent: String,
 69 |         session: URLSession = .shared
    |                  `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 70 |     ) {
 71 |         self.init(
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/Weather.swift:69:32: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 67 |     public init(
 68 |         userAgent: String,
 69 |         session: URLSession = .shared
    |                                `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 70 |     ) {
 71 |         self.init(
error: emit-module command failed with exit code 1 (use -v to see invocation)
[23/32] Emitting module Weather
/host/spi-builder-workspace/Sources/Weather/GeocodingService.swift:27:40: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 25 |     /// Creates a new geocoding service.
 26 |     /// - Parameter session: The URL session to use. Defaults to `.shared`.
 27 |     public init(session: URLSession = .shared) {
    |                                        `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 28 |         self.session = session
 29 |
/host/spi-builder-workspace/Sources/Weather/GeocodingService.swift:17:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 15 |
 16 |     /// The URL session for requests.
 17 |     private let session: URLSession
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 18 |
 19 |     /// JSON decoder for responses.
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/GeocodingService.swift:27:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 25 |     /// Creates a new geocoding service.
 26 |     /// - Parameter session: The URL session to use. Defaults to `.shared`.
 27 |     public init(session: URLSession = .shared) {
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 28 |         self.session = session
 29 |
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:24:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 22 |
 23 |     /// The URL session for requests.
 24 |     private let session: URLSession
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 25 |
 26 |     /// JSON decoder for responses.
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:38:45: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 36 |        - session: The URL session to use. Defaults to `.shared`.
 37 |      */
 38 |     public init(userAgent: String, session: URLSession = .shared) {
    |                                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 39 |         self.userAgent = userAgent
 40 |         self.session = session
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:38:59: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 36 |        - session: The URL session to use. Defaults to `.shared`.
 37 |      */
 38 |     public init(userAgent: String, session: URLSession = .shared) {
    |                                                           `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 39 |         self.userAgent = userAgent
 40 |         self.session = session
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:351:62: error: cannot find type 'URLRequest' in scope
349 |     }
350 |
351 |     private func perform<T: Decodable & Sendable>(_ request: URLRequest) async throws -> T {
    |                                                              `- error: cannot find type 'URLRequest' in scope
352 |         try await Retry.execute(
353 |             maxAttempts: 3,
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:21:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 19 |
 20 |     /// The URL session for requests.
 21 |     private let session: URLSession
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 22 |
 23 |     /// JSON decoder for responses.
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:31:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 29 |     /// Creates a new Open-Meteo provider.
 30 |     /// - Parameter session: The URL session to use. Defaults to `.shared`.
 31 |     public init(session: URLSession = .shared) {
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 32 |         self.session = session
 33 |         self.decoder = JSONDecoder()
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:31:40: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 29 |     /// Creates a new Open-Meteo provider.
 30 |     /// - Parameter session: The URL session to use. Defaults to `.shared`.
 31 |     public init(session: URLSession = .shared) {
    |                                        `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 32 |         self.session = session
 33 |         self.decoder = JSONDecoder()
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:205:62: error: cannot find type 'URLRequest' in scope
203 |     }
204 |
205 |     private func perform<T: Decodable & Sendable>(_ request: URLRequest) async throws -> T {
    |                                                              `- error: cannot find type 'URLRequest' in scope
206 |         try await Retry.execute(
207 |             maxAttempts: 3,
/host/spi-builder-workspace/Sources/Weather/Weather.swift:41:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 39 |
 40 |     /// The URL session for requests.
 41 |     private let session: URLSession
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 42 |
 43 |     /**
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/Weather.swift:51:18: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 49 |     public init(
 50 |         configuration: WeatherConfiguration,
 51 |         session: URLSession = .shared
    |                  `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 52 |     ) {
 53 |         self.configuration = configuration
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/Weather.swift:51:32: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 49 |     public init(
 50 |         configuration: WeatherConfiguration,
 51 |         session: URLSession = .shared
    |                                `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 52 |     ) {
 53 |         self.configuration = configuration
/host/spi-builder-workspace/Sources/Weather/Weather.swift:69:18: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 67 |     public init(
 68 |         userAgent: String,
 69 |         session: URLSession = .shared
    |                  `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 70 |     ) {
 71 |         self.init(
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/Weather.swift:69:32: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 67 |     public init(
 68 |         userAgent: String,
 69 |         session: URLSession = .shared
    |                                `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 70 |     ) {
 71 |         self.init(
/host/spi-builder-workspace/Sources/Weather/WeatherConfiguration.swift:100:55: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 98 |      - Returns: An array of weather providers in priority order.
 99 |      */
100 |     public func providers(userAgent: String, session: URLSession) -> [any WeatherProvider] {
    |                                                       `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
101 |         switch self {
102 |         case .automatic:
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
[24/32] Compiling Weather NWSProvider.swift
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:24:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 22 |
 23 |     /// The URL session for requests.
 24 |     private let session: URLSession
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 25 |
 26 |     /// JSON decoder for responses.
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:38:45: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 36 |        - session: The URL session to use. Defaults to `.shared`.
 37 |      */
 38 |     public init(userAgent: String, session: URLSession = .shared) {
    |                                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 39 |         self.userAgent = userAgent
 40 |         self.session = session
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:38:59: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 36 |        - session: The URL session to use. Defaults to `.shared`.
 37 |      */
 38 |     public init(userAgent: String, session: URLSession = .shared) {
    |                                                           `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 39 |         self.userAgent = userAgent
 40 |         self.session = session
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:351:62: error: cannot find type 'URLRequest' in scope
349 |     }
350 |
351 |     private func perform<T: Decodable & Sendable>(_ request: URLRequest) async throws -> T {
    |                                                              `- error: cannot find type 'URLRequest' in scope
352 |         try await Retry.execute(
353 |             maxAttempts: 3,
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:87:23: error: cannot find 'URLRequest' in scope
 85 |         }
 86 |
 87 |         var request = URLRequest(url: forecastURL)
    |                       `- error: cannot find 'URLRequest' in scope
 88 |         request.setValue(userAgent, forHTTPHeaderField: "User-Agent")
 89 |         request.setValue("application/geo+json", forHTTPHeaderField: "Accept")
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:124:23: error: cannot find 'URLRequest' in scope
122 |         }
123 |
124 |         var request = URLRequest(url: hourlyURL)
    |                       `- error: cannot find 'URLRequest' in scope
125 |         request.setValue(userAgent, forHTTPHeaderField: "User-Agent")
126 |         request.setValue("application/geo+json", forHTTPHeaderField: "Accept")
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:256:23: error: cannot find 'URLRequest' in scope
254 |             .appendingPathComponent("\(latitude),\(longitude)")
255 |
256 |         var request = URLRequest(url: url)
    |                       `- error: cannot find 'URLRequest' in scope
257 |         request.setValue(userAgent, forHTTPHeaderField: "User-Agent")
258 |         request.setValue("application/geo+json", forHTTPHeaderField: "Accept")
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:274:31: error: cannot find 'URLRequest' in scope
272 |     private func getLatestObservation(from stationsURL: URL) async throws -> NWSObservation {
273 |         // First get the list of stations
274 |         var stationsRequest = URLRequest(url: stationsURL)
    |                               `- error: cannot find 'URLRequest' in scope
275 |         stationsRequest.setValue(userAgent, forHTTPHeaderField: "User-Agent")
276 |         stationsRequest.setValue("application/geo+json", forHTTPHeaderField: "Accept")
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:292:34: error: cannot find 'URLRequest' in scope
290 |             .appendingPathComponent("latest")
291 |
292 |         var observationRequest = URLRequest(url: observationURL)
    |                                  `- error: cannot find 'URLRequest' in scope
293 |         observationRequest.setValue(userAgent, forHTTPHeaderField: "User-Agent")
294 |         observationRequest.setValue("application/geo+json", forHTTPHeaderField: "Accept")
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:368:54: error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
366 |             )
367 |         ) { [session, decoder] in
368 |             let (data, response) = try await session.data(for: request)
    |                                                      `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
369 |
370 |             guard let httpResponse = response as? HTTPURLResponse else {
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:21:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 19 |
 20 |     /// The URL session for requests.
 21 |     private let session: URLSession
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 22 |
 23 |     /// JSON decoder for responses.
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:31:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 29 |     /// Creates a new Open-Meteo provider.
 30 |     /// - Parameter session: The URL session to use. Defaults to `.shared`.
 31 |     public init(session: URLSession = .shared) {
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 32 |         self.session = session
 33 |         self.decoder = JSONDecoder()
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:31:40: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 29 |     /// Creates a new Open-Meteo provider.
 30 |     /// - Parameter session: The URL session to use. Defaults to `.shared`.
 31 |     public init(session: URLSession = .shared) {
    |                                        `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 32 |         self.session = session
 33 |         self.decoder = JSONDecoder()
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:205:62: error: cannot find type 'URLRequest' in scope
203 |     }
204 |
205 |     private func perform<T: Decodable & Sendable>(_ request: URLRequest) async throws -> T {
    |                                                              `- error: cannot find type 'URLRequest' in scope
206 |         try await Retry.execute(
207 |             maxAttempts: 3,
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:60:23: error: cannot find 'URLRequest' in scope
 58 |         }
 59 |
 60 |         let request = URLRequest(url: url)
    |                       `- error: cannot find 'URLRequest' in scope
 61 |         let response: OpenMeteoResponse = try await perform(request)
 62 |
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:103:23: error: cannot find 'URLRequest' in scope
101 |         }
102 |
103 |         let request = URLRequest(url: url)
    |                       `- error: cannot find 'URLRequest' in scope
104 |         let response: OpenMeteoForecastResponse = try await perform(request)
105 |
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:164:23: error: cannot find 'URLRequest' in scope
162 |         }
163 |
164 |         let request = URLRequest(url: url)
    |                       `- error: cannot find 'URLRequest' in scope
165 |         let response: OpenMeteoHourlyResponse = try await perform(request)
166 |
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:222:54: error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
220 |             )
221 |         ) { [session, decoder] in
222 |             let (data, response) = try await session.data(for: request)
    |                                                      `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
223 |
224 |             guard let httpResponse = response as? HTTPURLResponse else {
[25/32] Compiling Weather OpenMeteoProvider.swift
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:24:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 22 |
 23 |     /// The URL session for requests.
 24 |     private let session: URLSession
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 25 |
 26 |     /// JSON decoder for responses.
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:38:45: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 36 |        - session: The URL session to use. Defaults to `.shared`.
 37 |      */
 38 |     public init(userAgent: String, session: URLSession = .shared) {
    |                                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 39 |         self.userAgent = userAgent
 40 |         self.session = session
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:38:59: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 36 |        - session: The URL session to use. Defaults to `.shared`.
 37 |      */
 38 |     public init(userAgent: String, session: URLSession = .shared) {
    |                                                           `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 39 |         self.userAgent = userAgent
 40 |         self.session = session
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:351:62: error: cannot find type 'URLRequest' in scope
349 |     }
350 |
351 |     private func perform<T: Decodable & Sendable>(_ request: URLRequest) async throws -> T {
    |                                                              `- error: cannot find type 'URLRequest' in scope
352 |         try await Retry.execute(
353 |             maxAttempts: 3,
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:87:23: error: cannot find 'URLRequest' in scope
 85 |         }
 86 |
 87 |         var request = URLRequest(url: forecastURL)
    |                       `- error: cannot find 'URLRequest' in scope
 88 |         request.setValue(userAgent, forHTTPHeaderField: "User-Agent")
 89 |         request.setValue("application/geo+json", forHTTPHeaderField: "Accept")
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:124:23: error: cannot find 'URLRequest' in scope
122 |         }
123 |
124 |         var request = URLRequest(url: hourlyURL)
    |                       `- error: cannot find 'URLRequest' in scope
125 |         request.setValue(userAgent, forHTTPHeaderField: "User-Agent")
126 |         request.setValue("application/geo+json", forHTTPHeaderField: "Accept")
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:256:23: error: cannot find 'URLRequest' in scope
254 |             .appendingPathComponent("\(latitude),\(longitude)")
255 |
256 |         var request = URLRequest(url: url)
    |                       `- error: cannot find 'URLRequest' in scope
257 |         request.setValue(userAgent, forHTTPHeaderField: "User-Agent")
258 |         request.setValue("application/geo+json", forHTTPHeaderField: "Accept")
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:274:31: error: cannot find 'URLRequest' in scope
272 |     private func getLatestObservation(from stationsURL: URL) async throws -> NWSObservation {
273 |         // First get the list of stations
274 |         var stationsRequest = URLRequest(url: stationsURL)
    |                               `- error: cannot find 'URLRequest' in scope
275 |         stationsRequest.setValue(userAgent, forHTTPHeaderField: "User-Agent")
276 |         stationsRequest.setValue("application/geo+json", forHTTPHeaderField: "Accept")
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:292:34: error: cannot find 'URLRequest' in scope
290 |             .appendingPathComponent("latest")
291 |
292 |         var observationRequest = URLRequest(url: observationURL)
    |                                  `- error: cannot find 'URLRequest' in scope
293 |         observationRequest.setValue(userAgent, forHTTPHeaderField: "User-Agent")
294 |         observationRequest.setValue("application/geo+json", forHTTPHeaderField: "Accept")
/host/spi-builder-workspace/Sources/Weather/Providers/NWSProvider.swift:368:54: error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
366 |             )
367 |         ) { [session, decoder] in
368 |             let (data, response) = try await session.data(for: request)
    |                                                      `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
369 |
370 |             guard let httpResponse = response as? HTTPURLResponse else {
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:21:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 19 |
 20 |     /// The URL session for requests.
 21 |     private let session: URLSession
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 22 |
 23 |     /// JSON decoder for responses.
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:31:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 29 |     /// Creates a new Open-Meteo provider.
 30 |     /// - Parameter session: The URL session to use. Defaults to `.shared`.
 31 |     public init(session: URLSession = .shared) {
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 32 |         self.session = session
 33 |         self.decoder = JSONDecoder()
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:31:40: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 29 |     /// Creates a new Open-Meteo provider.
 30 |     /// - Parameter session: The URL session to use. Defaults to `.shared`.
 31 |     public init(session: URLSession = .shared) {
    |                                        `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 32 |         self.session = session
 33 |         self.decoder = JSONDecoder()
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:205:62: error: cannot find type 'URLRequest' in scope
203 |     }
204 |
205 |     private func perform<T: Decodable & Sendable>(_ request: URLRequest) async throws -> T {
    |                                                              `- error: cannot find type 'URLRequest' in scope
206 |         try await Retry.execute(
207 |             maxAttempts: 3,
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:60:23: error: cannot find 'URLRequest' in scope
 58 |         }
 59 |
 60 |         let request = URLRequest(url: url)
    |                       `- error: cannot find 'URLRequest' in scope
 61 |         let response: OpenMeteoResponse = try await perform(request)
 62 |
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:103:23: error: cannot find 'URLRequest' in scope
101 |         }
102 |
103 |         let request = URLRequest(url: url)
    |                       `- error: cannot find 'URLRequest' in scope
104 |         let response: OpenMeteoForecastResponse = try await perform(request)
105 |
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:164:23: error: cannot find 'URLRequest' in scope
162 |         }
163 |
164 |         let request = URLRequest(url: url)
    |                       `- error: cannot find 'URLRequest' in scope
165 |         let response: OpenMeteoHourlyResponse = try await perform(request)
166 |
/host/spi-builder-workspace/Sources/Weather/Providers/OpenMeteoProvider.swift:222:54: error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
220 |             )
221 |         ) { [session, decoder] in
222 |             let (data, response) = try await session.data(for: request)
    |                                                      `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
223 |
224 |             guard let httpResponse = response as? HTTPURLResponse else {
[26/32] Compiling Weather WeatherError.swift
[27/32] Compiling Weather Temperature.swift
[28/32] Compiling Weather WeatherCondition.swift
[29/32] Compiling Weather Forecast.swift
[30/32] Compiling Weather Location.swift
[31/32] Compiling Weather GeocodingService.swift
/host/spi-builder-workspace/Sources/Weather/GeocodingService.swift:27:40: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 25 |     /// Creates a new geocoding service.
 26 |     /// - Parameter session: The URL session to use. Defaults to `.shared`.
 27 |     public init(session: URLSession = .shared) {
    |                                        `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 28 |         self.session = session
 29 |
/host/spi-builder-workspace/Sources/Weather/GeocodingService.swift:17:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 15 |
 16 |     /// The URL session for requests.
 17 |     private let session: URLSession
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 18 |
 19 |     /// JSON decoder for responses.
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/GeocodingService.swift:27:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 25 |     /// Creates a new geocoding service.
 26 |     /// - Parameter session: The URL session to use. Defaults to `.shared`.
 27 |     public init(session: URLSession = .shared) {
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 28 |         self.session = session
 29 |
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/GeocodingService.swift:55:23: error: cannot find 'URLRequest' in scope
 53 |         }
 54 |
 55 |         let request = URLRequest(url: url)
    |                       `- error: cannot find 'URLRequest' in scope
 56 |         let (data, response) = try await session.data(for: request)
 57 |
/host/spi-builder-workspace/Sources/Weather/GeocodingService.swift:56:50: error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
 54 |
 55 |         let request = URLRequest(url: url)
 56 |         let (data, response) = try await session.data(for: request)
    |                                                  `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
 57 |
 58 |         guard let httpResponse = response as? HTTPURLResponse else {
[32/32] Compiling Weather CurrentWeather.swift
/host/spi-builder-workspace/Sources/Weather/GeocodingService.swift:27:40: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 25 |     /// Creates a new geocoding service.
 26 |     /// - Parameter session: The URL session to use. Defaults to `.shared`.
 27 |     public init(session: URLSession = .shared) {
    |                                        `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 28 |         self.session = session
 29 |
/host/spi-builder-workspace/Sources/Weather/GeocodingService.swift:17:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 15 |
 16 |     /// The URL session for requests.
 17 |     private let session: URLSession
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 18 |
 19 |     /// JSON decoder for responses.
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/GeocodingService.swift:27:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 25 |     /// Creates a new geocoding service.
 26 |     /// - Parameter session: The URL session to use. Defaults to `.shared`.
 27 |     public init(session: URLSession = .shared) {
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 28 |         self.session = session
 29 |
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Weather/GeocodingService.swift:55:23: error: cannot find 'URLRequest' in scope
 53 |         }
 54 |
 55 |         let request = URLRequest(url: url)
    |                       `- error: cannot find 'URLRequest' in scope
 56 |         let (data, response) = try await session.data(for: request)
 57 |
/host/spi-builder-workspace/Sources/Weather/GeocodingService.swift:56:50: error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
 54 |
 55 |         let request = URLRequest(url: url)
 56 |         let (data, response) = try await session.data(for: request)
    |                                                  `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
 57 |
 58 |         guard let httpResponse = response as? HTTPURLResponse else {
BUILD FAILURE 6.1 wasm