Build Information
Failed to build Featureflow, reference 0.2.0 (838fcd), with Swift 6.1 for Android on 14 Aug 2026 23:37:52 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-54344845-2":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 2>&1Build Log
========================================
RunAll
========================================
Builder version: 5.0.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/featureflow/featureflow-ios-sdk.git
Reference: 0.2.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/featureflow/featureflow-ios-sdk
* tag 0.2.0 -> FETCH_HEAD
HEAD is now at 838fcd8 Release 0.2.0: application tag; CocoaPods dropped
Cloned https://github.com/featureflow/featureflow-ios-sdk.git
Revision (git rev-parse @):
838fcd81750b620869f3fed29f5a810b2d1e5e2b
SUCCESS checkout https://github.com/featureflow/featureflow-ios-sdk.git at 0.2.0
========================================
Build
========================================
Selected platform: android
Swift version: 6.1
Building package at path: $PWD
https://github.com/featureflow/featureflow-ios-sdk.git
https://github.com/featureflow/featureflow-ios-sdk.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344845-2":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
android-6.1-latest: Pulling from saguaro1/spi-images
Digest: sha256:0cd0efb458d677a6de9b5e028d30e2aa1d1b247c2277202ba317a28ce9e867e0
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.1-latest
Building for debugging...
[0/8] Write sources
[3/8] Write swift-version-24593BA9C3E375BF.txt
[5/22] Compiling Featureflow FeatureflowConfig.swift
[6/22] Compiling Featureflow FeatureflowUser.swift
[7/23] Compiling Featureflow JSONValue.swift
/host/spi-builder-workspace/Sources/Featureflow/JSONValue.swift:110:16: error: cannot find 'CFGetTypeID' in scope
108 | case let value as NSNumber:
109 | // NSNumber erases Bool, so check the ObjC type encoding before falling back to Double.
110 | if CFGetTypeID(value) == CFBooleanGetTypeID() {
| `- error: cannot find 'CFGetTypeID' in scope
111 | return .bool(value.boolValue)
112 | }
/host/spi-builder-workspace/Sources/Featureflow/JSONValue.swift:110:38: error: cannot find 'CFBooleanGetTypeID' in scope
108 | case let value as NSNumber:
109 | // NSNumber erases Bool, so check the ObjC type encoding before falling back to Double.
110 | if CFGetTypeID(value) == CFBooleanGetTypeID() {
| `- error: cannot find 'CFBooleanGetTypeID' in scope
111 | return .bool(value.boolValue)
112 | }
[8/23] Compiling Featureflow Lock.swift
/host/spi-builder-workspace/Sources/Featureflow/JSONValue.swift:110:16: error: cannot find 'CFGetTypeID' in scope
108 | case let value as NSNumber:
109 | // NSNumber erases Bool, so check the ObjC type encoding before falling back to Double.
110 | if CFGetTypeID(value) == CFBooleanGetTypeID() {
| `- error: cannot find 'CFGetTypeID' in scope
111 | return .bool(value.boolValue)
112 | }
/host/spi-builder-workspace/Sources/Featureflow/JSONValue.swift:110:38: error: cannot find 'CFBooleanGetTypeID' in scope
108 | case let value as NSNumber:
109 | // NSNumber erases Bool, so check the ObjC type encoding before falling back to Double.
110 | if CFGetTypeID(value) == CFBooleanGetTypeID() {
| `- error: cannot find 'CFBooleanGetTypeID' in scope
111 | return .bool(value.boolValue)
112 | }
[9/23] Compiling Featureflow Models.swift
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:36:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
34 | private let apiKey: String
35 | private let config: FeatureflowConfig
36 | private let session: URLSession
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
37 | /// Sanitised application tag (see `ApplicationTag`); nil = send no tag.
38 | private let application: String?
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/Featureflow/RestClient.swift:40:62: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
38 | private let application: String?
39 |
40 | init(apiKey: String, config: FeatureflowConfig, session: URLSession? = nil) {
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
41 | self.apiKey = apiKey
42 | self.config = config
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/Featureflow/RestClient.swift:103:57: error: cannot find type 'URLRequest' in scope
101 | /// Standard headers on every request. `X-Featureflow-Application` is write-only telemetry —
102 | /// it never affects the response, so it cannot fragment the CDN cache.
103 | private func applyStandardHeaders(to request: inout URLRequest) {
| `- error: cannot find type 'URLRequest' in scope
104 | request.setValue(Self.clientHeader, forHTTPHeaderField: "X-Featureflow-Client")
105 | if let application {
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:110:37: error: cannot find type 'URLRequest' in scope
108 | }
109 |
110 | private func perform(_ request: URLRequest) async throws -> (Data, URLResponse) {
| `- error: cannot find type 'URLRequest' in scope
111 | do {
112 | return try await session.data(for: request)
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:110:72: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
108 | }
109 |
110 | private func perform(_ request: URLRequest) async throws -> (Data, URLResponse) {
| `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
111 | do {
112 | return try await session.data(for: request)
Foundation.URLResponse:2:18: note: 'URLResponse' 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 URLResponse = AnyObject
| `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:118:43: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
116 | }
117 |
118 | private static func check(_ response: URLResponse) throws {
| `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
119 | guard let http = response as? HTTPURLResponse else { return }
120 | switch http.statusCode {
Foundation.URLResponse:2:18: note: 'URLResponse' 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 URLResponse = AnyObject
| `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:47:57: error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'ephemeral'
45 | self.session = session
46 | } else {
47 | let sessionConfig = URLSessionConfiguration.ephemeral
| `- error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'ephemeral'
48 | sessionConfig.timeoutIntervalForRequest = config.timeout
49 | // The SDK keeps its own on-disk cache of evaluations; a second URL cache layer would
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:51:49: error: cannot infer contextual base in reference to member 'reloadIgnoringLocalCacheData'
49 | // The SDK keeps its own on-disk cache of evaluations; a second URL cache layer would
50 | // only serve staler values behind it.
51 | sessionConfig.requestCachePolicy = .reloadIgnoringLocalCacheData
| `- error: cannot infer contextual base in reference to member 'reloadIgnoringLocalCacheData'
52 | self.session = URLSession(configuration: sessionConfig)
53 | }
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:52:28: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
50 | // only serve staler values behind it.
51 | sessionConfig.requestCachePolicy = .reloadIgnoringLocalCacheData
52 | self.session = URLSession(configuration: sessionConfig)
| `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
53 | }
54 | }
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:71:23: error: cannot find 'URLRequest' in scope
69 | }
70 |
71 | var request = URLRequest(url: url)
| `- error: cannot find 'URLRequest' in scope
72 | request.httpMethod = "GET"
73 | applyStandardHeaders(to: &request)
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:89:23: error: cannot find 'URLRequest' in scope
87 | func postEvents(_ events: [SdkEvent]) async throws {
88 | let url = config.eventsURL.appendingPathComponent("api/js/v1/event/\(apiKey)")
89 | var request = URLRequest(url: url)
| `- error: cannot find 'URLRequest' in scope
90 | request.httpMethod = "POST"
91 | request.setValue("application/json", forHTTPHeaderField: "Content-Type")
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:112:38: error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
110 | private func perform(_ request: URLRequest) async throws -> (Data, URLResponse) {
111 | do {
112 | return try await session.data(for: request)
| `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
113 | } catch {
114 | throw FeatureflowError.transport(error)
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:119:35: warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
117 |
118 | private static func check(_ response: URLResponse) throws {
119 | guard let http = response as? HTTPURLResponse else { return }
| `- warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
120 | switch http.statusCode {
121 | case 200..<300:
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:119:39: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
117 |
118 | private static func check(_ response: URLResponse) throws {
119 | guard let http = response as? HTTPURLResponse else { return }
| `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
120 | switch http.statusCode {
121 | case 200..<300:
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' 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 HTTPURLResponse = AnyObject
| `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:120:21: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
118 | private static func check(_ response: URLResponse) throws {
119 | guard let http = response as? HTTPURLResponse else { return }
120 | switch http.statusCode {
| `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
121 | case 200..<300:
122 | return
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:126:36: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'value'
124 | throw FeatureflowError.unauthorized
125 | case 429:
126 | let retryAfter = (http.value(forHTTPHeaderField: "Retry-After") as NSString?)?.doubleValue
| `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'value'
127 | throw FeatureflowError.rateLimited(retryAfter: retryAfter.flatMap { $0 > 0 ? $0 : nil })
128 | default:
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:129:54: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
127 | throw FeatureflowError.rateLimited(retryAfter: retryAfter.flatMap { $0 > 0 ? $0 : nil })
128 | default:
129 | throw FeatureflowError.http(status: http.statusCode)
| `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
130 | }
131 | }
[10/23] Compiling Featureflow RestClient.swift
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:36:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
34 | private let apiKey: String
35 | private let config: FeatureflowConfig
36 | private let session: URLSession
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
37 | /// Sanitised application tag (see `ApplicationTag`); nil = send no tag.
38 | private let application: String?
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/Featureflow/RestClient.swift:40:62: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
38 | private let application: String?
39 |
40 | init(apiKey: String, config: FeatureflowConfig, session: URLSession? = nil) {
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
41 | self.apiKey = apiKey
42 | self.config = config
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/Featureflow/RestClient.swift:103:57: error: cannot find type 'URLRequest' in scope
101 | /// Standard headers on every request. `X-Featureflow-Application` is write-only telemetry —
102 | /// it never affects the response, so it cannot fragment the CDN cache.
103 | private func applyStandardHeaders(to request: inout URLRequest) {
| `- error: cannot find type 'URLRequest' in scope
104 | request.setValue(Self.clientHeader, forHTTPHeaderField: "X-Featureflow-Client")
105 | if let application {
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:110:37: error: cannot find type 'URLRequest' in scope
108 | }
109 |
110 | private func perform(_ request: URLRequest) async throws -> (Data, URLResponse) {
| `- error: cannot find type 'URLRequest' in scope
111 | do {
112 | return try await session.data(for: request)
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:110:72: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
108 | }
109 |
110 | private func perform(_ request: URLRequest) async throws -> (Data, URLResponse) {
| `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
111 | do {
112 | return try await session.data(for: request)
Foundation.URLResponse:2:18: note: 'URLResponse' 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 URLResponse = AnyObject
| `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:118:43: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
116 | }
117 |
118 | private static func check(_ response: URLResponse) throws {
| `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
119 | guard let http = response as? HTTPURLResponse else { return }
120 | switch http.statusCode {
Foundation.URLResponse:2:18: note: 'URLResponse' 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 URLResponse = AnyObject
| `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:47:57: error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'ephemeral'
45 | self.session = session
46 | } else {
47 | let sessionConfig = URLSessionConfiguration.ephemeral
| `- error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'ephemeral'
48 | sessionConfig.timeoutIntervalForRequest = config.timeout
49 | // The SDK keeps its own on-disk cache of evaluations; a second URL cache layer would
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:51:49: error: cannot infer contextual base in reference to member 'reloadIgnoringLocalCacheData'
49 | // The SDK keeps its own on-disk cache of evaluations; a second URL cache layer would
50 | // only serve staler values behind it.
51 | sessionConfig.requestCachePolicy = .reloadIgnoringLocalCacheData
| `- error: cannot infer contextual base in reference to member 'reloadIgnoringLocalCacheData'
52 | self.session = URLSession(configuration: sessionConfig)
53 | }
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:52:28: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
50 | // only serve staler values behind it.
51 | sessionConfig.requestCachePolicy = .reloadIgnoringLocalCacheData
52 | self.session = URLSession(configuration: sessionConfig)
| `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
53 | }
54 | }
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:71:23: error: cannot find 'URLRequest' in scope
69 | }
70 |
71 | var request = URLRequest(url: url)
| `- error: cannot find 'URLRequest' in scope
72 | request.httpMethod = "GET"
73 | applyStandardHeaders(to: &request)
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:89:23: error: cannot find 'URLRequest' in scope
87 | func postEvents(_ events: [SdkEvent]) async throws {
88 | let url = config.eventsURL.appendingPathComponent("api/js/v1/event/\(apiKey)")
89 | var request = URLRequest(url: url)
| `- error: cannot find 'URLRequest' in scope
90 | request.httpMethod = "POST"
91 | request.setValue("application/json", forHTTPHeaderField: "Content-Type")
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:112:38: error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
110 | private func perform(_ request: URLRequest) async throws -> (Data, URLResponse) {
111 | do {
112 | return try await session.data(for: request)
| `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
113 | } catch {
114 | throw FeatureflowError.transport(error)
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:119:35: warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
117 |
118 | private static func check(_ response: URLResponse) throws {
119 | guard let http = response as? HTTPURLResponse else { return }
| `- warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
120 | switch http.statusCode {
121 | case 200..<300:
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:119:39: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
117 |
118 | private static func check(_ response: URLResponse) throws {
119 | guard let http = response as? HTTPURLResponse else { return }
| `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
120 | switch http.statusCode {
121 | case 200..<300:
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' 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 HTTPURLResponse = AnyObject
| `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:120:21: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
118 | private static func check(_ response: URLResponse) throws {
119 | guard let http = response as? HTTPURLResponse else { return }
120 | switch http.statusCode {
| `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
121 | case 200..<300:
122 | return
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:126:36: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'value'
124 | throw FeatureflowError.unauthorized
125 | case 429:
126 | let retryAfter = (http.value(forHTTPHeaderField: "Retry-After") as NSString?)?.doubleValue
| `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'value'
127 | throw FeatureflowError.rateLimited(retryAfter: retryAfter.flatMap { $0 > 0 ? $0 : nil })
128 | default:
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:129:54: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
127 | throw FeatureflowError.rateLimited(retryAfter: retryAfter.flatMap { $0 > 0 ? $0 : nil })
128 | default:
129 | throw FeatureflowError.http(status: http.statusCode)
| `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
130 | }
131 | }
[11/23] Compiling Featureflow RuleEvaluator.swift
[12/23] Compiling Featureflow FeatureStore.swift
/host/spi-builder-workspace/Sources/Featureflow/FeatureflowClient.swift:86:18: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
84 | user: FeatureflowUser,
85 | config: FeatureflowConfig,
86 | session: URLSession?
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
87 | ) {
88 | self.apiKey = apiKey
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/Featureflow/FeatureflowClient.swift:110:18: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
108 | user: FeatureflowUser? = nil,
109 | config: FeatureflowConfig = FeatureflowConfig(),
110 | session: URLSession? = nil
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
111 | ) async -> FeatureflowClient {
112 | let anonymousStore = AnonymousIDStore()
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
[13/23] Compiling Featureflow FeatureflowClient.swift
/host/spi-builder-workspace/Sources/Featureflow/FeatureflowClient.swift:86:18: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
84 | user: FeatureflowUser,
85 | config: FeatureflowConfig,
86 | session: URLSession?
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
87 | ) {
88 | self.apiKey = apiKey
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/Featureflow/FeatureflowClient.swift:110:18: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
108 | user: FeatureflowUser? = nil,
109 | config: FeatureflowConfig = FeatureflowConfig(),
110 | session: URLSession? = nil
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
111 | ) async -> FeatureflowClient {
112 | let anonymousStore = AnonymousIDStore()
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
[14/23] Compiling Featureflow Evaluation.swift
[15/23] Compiling Featureflow EventProcessor.swift
[16/23] Compiling Featureflow ApplicationTag.swift
[17/23] Compiling Featureflow Conditions.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[18/23] Emitting module Featureflow
/host/spi-builder-workspace/Sources/Featureflow/FeatureflowClient.swift:86:18: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
84 | user: FeatureflowUser,
85 | config: FeatureflowConfig,
86 | session: URLSession?
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
87 | ) {
88 | self.apiKey = apiKey
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/Featureflow/FeatureflowClient.swift:110:18: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
108 | user: FeatureflowUser? = nil,
109 | config: FeatureflowConfig = FeatureflowConfig(),
110 | session: URLSession? = nil
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
111 | ) async -> FeatureflowClient {
112 | let anonymousStore = AnonymousIDStore()
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/Featureflow/RestClient.swift:36:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
34 | private let apiKey: String
35 | private let config: FeatureflowConfig
36 | private let session: URLSession
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
37 | /// Sanitised application tag (see `ApplicationTag`); nil = send no tag.
38 | private let application: String?
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/Featureflow/RestClient.swift:40:62: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
38 | private let application: String?
39 |
40 | init(apiKey: String, config: FeatureflowConfig, session: URLSession? = nil) {
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
41 | self.apiKey = apiKey
42 | self.config = config
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/Featureflow/RestClient.swift:103:57: error: cannot find type 'URLRequest' in scope
101 | /// Standard headers on every request. `X-Featureflow-Application` is write-only telemetry —
102 | /// it never affects the response, so it cannot fragment the CDN cache.
103 | private func applyStandardHeaders(to request: inout URLRequest) {
| `- error: cannot find type 'URLRequest' in scope
104 | request.setValue(Self.clientHeader, forHTTPHeaderField: "X-Featureflow-Client")
105 | if let application {
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:110:37: error: cannot find type 'URLRequest' in scope
108 | }
109 |
110 | private func perform(_ request: URLRequest) async throws -> (Data, URLResponse) {
| `- error: cannot find type 'URLRequest' in scope
111 | do {
112 | return try await session.data(for: request)
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:110:72: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
108 | }
109 |
110 | private func perform(_ request: URLRequest) async throws -> (Data, URLResponse) {
| `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
111 | do {
112 | return try await session.data(for: request)
Foundation.URLResponse:2:18: note: 'URLResponse' 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 URLResponse = AnyObject
| `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:118:43: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
116 | }
117 |
118 | private static func check(_ response: URLResponse) throws {
| `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
119 | guard let http = response as? HTTPURLResponse else { return }
120 | switch http.statusCode {
Foundation.URLResponse:2:18: note: 'URLResponse' 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 URLResponse = AnyObject
| `- note: 'URLResponse' has been explicitly marked unavailable here
[19/23] Compiling Featureflow SwiftUISupport.swift
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344845-2":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 2>&1
android-6.1-latest: Pulling from saguaro1/spi-images
Digest: sha256:0cd0efb458d677a6de9b5e028d30e2aa1d1b247c2277202ba317a28ce9e867e0
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.1-latest
[0/1] Planning build
Building for debugging...
[0/5] Write swift-version-24593BA9C3E375BF.txt
[2/19] Compiling Featureflow RuleEvaluator.swift
[3/20] Compiling Featureflow SwiftUISupport.swift
[4/20] Compiling Featureflow FeatureflowConfig.swift
[5/20] Compiling Featureflow FeatureflowUser.swift
[6/20] Compiling Featureflow Models.swift
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:36:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
34 | private let apiKey: String
35 | private let config: FeatureflowConfig
36 | private let session: URLSession
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
37 | /// Sanitised application tag (see `ApplicationTag`); nil = send no tag.
38 | private let application: String?
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/Featureflow/RestClient.swift:40:62: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
38 | private let application: String?
39 |
40 | init(apiKey: String, config: FeatureflowConfig, session: URLSession? = nil) {
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
41 | self.apiKey = apiKey
42 | self.config = config
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/Featureflow/RestClient.swift:103:57: error: cannot find type 'URLRequest' in scope
101 | /// Standard headers on every request. `X-Featureflow-Application` is write-only telemetry —
102 | /// it never affects the response, so it cannot fragment the CDN cache.
103 | private func applyStandardHeaders(to request: inout URLRequest) {
| `- error: cannot find type 'URLRequest' in scope
104 | request.setValue(Self.clientHeader, forHTTPHeaderField: "X-Featureflow-Client")
105 | if let application {
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:110:37: error: cannot find type 'URLRequest' in scope
108 | }
109 |
110 | private func perform(_ request: URLRequest) async throws -> (Data, URLResponse) {
| `- error: cannot find type 'URLRequest' in scope
111 | do {
112 | return try await session.data(for: request)
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:110:72: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
108 | }
109 |
110 | private func perform(_ request: URLRequest) async throws -> (Data, URLResponse) {
| `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
111 | do {
112 | return try await session.data(for: request)
Foundation.URLResponse:2:18: note: 'URLResponse' 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 URLResponse = AnyObject
| `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:118:43: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
116 | }
117 |
118 | private static func check(_ response: URLResponse) throws {
| `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
119 | guard let http = response as? HTTPURLResponse else { return }
120 | switch http.statusCode {
Foundation.URLResponse:2:18: note: 'URLResponse' 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 URLResponse = AnyObject
| `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:47:57: error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'ephemeral'
45 | self.session = session
46 | } else {
47 | let sessionConfig = URLSessionConfiguration.ephemeral
| `- error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'ephemeral'
48 | sessionConfig.timeoutIntervalForRequest = config.timeout
49 | // The SDK keeps its own on-disk cache of evaluations; a second URL cache layer would
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:51:49: error: cannot infer contextual base in reference to member 'reloadIgnoringLocalCacheData'
49 | // The SDK keeps its own on-disk cache of evaluations; a second URL cache layer would
50 | // only serve staler values behind it.
51 | sessionConfig.requestCachePolicy = .reloadIgnoringLocalCacheData
| `- error: cannot infer contextual base in reference to member 'reloadIgnoringLocalCacheData'
52 | self.session = URLSession(configuration: sessionConfig)
53 | }
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:52:28: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
50 | // only serve staler values behind it.
51 | sessionConfig.requestCachePolicy = .reloadIgnoringLocalCacheData
52 | self.session = URLSession(configuration: sessionConfig)
| `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
53 | }
54 | }
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:71:23: error: cannot find 'URLRequest' in scope
69 | }
70 |
71 | var request = URLRequest(url: url)
| `- error: cannot find 'URLRequest' in scope
72 | request.httpMethod = "GET"
73 | applyStandardHeaders(to: &request)
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:89:23: error: cannot find 'URLRequest' in scope
87 | func postEvents(_ events: [SdkEvent]) async throws {
88 | let url = config.eventsURL.appendingPathComponent("api/js/v1/event/\(apiKey)")
89 | var request = URLRequest(url: url)
| `- error: cannot find 'URLRequest' in scope
90 | request.httpMethod = "POST"
91 | request.setValue("application/json", forHTTPHeaderField: "Content-Type")
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:112:38: error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
110 | private func perform(_ request: URLRequest) async throws -> (Data, URLResponse) {
111 | do {
112 | return try await session.data(for: request)
| `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
113 | } catch {
114 | throw FeatureflowError.transport(error)
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:119:35: warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
117 |
118 | private static func check(_ response: URLResponse) throws {
119 | guard let http = response as? HTTPURLResponse else { return }
| `- warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
120 | switch http.statusCode {
121 | case 200..<300:
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:119:39: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
117 |
118 | private static func check(_ response: URLResponse) throws {
119 | guard let http = response as? HTTPURLResponse else { return }
| `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
120 | switch http.statusCode {
121 | case 200..<300:
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' 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 HTTPURLResponse = AnyObject
| `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:120:21: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
118 | private static func check(_ response: URLResponse) throws {
119 | guard let http = response as? HTTPURLResponse else { return }
120 | switch http.statusCode {
| `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
121 | case 200..<300:
122 | return
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:126:36: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'value'
124 | throw FeatureflowError.unauthorized
125 | case 429:
126 | let retryAfter = (http.value(forHTTPHeaderField: "Retry-After") as NSString?)?.doubleValue
| `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'value'
127 | throw FeatureflowError.rateLimited(retryAfter: retryAfter.flatMap { $0 > 0 ? $0 : nil })
128 | default:
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:129:54: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
127 | throw FeatureflowError.rateLimited(retryAfter: retryAfter.flatMap { $0 > 0 ? $0 : nil })
128 | default:
129 | throw FeatureflowError.http(status: http.statusCode)
| `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
130 | }
131 | }
[7/20] Compiling Featureflow RestClient.swift
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:36:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
34 | private let apiKey: String
35 | private let config: FeatureflowConfig
36 | private let session: URLSession
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
37 | /// Sanitised application tag (see `ApplicationTag`); nil = send no tag.
38 | private let application: String?
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/Featureflow/RestClient.swift:40:62: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
38 | private let application: String?
39 |
40 | init(apiKey: String, config: FeatureflowConfig, session: URLSession? = nil) {
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
41 | self.apiKey = apiKey
42 | self.config = config
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/Featureflow/RestClient.swift:103:57: error: cannot find type 'URLRequest' in scope
101 | /// Standard headers on every request. `X-Featureflow-Application` is write-only telemetry —
102 | /// it never affects the response, so it cannot fragment the CDN cache.
103 | private func applyStandardHeaders(to request: inout URLRequest) {
| `- error: cannot find type 'URLRequest' in scope
104 | request.setValue(Self.clientHeader, forHTTPHeaderField: "X-Featureflow-Client")
105 | if let application {
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:110:37: error: cannot find type 'URLRequest' in scope
108 | }
109 |
110 | private func perform(_ request: URLRequest) async throws -> (Data, URLResponse) {
| `- error: cannot find type 'URLRequest' in scope
111 | do {
112 | return try await session.data(for: request)
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:110:72: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
108 | }
109 |
110 | private func perform(_ request: URLRequest) async throws -> (Data, URLResponse) {
| `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
111 | do {
112 | return try await session.data(for: request)
Foundation.URLResponse:2:18: note: 'URLResponse' 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 URLResponse = AnyObject
| `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:118:43: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
116 | }
117 |
118 | private static func check(_ response: URLResponse) throws {
| `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
119 | guard let http = response as? HTTPURLResponse else { return }
120 | switch http.statusCode {
Foundation.URLResponse:2:18: note: 'URLResponse' 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 URLResponse = AnyObject
| `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:47:57: error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'ephemeral'
45 | self.session = session
46 | } else {
47 | let sessionConfig = URLSessionConfiguration.ephemeral
| `- error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'ephemeral'
48 | sessionConfig.timeoutIntervalForRequest = config.timeout
49 | // The SDK keeps its own on-disk cache of evaluations; a second URL cache layer would
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:51:49: error: cannot infer contextual base in reference to member 'reloadIgnoringLocalCacheData'
49 | // The SDK keeps its own on-disk cache of evaluations; a second URL cache layer would
50 | // only serve staler values behind it.
51 | sessionConfig.requestCachePolicy = .reloadIgnoringLocalCacheData
| `- error: cannot infer contextual base in reference to member 'reloadIgnoringLocalCacheData'
52 | self.session = URLSession(configuration: sessionConfig)
53 | }
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:52:28: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
50 | // only serve staler values behind it.
51 | sessionConfig.requestCachePolicy = .reloadIgnoringLocalCacheData
52 | self.session = URLSession(configuration: sessionConfig)
| `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
53 | }
54 | }
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:71:23: error: cannot find 'URLRequest' in scope
69 | }
70 |
71 | var request = URLRequest(url: url)
| `- error: cannot find 'URLRequest' in scope
72 | request.httpMethod = "GET"
73 | applyStandardHeaders(to: &request)
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:89:23: error: cannot find 'URLRequest' in scope
87 | func postEvents(_ events: [SdkEvent]) async throws {
88 | let url = config.eventsURL.appendingPathComponent("api/js/v1/event/\(apiKey)")
89 | var request = URLRequest(url: url)
| `- error: cannot find 'URLRequest' in scope
90 | request.httpMethod = "POST"
91 | request.setValue("application/json", forHTTPHeaderField: "Content-Type")
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:112:38: error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
110 | private func perform(_ request: URLRequest) async throws -> (Data, URLResponse) {
111 | do {
112 | return try await session.data(for: request)
| `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
113 | } catch {
114 | throw FeatureflowError.transport(error)
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:119:35: warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
117 |
118 | private static func check(_ response: URLResponse) throws {
119 | guard let http = response as? HTTPURLResponse else { return }
| `- warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
120 | switch http.statusCode {
121 | case 200..<300:
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:119:39: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
117 |
118 | private static func check(_ response: URLResponse) throws {
119 | guard let http = response as? HTTPURLResponse else { return }
| `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
120 | switch http.statusCode {
121 | case 200..<300:
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' 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 HTTPURLResponse = AnyObject
| `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:120:21: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
118 | private static func check(_ response: URLResponse) throws {
119 | guard let http = response as? HTTPURLResponse else { return }
120 | switch http.statusCode {
| `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
121 | case 200..<300:
122 | return
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:126:36: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'value'
124 | throw FeatureflowError.unauthorized
125 | case 429:
126 | let retryAfter = (http.value(forHTTPHeaderField: "Retry-After") as NSString?)?.doubleValue
| `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'value'
127 | throw FeatureflowError.rateLimited(retryAfter: retryAfter.flatMap { $0 > 0 ? $0 : nil })
128 | default:
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:129:54: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
127 | throw FeatureflowError.rateLimited(retryAfter: retryAfter.flatMap { $0 > 0 ? $0 : nil })
128 | default:
129 | throw FeatureflowError.http(status: http.statusCode)
| `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
130 | }
131 | }
[8/20] Compiling Featureflow JSONValue.swift
/host/spi-builder-workspace/Sources/Featureflow/JSONValue.swift:110:16: error: cannot find 'CFGetTypeID' in scope
108 | case let value as NSNumber:
109 | // NSNumber erases Bool, so check the ObjC type encoding before falling back to Double.
110 | if CFGetTypeID(value) == CFBooleanGetTypeID() {
| `- error: cannot find 'CFGetTypeID' in scope
111 | return .bool(value.boolValue)
112 | }
/host/spi-builder-workspace/Sources/Featureflow/JSONValue.swift:110:38: error: cannot find 'CFBooleanGetTypeID' in scope
108 | case let value as NSNumber:
109 | // NSNumber erases Bool, so check the ObjC type encoding before falling back to Double.
110 | if CFGetTypeID(value) == CFBooleanGetTypeID() {
| `- error: cannot find 'CFBooleanGetTypeID' in scope
111 | return .bool(value.boolValue)
112 | }
[9/20] Compiling Featureflow Lock.swift
/host/spi-builder-workspace/Sources/Featureflow/JSONValue.swift:110:16: error: cannot find 'CFGetTypeID' in scope
108 | case let value as NSNumber:
109 | // NSNumber erases Bool, so check the ObjC type encoding before falling back to Double.
110 | if CFGetTypeID(value) == CFBooleanGetTypeID() {
| `- error: cannot find 'CFGetTypeID' in scope
111 | return .bool(value.boolValue)
112 | }
/host/spi-builder-workspace/Sources/Featureflow/JSONValue.swift:110:38: error: cannot find 'CFBooleanGetTypeID' in scope
108 | case let value as NSNumber:
109 | // NSNumber erases Bool, so check the ObjC type encoding before falling back to Double.
110 | if CFGetTypeID(value) == CFBooleanGetTypeID() {
| `- error: cannot find 'CFBooleanGetTypeID' in scope
111 | return .bool(value.boolValue)
112 | }
[10/20] Compiling Featureflow FeatureStore.swift
/host/spi-builder-workspace/Sources/Featureflow/FeatureflowClient.swift:86:18: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
84 | user: FeatureflowUser,
85 | config: FeatureflowConfig,
86 | session: URLSession?
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
87 | ) {
88 | self.apiKey = apiKey
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/Featureflow/FeatureflowClient.swift:110:18: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
108 | user: FeatureflowUser? = nil,
109 | config: FeatureflowConfig = FeatureflowConfig(),
110 | session: URLSession? = nil
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
111 | ) async -> FeatureflowClient {
112 | let anonymousStore = AnonymousIDStore()
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
[11/20] Compiling Featureflow FeatureflowClient.swift
/host/spi-builder-workspace/Sources/Featureflow/FeatureflowClient.swift:86:18: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
84 | user: FeatureflowUser,
85 | config: FeatureflowConfig,
86 | session: URLSession?
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
87 | ) {
88 | self.apiKey = apiKey
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/Featureflow/FeatureflowClient.swift:110:18: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
108 | user: FeatureflowUser? = nil,
109 | config: FeatureflowConfig = FeatureflowConfig(),
110 | session: URLSession? = nil
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
111 | ) async -> FeatureflowClient {
112 | let anonymousStore = AnonymousIDStore()
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
error: emit-module command failed with exit code 1 (use -v to see invocation)
[12/20] Emitting module Featureflow
/host/spi-builder-workspace/Sources/Featureflow/FeatureflowClient.swift:86:18: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
84 | user: FeatureflowUser,
85 | config: FeatureflowConfig,
86 | session: URLSession?
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
87 | ) {
88 | self.apiKey = apiKey
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/Featureflow/FeatureflowClient.swift:110:18: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
108 | user: FeatureflowUser? = nil,
109 | config: FeatureflowConfig = FeatureflowConfig(),
110 | session: URLSession? = nil
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
111 | ) async -> FeatureflowClient {
112 | let anonymousStore = AnonymousIDStore()
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/Featureflow/RestClient.swift:36:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
34 | private let apiKey: String
35 | private let config: FeatureflowConfig
36 | private let session: URLSession
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
37 | /// Sanitised application tag (see `ApplicationTag`); nil = send no tag.
38 | private let application: String?
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/Featureflow/RestClient.swift:40:62: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
38 | private let application: String?
39 |
40 | init(apiKey: String, config: FeatureflowConfig, session: URLSession? = nil) {
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
41 | self.apiKey = apiKey
42 | self.config = config
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/Featureflow/RestClient.swift:103:57: error: cannot find type 'URLRequest' in scope
101 | /// Standard headers on every request. `X-Featureflow-Application` is write-only telemetry —
102 | /// it never affects the response, so it cannot fragment the CDN cache.
103 | private func applyStandardHeaders(to request: inout URLRequest) {
| `- error: cannot find type 'URLRequest' in scope
104 | request.setValue(Self.clientHeader, forHTTPHeaderField: "X-Featureflow-Client")
105 | if let application {
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:110:37: error: cannot find type 'URLRequest' in scope
108 | }
109 |
110 | private func perform(_ request: URLRequest) async throws -> (Data, URLResponse) {
| `- error: cannot find type 'URLRequest' in scope
111 | do {
112 | return try await session.data(for: request)
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:110:72: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
108 | }
109 |
110 | private func perform(_ request: URLRequest) async throws -> (Data, URLResponse) {
| `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
111 | do {
112 | return try await session.data(for: request)
Foundation.URLResponse:2:18: note: 'URLResponse' 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 URLResponse = AnyObject
| `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Featureflow/RestClient.swift:118:43: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
116 | }
117 |
118 | private static func check(_ response: URLResponse) throws {
| `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
119 | guard let http = response as? HTTPURLResponse else { return }
120 | switch http.statusCode {
Foundation.URLResponse:2:18: note: 'URLResponse' 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 URLResponse = AnyObject
| `- note: 'URLResponse' has been explicitly marked unavailable here
[13/20] Compiling Featureflow ApplicationTag.swift
[14/20] Compiling Featureflow Conditions.swift
[15/20] Compiling Featureflow Evaluation.swift
[16/20] Compiling Featureflow EventProcessor.swift
BUILD FAILURE 6.1 android