The Swift Package Index logo.Swift Package Index

Build Information

Failed to build Franz, reference master (c39cd2), with Swift 6.2 for Android on 17 Jun 2025 14:00:22 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.2-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.64.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/kellanburket/franz.git
Reference: master
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/kellanburket/franz
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at c39cd28 Merge pull request #14 from lewissk/master
Cloned https://github.com/kellanburket/franz.git
Revision (git rev-parse @):
c39cd28aa8d78ab8446a50eb328993df99374a30
SUCCESS checkout https://github.com/kellanburket/franz.git at master
========================================
Build
========================================
Selected platform:         android
Swift version:             6.2
Building package at path:  $PWD
https://github.com/kellanburket/franz.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.2-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.2-latest: Pulling from finestructure/spi-images
Digest: sha256:b7c4a6b4153ff40ef9277e2157e708f835b8eb011095d53bd8db4594eb2b7798
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.2-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-8C5A4AE7A8CE2BA.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[3/29] Emitting module Franz
/host/spi-builder-workspace/Sources/Franz/API/GroupMembershipAPI.swift:419:25: warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
371 | typealias MemberId = String
372 |
373 | struct SyncGroupRequestMessage<T: KafkaMetadata>: KafkaType {
    |                                `- note: 'T' previously declared here
374 |
375 |     private var _groupId: String
    :
417 |     }
418 |
419 | 	struct GroupAssignment<T: KafkaMetadata>: KafkaType {
    |                         `- warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
420 |
421 | 		let memberId: String
/host/spi-builder-workspace/Sources/Franz/Connection.swift:89:39: error: cannot find type 'CFReadStream' in scope
 87 |     private var clientId: String
 88 |
 89 |     private var readStream: Unmanaged<CFReadStream>?
    |                                       `- error: cannot find type 'CFReadStream' in scope
 90 |     private var writeStream: Unmanaged<CFWriteStream>?
 91 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:90:40: error: cannot find type 'CFWriteStream' in scope
 88 |
 89 |     private var readStream: Unmanaged<CFReadStream>?
 90 |     private var writeStream: Unmanaged<CFWriteStream>?
    |                                        `- error: cannot find type 'CFWriteStream' in scope
 91 |
 92 |     private var inputStream: InputStream?
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:43:3: error: Objective-C interoperability is disabled
 41 |
 42 | 	var offsetsToCommit = [TopicName: [PartitionId: (Offset, OffsetMetadata?)]]()
 43 | 	@objc private func commitGroupoffsets() {
    |   `- error: Objective-C interoperability is disabled
 44 | 		guard let groupId = self.membership?.group.id, let broker = self.broker else { return }
 45 | 		broker.commitGroupOffset(groupId: groupId, topics: offsetsToCommit)
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:48:3: error: Objective-C interoperability is disabled
 46 | 	}
 47 |
 48 | 	@objc private func sendHeartbeat() {
    |   `- error: Objective-C interoperability is disabled
 49 | 		guard let groupId = self.membership?.group.id,
 50 | 			let generationId = self.membership?.group.generationId,
/host/spi-builder-workspace/Sources/Franz/Crypt/CRC32.swift:145:9: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'CRC32' to 'Hashable' by implementing 'hash(into:)' instead [#DeprecatedDeclaration]
143 |     private(set) var crc: UInt32 = 0
144 |
145 |     var hashValue: Int {
    |         `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'CRC32' to 'Hashable' by implementing 'hash(into:)' instead [#DeprecatedDeclaration]
146 |         return Int(crc)
147 |     }
/host/spi-builder-workspace/Sources/Franz/Group.swift:72:2: warning: 'internal(set)' modifier is redundant for an internal property
 70 |
 71 | 	var topics = Set<TopicName>()
 72 | 	internal(set) var assignedPartitions = [TopicName: [PartitionId]]()
    |  `- warning: 'internal(set)' modifier is redundant for an internal property
 73 | }
 74 |
/host/spi-builder-workspace/Sources/Franz/MessageSet.swift:12:2: error: Objective-C interoperability is disabled
 10 |
 11 |
 12 | @objc public class MessageSet: NSObject, KafkaType {
    |  `- error: Objective-C interoperability is disabled
 13 |     let values: [MessageSetItem]
 14 |
/host/spi-builder-workspace/Sources/Franz/MessageSet.swift:168:2: error: Objective-C interoperability is disabled
166 | */
167 | //TODO: Convert to struct
168 | @objc public class Message: NSObject {
    |  `- error: Objective-C interoperability is disabled
169 |
170 |     /**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:13:2: error: Objective-C interoperability is disabled
 11 | Base consumer delegate. Used by SimpleConsumer.
 12 | */
 13 | @objc public protocol ConsumerDelegate {
    |  `- error: Objective-C interoperability is disabled
 14 | 	/**
 15 | 	Called when the consumer has consumed a new Message
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:31:3: error: Objective-C interoperability is disabled
 29 | 	- Parameter errorDescription:   a description of the error returned from the server
 30 | 	*/
 31 | 	@objc optional func fetchDidFail(
    |   `- error: Objective-C interoperability is disabled
 32 | 		_ topic: String,
 33 | 		partition: Int32,
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:49:3: error: Objective-C interoperability is disabled
 47 | 	- Returns:  true if broker should attempt to retry request, false if not
 48 | 	*/
 49 | 	@objc optional func shouldRetryFailedFetch(
    |   `- error: Objective-C interoperability is disabled
 50 | 		_ topic: String,
 51 | 		partition: Int32,
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:69:3: error: Objective-C interoperability is disabled
 67 | 	- Parameter partition:  the partition
 68 | 	*/
 69 | 	@objc optional func topicPartitionLeaderNotFound(_ topic: String, partition: Int32)
    |   `- error: Objective-C interoperability is disabled
 70 | }
 71 |
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:76:2: error: Objective-C interoperability is disabled
 74 | High-level consumer delegate. Used by HighLevelConsumer.
 75 | */
 76 | @objc public protocol HighLevelConsumerDelegate: ConsumerDelegate {
    |  `- error: Objective-C interoperability is disabled
 77 | 	/**
 78 | 	Called after messages have been pulled for server.
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:86:3: error: Objective-C interoperability is disabled
 84 | 	- Returns:  true if offset should be committed, false if otherwise
 85 | 	*/
 86 | 	@objc optional func shouldCommitOffset(_ topic: String, partition: Int32, offset: Int64) -> Bool
    |   `- error: Objective-C interoperability is disabled
 87 |
 88 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:97:3: error: Objective-C interoperability is disabled
 95 | 	- Returns:  additional metadata to send with offset commit to server
 96 | 	*/
 97 | 	@objc optional func shouldAttachOffsetMetadata(_ topic: String, partition: Int32, offset: Int64) -> String?
    |   `- error: Objective-C interoperability is disabled
 98 |
 99 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:106:3: error: Objective-C interoperability is disabled
104 | 	- Parameter offset: the offset
105 | 	*/
106 | 	@objc optional func offsetDidCommit(_ topic: String, partition: Int32, offset: Int64)
    |   `- error: Objective-C interoperability is disabled
107 |
108 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:117:3: error: Objective-C interoperability is disabled
115 | 	- Parameter errorDescription: description of the error
116 | 	*/
117 | 	@objc optional func offsetCommitDidFail(_ topic: String, partition: Int32, offset: Int64, errorId: Int16, errorDescription: String)
    |   `- error: Objective-C interoperability is disabled
118 |
119 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:130:3: error: Objective-C interoperability is disabled
128 | 	- Returns: true if offset commit should be retried, false if otherwise
129 | 	*/
130 | 	@objc optional func shouldRetryFailedOffsetCommit(_ topic: String, partition: Int32, offset: Int64, errorId: Int16, errorDescription: String) -> Bool
    |   `- error: Objective-C interoperability is disabled
131 | }
132 |
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[4/32] Compiling Franz PlainMechanism.swift
/host/spi-builder-workspace/Sources/Franz/Connection.swift:89:39: error: cannot find type 'CFReadStream' in scope
 87 |     private var clientId: String
 88 |
 89 |     private var readStream: Unmanaged<CFReadStream>?
    |                                       `- error: cannot find type 'CFReadStream' in scope
 90 |     private var writeStream: Unmanaged<CFWriteStream>?
 91 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:90:40: error: cannot find type 'CFWriteStream' in scope
 88 |
 89 |     private var readStream: Unmanaged<CFReadStream>?
 90 |     private var writeStream: Unmanaged<CFWriteStream>?
    |                                        `- error: cannot find type 'CFWriteStream' in scope
 91 |
 92 |     private var inputStream: InputStream?
[5/32] Compiling Franz SaslMechanism.swift
/host/spi-builder-workspace/Sources/Franz/Connection.swift:89:39: error: cannot find type 'CFReadStream' in scope
 87 |     private var clientId: String
 88 |
 89 |     private var readStream: Unmanaged<CFReadStream>?
    |                                       `- error: cannot find type 'CFReadStream' in scope
 90 |     private var writeStream: Unmanaged<CFWriteStream>?
 91 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:90:40: error: cannot find type 'CFWriteStream' in scope
 88 |
 89 |     private var readStream: Unmanaged<CFReadStream>?
 90 |     private var writeStream: Unmanaged<CFWriteStream>?
    |                                        `- error: cannot find type 'CFWriteStream' in scope
 91 |
 92 |     private var inputStream: InputStream?
[6/32] Compiling Franz Topic.swift
/host/spi-builder-workspace/Sources/Franz/Connection.swift:89:39: error: cannot find type 'CFReadStream' in scope
 87 |     private var clientId: String
 88 |
 89 |     private var readStream: Unmanaged<CFReadStream>?
    |                                       `- error: cannot find type 'CFReadStream' in scope
 90 |     private var writeStream: Unmanaged<CFWriteStream>?
 91 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:90:40: error: cannot find type 'CFWriteStream' in scope
 88 |
 89 |     private var readStream: Unmanaged<CFReadStream>?
 90 |     private var writeStream: Unmanaged<CFWriteStream>?
    |                                        `- error: cannot find type 'CFWriteStream' in scope
 91 |
 92 |     private var inputStream: InputStream?
[7/32] Compiling Franz APIVersionsAPI.swift
[8/32] Compiling Franz AdminAPI.swift
[9/32] Compiling Franz CreateTopicsAPI.swift
[10/32] Compiling Franz FetchAPI.swift
[11/32] Compiling Franz MessageSet.swift
/host/spi-builder-workspace/Sources/Franz/MessageSet.swift:12:2: error: Objective-C interoperability is disabled
 10 |
 11 |
 12 | @objc public class MessageSet: NSObject, KafkaType {
    |  `- error: Objective-C interoperability is disabled
 13 |     let values: [MessageSetItem]
 14 |
/host/spi-builder-workspace/Sources/Franz/MessageSet.swift:168:2: error: Objective-C interoperability is disabled
166 | */
167 | //TODO: Convert to struct
168 | @objc public class Message: NSObject {
    |  `- error: Objective-C interoperability is disabled
169 |
170 |     /**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:13:2: error: Objective-C interoperability is disabled
 11 | Base consumer delegate. Used by SimpleConsumer.
 12 | */
 13 | @objc public protocol ConsumerDelegate {
    |  `- error: Objective-C interoperability is disabled
 14 | 	/**
 15 | 	Called when the consumer has consumed a new Message
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:31:8: error: 'optional' can only be applied to members of an '@objc' protocol
 29 | 	- Parameter errorDescription:   a description of the error returned from the server
 30 | 	*/
 31 | 	@objc optional func fetchDidFail(
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
 32 | 		_ topic: String,
 33 | 		partition: Int32,
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:31:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 29 | 	- Parameter errorDescription:   a description of the error returned from the server
 30 | 	*/
 31 | 	@objc optional func fetchDidFail(
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 32 | 		_ topic: String,
 33 | 		partition: Int32,
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:49:8: error: 'optional' can only be applied to members of an '@objc' protocol
 47 | 	- Returns:  true if broker should attempt to retry request, false if not
 48 | 	*/
 49 | 	@objc optional func shouldRetryFailedFetch(
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
 50 | 		_ topic: String,
 51 | 		partition: Int32,
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:49:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 47 | 	- Returns:  true if broker should attempt to retry request, false if not
 48 | 	*/
 49 | 	@objc optional func shouldRetryFailedFetch(
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 50 | 		_ topic: String,
 51 | 		partition: Int32,
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:69:8: error: 'optional' can only be applied to members of an '@objc' protocol
 67 | 	- Parameter partition:  the partition
 68 | 	*/
 69 | 	@objc optional func topicPartitionLeaderNotFound(_ topic: String, partition: Int32)
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
 70 | }
 71 |
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:69:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 67 | 	- Parameter partition:  the partition
 68 | 	*/
 69 | 	@objc optional func topicPartitionLeaderNotFound(_ topic: String, partition: Int32)
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 70 | }
 71 |
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:76:2: error: Objective-C interoperability is disabled
 74 | High-level consumer delegate. Used by HighLevelConsumer.
 75 | */
 76 | @objc public protocol HighLevelConsumerDelegate: ConsumerDelegate {
    |  `- error: Objective-C interoperability is disabled
 77 | 	/**
 78 | 	Called after messages have been pulled for server.
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:86:8: error: 'optional' can only be applied to members of an '@objc' protocol
 84 | 	- Returns:  true if offset should be committed, false if otherwise
 85 | 	*/
 86 | 	@objc optional func shouldCommitOffset(_ topic: String, partition: Int32, offset: Int64) -> Bool
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
 87 |
 88 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:86:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 84 | 	- Returns:  true if offset should be committed, false if otherwise
 85 | 	*/
 86 | 	@objc optional func shouldCommitOffset(_ topic: String, partition: Int32, offset: Int64) -> Bool
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 87 |
 88 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:97:8: error: 'optional' can only be applied to members of an '@objc' protocol
 95 | 	- Returns:  additional metadata to send with offset commit to server
 96 | 	*/
 97 | 	@objc optional func shouldAttachOffsetMetadata(_ topic: String, partition: Int32, offset: Int64) -> String?
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
 98 |
 99 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:97:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 95 | 	- Returns:  additional metadata to send with offset commit to server
 96 | 	*/
 97 | 	@objc optional func shouldAttachOffsetMetadata(_ topic: String, partition: Int32, offset: Int64) -> String?
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 98 |
 99 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:106:8: error: 'optional' can only be applied to members of an '@objc' protocol
104 | 	- Parameter offset: the offset
105 | 	*/
106 | 	@objc optional func offsetDidCommit(_ topic: String, partition: Int32, offset: Int64)
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
107 |
108 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:106:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
104 | 	- Parameter offset: the offset
105 | 	*/
106 | 	@objc optional func offsetDidCommit(_ topic: String, partition: Int32, offset: Int64)
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
107 |
108 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:117:8: error: 'optional' can only be applied to members of an '@objc' protocol
115 | 	- Parameter errorDescription: description of the error
116 | 	*/
117 | 	@objc optional func offsetCommitDidFail(_ topic: String, partition: Int32, offset: Int64, errorId: Int16, errorDescription: String)
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
118 |
119 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:117:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
115 | 	- Parameter errorDescription: description of the error
116 | 	*/
117 | 	@objc optional func offsetCommitDidFail(_ topic: String, partition: Int32, offset: Int64, errorId: Int16, errorDescription: String)
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
118 |
119 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:130:8: error: 'optional' can only be applied to members of an '@objc' protocol
128 | 	- Returns: true if offset commit should be retried, false if otherwise
129 | 	*/
130 | 	@objc optional func shouldRetryFailedOffsetCommit(_ topic: String, partition: Int32, offset: Int64, errorId: Int16, errorDescription: String) -> Bool
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
131 | }
132 |
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:130:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
128 | 	- Returns: true if offset commit should be retried, false if otherwise
129 | 	*/
130 | 	@objc optional func shouldRetryFailedOffsetCommit(_ topic: String, partition: Int32, offset: Int64, errorId: Int16, errorDescription: String) -> Bool
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
131 | }
132 |
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:189:65: error: cannot use optional chaining on non-optional value of type '(String, Int32, Int16, String) -> Bool'
187 | 				print("Failed polling with a non-kafka error")
188 | 			case .kafkaError(let errorCode):
189 | 				if errorCode.retriable, self.delegate.shouldRetryFailedFetch?(self._topic, partition: self._partition, errorId: errorCode.code, errorDescription: errorCode.description) ?? true {
    |                                                                 `- error: cannot use optional chaining on non-optional value of type '(String, Int32, Int16, String) -> Bool'
190 | 					self.poll(offset)
191 | 				}
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:244:85: error: cannot force unwrap value of non-optional type '(String, Int32, Int64) -> Bool'
242 | 			}
243 |
244 | 			guard self.delegate.shouldCommitOffset != nil && self.delegate.shouldCommitOffset!(self._topic, partition: self._partition, offset: offset) else {
    |                                                                                     `- error: cannot force unwrap value of non-optional type '(String, Int32, Int64) -> Bool'
245 | 				return
246 | 			}
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:258:65: error: cannot use optional chaining on non-optional value of type '(String, Int32, Int16, String) -> Bool'
256 | 				print("Failed polling with a non-kafka error")
257 | 			case .kafkaError(let errorCode):
258 | 				if errorCode.retriable, self.delegate.shouldRetryFailedFetch?(self._topic, partition: self._partition, errorId: errorCode.code, errorDescription: errorCode.description) ?? true {
    |                                                                 `- error: cannot use optional chaining on non-optional value of type '(String, Int32, Int16, String) -> Bool'
259 | 					self.poll()
260 | 				}
[12/32] Compiling Franz OldConsumers.swift
/host/spi-builder-workspace/Sources/Franz/MessageSet.swift:12:2: error: Objective-C interoperability is disabled
 10 |
 11 |
 12 | @objc public class MessageSet: NSObject, KafkaType {
    |  `- error: Objective-C interoperability is disabled
 13 |     let values: [MessageSetItem]
 14 |
/host/spi-builder-workspace/Sources/Franz/MessageSet.swift:168:2: error: Objective-C interoperability is disabled
166 | */
167 | //TODO: Convert to struct
168 | @objc public class Message: NSObject {
    |  `- error: Objective-C interoperability is disabled
169 |
170 |     /**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:13:2: error: Objective-C interoperability is disabled
 11 | Base consumer delegate. Used by SimpleConsumer.
 12 | */
 13 | @objc public protocol ConsumerDelegate {
    |  `- error: Objective-C interoperability is disabled
 14 | 	/**
 15 | 	Called when the consumer has consumed a new Message
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:31:8: error: 'optional' can only be applied to members of an '@objc' protocol
 29 | 	- Parameter errorDescription:   a description of the error returned from the server
 30 | 	*/
 31 | 	@objc optional func fetchDidFail(
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
 32 | 		_ topic: String,
 33 | 		partition: Int32,
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:31:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 29 | 	- Parameter errorDescription:   a description of the error returned from the server
 30 | 	*/
 31 | 	@objc optional func fetchDidFail(
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 32 | 		_ topic: String,
 33 | 		partition: Int32,
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:49:8: error: 'optional' can only be applied to members of an '@objc' protocol
 47 | 	- Returns:  true if broker should attempt to retry request, false if not
 48 | 	*/
 49 | 	@objc optional func shouldRetryFailedFetch(
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
 50 | 		_ topic: String,
 51 | 		partition: Int32,
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:49:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 47 | 	- Returns:  true if broker should attempt to retry request, false if not
 48 | 	*/
 49 | 	@objc optional func shouldRetryFailedFetch(
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 50 | 		_ topic: String,
 51 | 		partition: Int32,
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:69:8: error: 'optional' can only be applied to members of an '@objc' protocol
 67 | 	- Parameter partition:  the partition
 68 | 	*/
 69 | 	@objc optional func topicPartitionLeaderNotFound(_ topic: String, partition: Int32)
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
 70 | }
 71 |
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:69:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 67 | 	- Parameter partition:  the partition
 68 | 	*/
 69 | 	@objc optional func topicPartitionLeaderNotFound(_ topic: String, partition: Int32)
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 70 | }
 71 |
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:76:2: error: Objective-C interoperability is disabled
 74 | High-level consumer delegate. Used by HighLevelConsumer.
 75 | */
 76 | @objc public protocol HighLevelConsumerDelegate: ConsumerDelegate {
    |  `- error: Objective-C interoperability is disabled
 77 | 	/**
 78 | 	Called after messages have been pulled for server.
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:86:8: error: 'optional' can only be applied to members of an '@objc' protocol
 84 | 	- Returns:  true if offset should be committed, false if otherwise
 85 | 	*/
 86 | 	@objc optional func shouldCommitOffset(_ topic: String, partition: Int32, offset: Int64) -> Bool
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
 87 |
 88 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:86:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 84 | 	- Returns:  true if offset should be committed, false if otherwise
 85 | 	*/
 86 | 	@objc optional func shouldCommitOffset(_ topic: String, partition: Int32, offset: Int64) -> Bool
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 87 |
 88 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:97:8: error: 'optional' can only be applied to members of an '@objc' protocol
 95 | 	- Returns:  additional metadata to send with offset commit to server
 96 | 	*/
 97 | 	@objc optional func shouldAttachOffsetMetadata(_ topic: String, partition: Int32, offset: Int64) -> String?
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
 98 |
 99 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:97:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 95 | 	- Returns:  additional metadata to send with offset commit to server
 96 | 	*/
 97 | 	@objc optional func shouldAttachOffsetMetadata(_ topic: String, partition: Int32, offset: Int64) -> String?
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 98 |
 99 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:106:8: error: 'optional' can only be applied to members of an '@objc' protocol
104 | 	- Parameter offset: the offset
105 | 	*/
106 | 	@objc optional func offsetDidCommit(_ topic: String, partition: Int32, offset: Int64)
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
107 |
108 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:106:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
104 | 	- Parameter offset: the offset
105 | 	*/
106 | 	@objc optional func offsetDidCommit(_ topic: String, partition: Int32, offset: Int64)
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
107 |
108 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:117:8: error: 'optional' can only be applied to members of an '@objc' protocol
115 | 	- Parameter errorDescription: description of the error
116 | 	*/
117 | 	@objc optional func offsetCommitDidFail(_ topic: String, partition: Int32, offset: Int64, errorId: Int16, errorDescription: String)
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
118 |
119 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:117:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
115 | 	- Parameter errorDescription: description of the error
116 | 	*/
117 | 	@objc optional func offsetCommitDidFail(_ topic: String, partition: Int32, offset: Int64, errorId: Int16, errorDescription: String)
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
118 |
119 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:130:8: error: 'optional' can only be applied to members of an '@objc' protocol
128 | 	- Returns: true if offset commit should be retried, false if otherwise
129 | 	*/
130 | 	@objc optional func shouldRetryFailedOffsetCommit(_ topic: String, partition: Int32, offset: Int64, errorId: Int16, errorDescription: String) -> Bool
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
131 | }
132 |
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:130:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
128 | 	- Returns: true if offset commit should be retried, false if otherwise
129 | 	*/
130 | 	@objc optional func shouldRetryFailedOffsetCommit(_ topic: String, partition: Int32, offset: Int64, errorId: Int16, errorDescription: String) -> Bool
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
131 | }
132 |
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:189:65: error: cannot use optional chaining on non-optional value of type '(String, Int32, Int16, String) -> Bool'
187 | 				print("Failed polling with a non-kafka error")
188 | 			case .kafkaError(let errorCode):
189 | 				if errorCode.retriable, self.delegate.shouldRetryFailedFetch?(self._topic, partition: self._partition, errorId: errorCode.code, errorDescription: errorCode.description) ?? true {
    |                                                                 `- error: cannot use optional chaining on non-optional value of type '(String, Int32, Int16, String) -> Bool'
190 | 					self.poll(offset)
191 | 				}
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:244:85: error: cannot force unwrap value of non-optional type '(String, Int32, Int64) -> Bool'
242 | 			}
243 |
244 | 			guard self.delegate.shouldCommitOffset != nil && self.delegate.shouldCommitOffset!(self._topic, partition: self._partition, offset: offset) else {
    |                                                                                     `- error: cannot force unwrap value of non-optional type '(String, Int32, Int64) -> Bool'
245 | 				return
246 | 			}
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:258:65: error: cannot use optional chaining on non-optional value of type '(String, Int32, Int16, String) -> Bool'
256 | 				print("Failed polling with a non-kafka error")
257 | 			case .kafkaError(let errorCode):
258 | 				if errorCode.retriable, self.delegate.shouldRetryFailedFetch?(self._topic, partition: self._partition, errorId: errorCode.code, errorDescription: errorCode.description) ?? true {
    |                                                                 `- error: cannot use optional chaining on non-optional value of type '(String, Int32, Int16, String) -> Bool'
259 | 					self.poll()
260 | 				}
[13/32] Compiling Franz Partition.swift
/host/spi-builder-workspace/Sources/Franz/MessageSet.swift:12:2: error: Objective-C interoperability is disabled
 10 |
 11 |
 12 | @objc public class MessageSet: NSObject, KafkaType {
    |  `- error: Objective-C interoperability is disabled
 13 |     let values: [MessageSetItem]
 14 |
/host/spi-builder-workspace/Sources/Franz/MessageSet.swift:168:2: error: Objective-C interoperability is disabled
166 | */
167 | //TODO: Convert to struct
168 | @objc public class Message: NSObject {
    |  `- error: Objective-C interoperability is disabled
169 |
170 |     /**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:13:2: error: Objective-C interoperability is disabled
 11 | Base consumer delegate. Used by SimpleConsumer.
 12 | */
 13 | @objc public protocol ConsumerDelegate {
    |  `- error: Objective-C interoperability is disabled
 14 | 	/**
 15 | 	Called when the consumer has consumed a new Message
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:31:8: error: 'optional' can only be applied to members of an '@objc' protocol
 29 | 	- Parameter errorDescription:   a description of the error returned from the server
 30 | 	*/
 31 | 	@objc optional func fetchDidFail(
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
 32 | 		_ topic: String,
 33 | 		partition: Int32,
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:31:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 29 | 	- Parameter errorDescription:   a description of the error returned from the server
 30 | 	*/
 31 | 	@objc optional func fetchDidFail(
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 32 | 		_ topic: String,
 33 | 		partition: Int32,
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:49:8: error: 'optional' can only be applied to members of an '@objc' protocol
 47 | 	- Returns:  true if broker should attempt to retry request, false if not
 48 | 	*/
 49 | 	@objc optional func shouldRetryFailedFetch(
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
 50 | 		_ topic: String,
 51 | 		partition: Int32,
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:49:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 47 | 	- Returns:  true if broker should attempt to retry request, false if not
 48 | 	*/
 49 | 	@objc optional func shouldRetryFailedFetch(
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 50 | 		_ topic: String,
 51 | 		partition: Int32,
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:69:8: error: 'optional' can only be applied to members of an '@objc' protocol
 67 | 	- Parameter partition:  the partition
 68 | 	*/
 69 | 	@objc optional func topicPartitionLeaderNotFound(_ topic: String, partition: Int32)
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
 70 | }
 71 |
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:69:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 67 | 	- Parameter partition:  the partition
 68 | 	*/
 69 | 	@objc optional func topicPartitionLeaderNotFound(_ topic: String, partition: Int32)
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 70 | }
 71 |
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:76:2: error: Objective-C interoperability is disabled
 74 | High-level consumer delegate. Used by HighLevelConsumer.
 75 | */
 76 | @objc public protocol HighLevelConsumerDelegate: ConsumerDelegate {
    |  `- error: Objective-C interoperability is disabled
 77 | 	/**
 78 | 	Called after messages have been pulled for server.
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:86:8: error: 'optional' can only be applied to members of an '@objc' protocol
 84 | 	- Returns:  true if offset should be committed, false if otherwise
 85 | 	*/
 86 | 	@objc optional func shouldCommitOffset(_ topic: String, partition: Int32, offset: Int64) -> Bool
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
 87 |
 88 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:86:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 84 | 	- Returns:  true if offset should be committed, false if otherwise
 85 | 	*/
 86 | 	@objc optional func shouldCommitOffset(_ topic: String, partition: Int32, offset: Int64) -> Bool
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 87 |
 88 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:97:8: error: 'optional' can only be applied to members of an '@objc' protocol
 95 | 	- Returns:  additional metadata to send with offset commit to server
 96 | 	*/
 97 | 	@objc optional func shouldAttachOffsetMetadata(_ topic: String, partition: Int32, offset: Int64) -> String?
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
 98 |
 99 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:97:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 95 | 	- Returns:  additional metadata to send with offset commit to server
 96 | 	*/
 97 | 	@objc optional func shouldAttachOffsetMetadata(_ topic: String, partition: Int32, offset: Int64) -> String?
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
 98 |
 99 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:106:8: error: 'optional' can only be applied to members of an '@objc' protocol
104 | 	- Parameter offset: the offset
105 | 	*/
106 | 	@objc optional func offsetDidCommit(_ topic: String, partition: Int32, offset: Int64)
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
107 |
108 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:106:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
104 | 	- Parameter offset: the offset
105 | 	*/
106 | 	@objc optional func offsetDidCommit(_ topic: String, partition: Int32, offset: Int64)
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
107 |
108 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:117:8: error: 'optional' can only be applied to members of an '@objc' protocol
115 | 	- Parameter errorDescription: description of the error
116 | 	*/
117 | 	@objc optional func offsetCommitDidFail(_ topic: String, partition: Int32, offset: Int64, errorId: Int16, errorDescription: String)
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
118 |
119 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:117:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
115 | 	- Parameter errorDescription: description of the error
116 | 	*/
117 | 	@objc optional func offsetCommitDidFail(_ topic: String, partition: Int32, offset: Int64, errorId: Int16, errorDescription: String)
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
118 |
119 | 	/**
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:130:8: error: 'optional' can only be applied to members of an '@objc' protocol
128 | 	- Returns: true if offset commit should be retried, false if otherwise
129 | 	*/
130 | 	@objc optional func shouldRetryFailedOffsetCommit(_ topic: String, partition: Int32, offset: Int64, errorId: Int16, errorDescription: String) -> Bool
    |        `- error: 'optional' can only be applied to members of an '@objc' protocol
131 | }
132 |
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:130:3: error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
128 | 	- Returns: true if offset commit should be retried, false if otherwise
129 | 	*/
130 | 	@objc optional func shouldRetryFailedOffsetCommit(_ topic: String, partition: Int32, offset: Int64, errorId: Int16, errorDescription: String) -> Bool
    |   `- error: '@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes
131 | }
132 |
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:189:65: error: cannot use optional chaining on non-optional value of type '(String, Int32, Int16, String) -> Bool'
187 | 				print("Failed polling with a non-kafka error")
188 | 			case .kafkaError(let errorCode):
189 | 				if errorCode.retriable, self.delegate.shouldRetryFailedFetch?(self._topic, partition: self._partition, errorId: errorCode.code, errorDescription: errorCode.description) ?? true {
    |                                                                 `- error: cannot use optional chaining on non-optional value of type '(String, Int32, Int16, String) -> Bool'
190 | 					self.poll(offset)
191 | 				}
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:244:85: error: cannot force unwrap value of non-optional type '(String, Int32, Int64) -> Bool'
242 | 			}
243 |
244 | 			guard self.delegate.shouldCommitOffset != nil && self.delegate.shouldCommitOffset!(self._topic, partition: self._partition, offset: offset) else {
    |                                                                                     `- error: cannot force unwrap value of non-optional type '(String, Int32, Int64) -> Bool'
245 | 				return
246 | 			}
/host/spi-builder-workspace/Sources/Franz/OldConsumers.swift:258:65: error: cannot use optional chaining on non-optional value of type '(String, Int32, Int16, String) -> Bool'
256 | 				print("Failed polling with a non-kafka error")
257 | 			case .kafkaError(let errorCode):
258 | 				if errorCode.retriable, self.delegate.shouldRetryFailedFetch?(self._topic, partition: self._partition, errorId: errorCode.code, errorDescription: errorCode.description) ?? true {
    |                                                                 `- error: cannot use optional chaining on non-optional value of type '(String, Int32, Int16, String) -> Bool'
259 | 					self.poll()
260 | 				}
[14/32] Compiling Franz Consumer.swift
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:43:3: error: Objective-C interoperability is disabled
 41 |
 42 | 	var offsetsToCommit = [TopicName: [PartitionId: (Offset, OffsetMetadata?)]]()
 43 | 	@objc private func commitGroupoffsets() {
    |   `- error: Objective-C interoperability is disabled
 44 | 		guard let groupId = self.membership?.group.id, let broker = self.broker else { return }
 45 | 		broker.commitGroupOffset(groupId: groupId, topics: offsetsToCommit)
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:48:3: error: Objective-C interoperability is disabled
 46 | 	}
 47 |
 48 | 	@objc private func sendHeartbeat() {
    |   `- error: Objective-C interoperability is disabled
 49 | 		guard let groupId = self.membership?.group.id,
 50 | 			let generationId = self.membership?.group.generationId,
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:35:86: error: '#selector' can only be used with the Objective-C runtime
 33 | 		} else {
 34 | 			// Fallback on earlier versions
 35 | 			groupOffsetsTimer = Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector(commitGroupoffsets), userInfo: nil, repeats: true)
    |                                                                                      `- error: '#selector' can only be used with the Objective-C runtime
 36 | 			heartbeatTimer =  Timer.scheduledTimer(timeInterval: 3, target: self, selector: #selector(sendHeartbeat), userInfo: nil, repeats: true)
 37 | 		}
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:36:84: error: '#selector' can only be used with the Objective-C runtime
 34 | 			// Fallback on earlier versions
 35 | 			groupOffsetsTimer = Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector(commitGroupoffsets), userInfo: nil, repeats: true)
 36 | 			heartbeatTimer =  Timer.scheduledTimer(timeInterval: 3, target: self, selector: #selector(sendHeartbeat), userInfo: nil, repeats: true)
    |                                                                                    `- error: '#selector' can only be used with the Objective-C runtime
 37 | 		}
 38 | 	}
/host/spi-builder-workspace/Sources/Franz/Crypt/CRC32.swift:145:9: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'CRC32' to 'Hashable' by implementing 'hash(into:)' instead [#DeprecatedDeclaration]
143 |     private(set) var crc: UInt32 = 0
144 |
145 |     var hashValue: Int {
    |         `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'CRC32' to 'Hashable' by implementing 'hash(into:)' instead [#DeprecatedDeclaration]
146 |         return Int(crc)
147 |     }
/host/spi-builder-workspace/Sources/Franz/Group.swift:72:2: warning: 'internal(set)' modifier is redundant for an internal property
 70 |
 71 | 	var topics = Set<TopicName>()
 72 | 	internal(set) var assignedPartitions = [TopicName: [PartitionId]]()
    |  `- warning: 'internal(set)' modifier is redundant for an internal property
 73 | }
 74 |
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[15/32] Compiling Franz CRC32.swift
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:43:3: error: Objective-C interoperability is disabled
 41 |
 42 | 	var offsetsToCommit = [TopicName: [PartitionId: (Offset, OffsetMetadata?)]]()
 43 | 	@objc private func commitGroupoffsets() {
    |   `- error: Objective-C interoperability is disabled
 44 | 		guard let groupId = self.membership?.group.id, let broker = self.broker else { return }
 45 | 		broker.commitGroupOffset(groupId: groupId, topics: offsetsToCommit)
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:48:3: error: Objective-C interoperability is disabled
 46 | 	}
 47 |
 48 | 	@objc private func sendHeartbeat() {
    |   `- error: Objective-C interoperability is disabled
 49 | 		guard let groupId = self.membership?.group.id,
 50 | 			let generationId = self.membership?.group.generationId,
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:35:86: error: '#selector' can only be used with the Objective-C runtime
 33 | 		} else {
 34 | 			// Fallback on earlier versions
 35 | 			groupOffsetsTimer = Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector(commitGroupoffsets), userInfo: nil, repeats: true)
    |                                                                                      `- error: '#selector' can only be used with the Objective-C runtime
 36 | 			heartbeatTimer =  Timer.scheduledTimer(timeInterval: 3, target: self, selector: #selector(sendHeartbeat), userInfo: nil, repeats: true)
 37 | 		}
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:36:84: error: '#selector' can only be used with the Objective-C runtime
 34 | 			// Fallback on earlier versions
 35 | 			groupOffsetsTimer = Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector(commitGroupoffsets), userInfo: nil, repeats: true)
 36 | 			heartbeatTimer =  Timer.scheduledTimer(timeInterval: 3, target: self, selector: #selector(sendHeartbeat), userInfo: nil, repeats: true)
    |                                                                                    `- error: '#selector' can only be used with the Objective-C runtime
 37 | 		}
 38 | 	}
/host/spi-builder-workspace/Sources/Franz/Crypt/CRC32.swift:145:9: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'CRC32' to 'Hashable' by implementing 'hash(into:)' instead [#DeprecatedDeclaration]
143 |     private(set) var crc: UInt32 = 0
144 |
145 |     var hashValue: Int {
    |         `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'CRC32' to 'Hashable' by implementing 'hash(into:)' instead [#DeprecatedDeclaration]
146 |         return Int(crc)
147 |     }
/host/spi-builder-workspace/Sources/Franz/Group.swift:72:2: warning: 'internal(set)' modifier is redundant for an internal property
 70 |
 71 | 	var topics = Set<TopicName>()
 72 | 	internal(set) var assignedPartitions = [TopicName: [PartitionId]]()
    |  `- warning: 'internal(set)' modifier is redundant for an internal property
 73 | }
 74 |
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[16/32] Compiling Franz Enumerations.swift
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:43:3: error: Objective-C interoperability is disabled
 41 |
 42 | 	var offsetsToCommit = [TopicName: [PartitionId: (Offset, OffsetMetadata?)]]()
 43 | 	@objc private func commitGroupoffsets() {
    |   `- error: Objective-C interoperability is disabled
 44 | 		guard let groupId = self.membership?.group.id, let broker = self.broker else { return }
 45 | 		broker.commitGroupOffset(groupId: groupId, topics: offsetsToCommit)
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:48:3: error: Objective-C interoperability is disabled
 46 | 	}
 47 |
 48 | 	@objc private func sendHeartbeat() {
    |   `- error: Objective-C interoperability is disabled
 49 | 		guard let groupId = self.membership?.group.id,
 50 | 			let generationId = self.membership?.group.generationId,
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:35:86: error: '#selector' can only be used with the Objective-C runtime
 33 | 		} else {
 34 | 			// Fallback on earlier versions
 35 | 			groupOffsetsTimer = Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector(commitGroupoffsets), userInfo: nil, repeats: true)
    |                                                                                      `- error: '#selector' can only be used with the Objective-C runtime
 36 | 			heartbeatTimer =  Timer.scheduledTimer(timeInterval: 3, target: self, selector: #selector(sendHeartbeat), userInfo: nil, repeats: true)
 37 | 		}
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:36:84: error: '#selector' can only be used with the Objective-C runtime
 34 | 			// Fallback on earlier versions
 35 | 			groupOffsetsTimer = Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector(commitGroupoffsets), userInfo: nil, repeats: true)
 36 | 			heartbeatTimer =  Timer.scheduledTimer(timeInterval: 3, target: self, selector: #selector(sendHeartbeat), userInfo: nil, repeats: true)
    |                                                                                    `- error: '#selector' can only be used with the Objective-C runtime
 37 | 		}
 38 | 	}
/host/spi-builder-workspace/Sources/Franz/Crypt/CRC32.swift:145:9: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'CRC32' to 'Hashable' by implementing 'hash(into:)' instead [#DeprecatedDeclaration]
143 |     private(set) var crc: UInt32 = 0
144 |
145 |     var hashValue: Int {
    |         `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'CRC32' to 'Hashable' by implementing 'hash(into:)' instead [#DeprecatedDeclaration]
146 |         return Int(crc)
147 |     }
/host/spi-builder-workspace/Sources/Franz/Group.swift:72:2: warning: 'internal(set)' modifier is redundant for an internal property
 70 |
 71 | 	var topics = Set<TopicName>()
 72 | 	internal(set) var assignedPartitions = [TopicName: [PartitionId]]()
    |  `- warning: 'internal(set)' modifier is redundant for an internal property
 73 | }
 74 |
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[17/32] Compiling Franz Group.swift
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:43:3: error: Objective-C interoperability is disabled
 41 |
 42 | 	var offsetsToCommit = [TopicName: [PartitionId: (Offset, OffsetMetadata?)]]()
 43 | 	@objc private func commitGroupoffsets() {
    |   `- error: Objective-C interoperability is disabled
 44 | 		guard let groupId = self.membership?.group.id, let broker = self.broker else { return }
 45 | 		broker.commitGroupOffset(groupId: groupId, topics: offsetsToCommit)
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:48:3: error: Objective-C interoperability is disabled
 46 | 	}
 47 |
 48 | 	@objc private func sendHeartbeat() {
    |   `- error: Objective-C interoperability is disabled
 49 | 		guard let groupId = self.membership?.group.id,
 50 | 			let generationId = self.membership?.group.generationId,
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:35:86: error: '#selector' can only be used with the Objective-C runtime
 33 | 		} else {
 34 | 			// Fallback on earlier versions
 35 | 			groupOffsetsTimer = Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector(commitGroupoffsets), userInfo: nil, repeats: true)
    |                                                                                      `- error: '#selector' can only be used with the Objective-C runtime
 36 | 			heartbeatTimer =  Timer.scheduledTimer(timeInterval: 3, target: self, selector: #selector(sendHeartbeat), userInfo: nil, repeats: true)
 37 | 		}
/host/spi-builder-workspace/Sources/Franz/Consumer.swift:36:84: error: '#selector' can only be used with the Objective-C runtime
 34 | 			// Fallback on earlier versions
 35 | 			groupOffsetsTimer = Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector(commitGroupoffsets), userInfo: nil, repeats: true)
 36 | 			heartbeatTimer =  Timer.scheduledTimer(timeInterval: 3, target: self, selector: #selector(sendHeartbeat), userInfo: nil, repeats: true)
    |                                                                                    `- error: '#selector' can only be used with the Objective-C runtime
 37 | 		}
 38 | 	}
/host/spi-builder-workspace/Sources/Franz/Crypt/CRC32.swift:145:9: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'CRC32' to 'Hashable' by implementing 'hash(into:)' instead [#DeprecatedDeclaration]
143 |     private(set) var crc: UInt32 = 0
144 |
145 |     var hashValue: Int {
    |         `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'CRC32' to 'Hashable' by implementing 'hash(into:)' instead [#DeprecatedDeclaration]
146 |         return Int(crc)
147 |     }
/host/spi-builder-workspace/Sources/Franz/Group.swift:72:2: warning: 'internal(set)' modifier is redundant for an internal property
 70 |
 71 | 	var topics = Set<TopicName>()
 72 | 	internal(set) var assignedPartitions = [TopicName: [PartitionId]]()
    |  `- warning: 'internal(set)' modifier is redundant for an internal property
 73 | }
 74 |
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[18/32] Compiling Franz Assignment.swift
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:366:70: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
364 | 								}
365 | 							case .Initialize, .PreparingRebalance, .Joining:
366 | 								self.dispatchQueue.asyncAfter(deadline: .now() + 1, execute: checkState)
    |                                                                      `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
367 | 							case .Stable:
368 | 								consumer.broker = broker
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:447:70: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
445 |
446 |                 if dispatchBlocks.count > 0 {
447 |                     self.dispatchQueue.async(execute: dispatchBlocks.removeFirst())
    |                                                                      `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
448 |                 }
449 |
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:455:57: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
453 |
454 |         if dispatchBlocks.count > 0 {
455 |             dispatchQueue.async(execute: dispatchBlocks.removeFirst())
    |                                                         `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
456 |         }
457 |     }
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:466:17: error: cannot find 'sleep' in scope
464 |             //Retry if broker isn't available
465 |             if response.error == KafkaErrorCode.groupCoordinatorNotAvailableCode {
466 |                 sleep(1)
    |                 `- error: cannot find 'sleep' in scope
467 |                 self.getGroupCoordinator(groupId: groupId, callback: callback)
468 |                 return
/host/spi-builder-workspace/Sources/Franz/Connection.swift:89:39: error: cannot find type 'CFReadStream' in scope
 87 |     private var clientId: String
 88 |
 89 |     private var readStream: Unmanaged<CFReadStream>?
    |                                       `- error: cannot find type 'CFReadStream' in scope
 90 |     private var writeStream: Unmanaged<CFWriteStream>?
 91 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:90:40: error: cannot find type 'CFWriteStream' in scope
 88 |
 89 |     private var readStream: Unmanaged<CFReadStream>?
 90 |     private var writeStream: Unmanaged<CFWriteStream>?
    |                                        `- error: cannot find type 'CFWriteStream' in scope
 91 |
 92 |     private var inputStream: InputStream?
/host/spi-builder-workspace/Sources/Franz/Connection.swift:121:9: error: cannot find 'CFStreamCreatePairWithSocketToHost' in scope
119 |         super.init()
120 |
121 |         CFStreamCreatePairWithSocketToHost(
    |         `- error: cannot find 'CFStreamCreatePairWithSocketToHost' in scope
122 |             kCFAllocatorDefault,
123 |             host as CFString,
/host/spi-builder-workspace/Sources/Franz/Connection.swift:122:13: error: cannot find 'kCFAllocatorDefault' in scope
120 |
121 |         CFStreamCreatePairWithSocketToHost(
122 |             kCFAllocatorDefault,
    |             `- error: cannot find 'kCFAllocatorDefault' in scope
123 |             host as CFString,
124 |             UInt32(port),
/host/spi-builder-workspace/Sources/Franz/Connection.swift:123:21: error: cannot find type 'CFString' in scope
121 |         CFStreamCreatePairWithSocketToHost(
122 |             kCFAllocatorDefault,
123 |             host as CFString,
    |                     `- error: cannot find type 'CFString' in scope
124 |             UInt32(port),
125 |             &readStream,
/host/spi-builder-workspace/Sources/Franz/Connection.swift:136:14: error: cannot find 'RunLoopMode' in scope
134 | 			self.inputStream?.schedule(
135 | 				in: RunLoop.current,
136 | 				forMode: RunLoopMode.defaultRunLoopMode
    |              `- error: cannot find 'RunLoopMode' in scope
137 | 			)
138 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:142:14: error: cannot find 'RunLoopMode' in scope
140 | 			self.outputStream?.schedule(
141 | 				in: RunLoop.current,
142 | 				forMode: RunLoopMode.defaultRunLoopMode
    |              `- error: cannot find 'RunLoopMode' in scope
143 | 			)
144 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:252:12: warning: result of call to 'write(_:maxLength:)' is unused [#no-usage]
250 | 			let data = request.data(correlationId: corId, clientId: self.clientId)
251 | 			data.withUnsafeBytes { (bytes: UnsafePointer<UInt8>) -> Void in
252 | 				stream.write(bytes, maxLength: data.count)
    |            `- warning: result of call to 'write(_:maxLength:)' is unused [#no-usage]
253 | 			}
254 | 		}
/host/spi-builder-workspace/Sources/Franz/Connection.swift:288:22: warning: result of call to 'read(_:maxLength:)' is unused [#no-usage]
286 | 		var buffer = Array<UInt8>(repeating: 0, count: Int(length))
287 | 		if activeInputStream.hasBytesAvailable {
288 | 			activeInputStream.read(&buffer, maxLength: Int(length))
    |                      `- warning: result of call to 'read(_:maxLength:)' is unused [#no-usage]
289 | 		} else {
290 | 			throw ConnectionError.bytesNoLongerAvailable
/host/spi-builder-workspace/Sources/Franz/Connection.swift:349:58: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
347 |                     if writeRequestBlocks.count > 0 {
348 |                         let block = writeRequestBlocks.removeFirst()
349 |                         outputStreamQueue.async(execute: block)
    |                                                          `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
350 |                     }
351 |                 case Stream.Event.openCompleted:
/host/spi-builder-workspace/Sources/Franz/Connection.swift:375:49: error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
373 | 		outputStream?.close()
374 | 		if let runLoop = runLoop {
375 | 			inputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
    |                                                 `- error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
376 | 			outputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
377 | 		}
/host/spi-builder-workspace/Sources/Franz/Connection.swift:376:50: error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
374 | 		if let runLoop = runLoop {
375 | 			inputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
376 | 			outputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
    |                                                  `- error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
377 | 		}
378 | 		requestCallbacks.forEach { $1(nil) }
[19/32] Compiling Franz Broker.swift
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:366:70: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
364 | 								}
365 | 							case .Initialize, .PreparingRebalance, .Joining:
366 | 								self.dispatchQueue.asyncAfter(deadline: .now() + 1, execute: checkState)
    |                                                                      `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
367 | 							case .Stable:
368 | 								consumer.broker = broker
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:447:70: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
445 |
446 |                 if dispatchBlocks.count > 0 {
447 |                     self.dispatchQueue.async(execute: dispatchBlocks.removeFirst())
    |                                                                      `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
448 |                 }
449 |
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:455:57: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
453 |
454 |         if dispatchBlocks.count > 0 {
455 |             dispatchQueue.async(execute: dispatchBlocks.removeFirst())
    |                                                         `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
456 |         }
457 |     }
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:466:17: error: cannot find 'sleep' in scope
464 |             //Retry if broker isn't available
465 |             if response.error == KafkaErrorCode.groupCoordinatorNotAvailableCode {
466 |                 sleep(1)
    |                 `- error: cannot find 'sleep' in scope
467 |                 self.getGroupCoordinator(groupId: groupId, callback: callback)
468 |                 return
/host/spi-builder-workspace/Sources/Franz/Connection.swift:89:39: error: cannot find type 'CFReadStream' in scope
 87 |     private var clientId: String
 88 |
 89 |     private var readStream: Unmanaged<CFReadStream>?
    |                                       `- error: cannot find type 'CFReadStream' in scope
 90 |     private var writeStream: Unmanaged<CFWriteStream>?
 91 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:90:40: error: cannot find type 'CFWriteStream' in scope
 88 |
 89 |     private var readStream: Unmanaged<CFReadStream>?
 90 |     private var writeStream: Unmanaged<CFWriteStream>?
    |                                        `- error: cannot find type 'CFWriteStream' in scope
 91 |
 92 |     private var inputStream: InputStream?
/host/spi-builder-workspace/Sources/Franz/Connection.swift:121:9: error: cannot find 'CFStreamCreatePairWithSocketToHost' in scope
119 |         super.init()
120 |
121 |         CFStreamCreatePairWithSocketToHost(
    |         `- error: cannot find 'CFStreamCreatePairWithSocketToHost' in scope
122 |             kCFAllocatorDefault,
123 |             host as CFString,
/host/spi-builder-workspace/Sources/Franz/Connection.swift:122:13: error: cannot find 'kCFAllocatorDefault' in scope
120 |
121 |         CFStreamCreatePairWithSocketToHost(
122 |             kCFAllocatorDefault,
    |             `- error: cannot find 'kCFAllocatorDefault' in scope
123 |             host as CFString,
124 |             UInt32(port),
/host/spi-builder-workspace/Sources/Franz/Connection.swift:123:21: error: cannot find type 'CFString' in scope
121 |         CFStreamCreatePairWithSocketToHost(
122 |             kCFAllocatorDefault,
123 |             host as CFString,
    |                     `- error: cannot find type 'CFString' in scope
124 |             UInt32(port),
125 |             &readStream,
/host/spi-builder-workspace/Sources/Franz/Connection.swift:136:14: error: cannot find 'RunLoopMode' in scope
134 | 			self.inputStream?.schedule(
135 | 				in: RunLoop.current,
136 | 				forMode: RunLoopMode.defaultRunLoopMode
    |              `- error: cannot find 'RunLoopMode' in scope
137 | 			)
138 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:142:14: error: cannot find 'RunLoopMode' in scope
140 | 			self.outputStream?.schedule(
141 | 				in: RunLoop.current,
142 | 				forMode: RunLoopMode.defaultRunLoopMode
    |              `- error: cannot find 'RunLoopMode' in scope
143 | 			)
144 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:252:12: warning: result of call to 'write(_:maxLength:)' is unused [#no-usage]
250 | 			let data = request.data(correlationId: corId, clientId: self.clientId)
251 | 			data.withUnsafeBytes { (bytes: UnsafePointer<UInt8>) -> Void in
252 | 				stream.write(bytes, maxLength: data.count)
    |            `- warning: result of call to 'write(_:maxLength:)' is unused [#no-usage]
253 | 			}
254 | 		}
/host/spi-builder-workspace/Sources/Franz/Connection.swift:288:22: warning: result of call to 'read(_:maxLength:)' is unused [#no-usage]
286 | 		var buffer = Array<UInt8>(repeating: 0, count: Int(length))
287 | 		if activeInputStream.hasBytesAvailable {
288 | 			activeInputStream.read(&buffer, maxLength: Int(length))
    |                      `- warning: result of call to 'read(_:maxLength:)' is unused [#no-usage]
289 | 		} else {
290 | 			throw ConnectionError.bytesNoLongerAvailable
/host/spi-builder-workspace/Sources/Franz/Connection.swift:349:58: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
347 |                     if writeRequestBlocks.count > 0 {
348 |                         let block = writeRequestBlocks.removeFirst()
349 |                         outputStreamQueue.async(execute: block)
    |                                                          `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
350 |                     }
351 |                 case Stream.Event.openCompleted:
/host/spi-builder-workspace/Sources/Franz/Connection.swift:375:49: error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
373 | 		outputStream?.close()
374 | 		if let runLoop = runLoop {
375 | 			inputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
    |                                                 `- error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
376 | 			outputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
377 | 		}
/host/spi-builder-workspace/Sources/Franz/Connection.swift:376:50: error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
374 | 		if let runLoop = runLoop {
375 | 			inputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
376 | 			outputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
    |                                                  `- error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
377 | 		}
378 | 		requestCallbacks.forEach { $1(nil) }
[20/32] Compiling Franz Cluster.swift
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:366:70: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
364 | 								}
365 | 							case .Initialize, .PreparingRebalance, .Joining:
366 | 								self.dispatchQueue.asyncAfter(deadline: .now() + 1, execute: checkState)
    |                                                                      `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
367 | 							case .Stable:
368 | 								consumer.broker = broker
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:447:70: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
445 |
446 |                 if dispatchBlocks.count > 0 {
447 |                     self.dispatchQueue.async(execute: dispatchBlocks.removeFirst())
    |                                                                      `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
448 |                 }
449 |
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:455:57: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
453 |
454 |         if dispatchBlocks.count > 0 {
455 |             dispatchQueue.async(execute: dispatchBlocks.removeFirst())
    |                                                         `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
456 |         }
457 |     }
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:466:17: error: cannot find 'sleep' in scope
464 |             //Retry if broker isn't available
465 |             if response.error == KafkaErrorCode.groupCoordinatorNotAvailableCode {
466 |                 sleep(1)
    |                 `- error: cannot find 'sleep' in scope
467 |                 self.getGroupCoordinator(groupId: groupId, callback: callback)
468 |                 return
/host/spi-builder-workspace/Sources/Franz/Connection.swift:89:39: error: cannot find type 'CFReadStream' in scope
 87 |     private var clientId: String
 88 |
 89 |     private var readStream: Unmanaged<CFReadStream>?
    |                                       `- error: cannot find type 'CFReadStream' in scope
 90 |     private var writeStream: Unmanaged<CFWriteStream>?
 91 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:90:40: error: cannot find type 'CFWriteStream' in scope
 88 |
 89 |     private var readStream: Unmanaged<CFReadStream>?
 90 |     private var writeStream: Unmanaged<CFWriteStream>?
    |                                        `- error: cannot find type 'CFWriteStream' in scope
 91 |
 92 |     private var inputStream: InputStream?
/host/spi-builder-workspace/Sources/Franz/Connection.swift:121:9: error: cannot find 'CFStreamCreatePairWithSocketToHost' in scope
119 |         super.init()
120 |
121 |         CFStreamCreatePairWithSocketToHost(
    |         `- error: cannot find 'CFStreamCreatePairWithSocketToHost' in scope
122 |             kCFAllocatorDefault,
123 |             host as CFString,
/host/spi-builder-workspace/Sources/Franz/Connection.swift:122:13: error: cannot find 'kCFAllocatorDefault' in scope
120 |
121 |         CFStreamCreatePairWithSocketToHost(
122 |             kCFAllocatorDefault,
    |             `- error: cannot find 'kCFAllocatorDefault' in scope
123 |             host as CFString,
124 |             UInt32(port),
/host/spi-builder-workspace/Sources/Franz/Connection.swift:123:21: error: cannot find type 'CFString' in scope
121 |         CFStreamCreatePairWithSocketToHost(
122 |             kCFAllocatorDefault,
123 |             host as CFString,
    |                     `- error: cannot find type 'CFString' in scope
124 |             UInt32(port),
125 |             &readStream,
/host/spi-builder-workspace/Sources/Franz/Connection.swift:136:14: error: cannot find 'RunLoopMode' in scope
134 | 			self.inputStream?.schedule(
135 | 				in: RunLoop.current,
136 | 				forMode: RunLoopMode.defaultRunLoopMode
    |              `- error: cannot find 'RunLoopMode' in scope
137 | 			)
138 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:142:14: error: cannot find 'RunLoopMode' in scope
140 | 			self.outputStream?.schedule(
141 | 				in: RunLoop.current,
142 | 				forMode: RunLoopMode.defaultRunLoopMode
    |              `- error: cannot find 'RunLoopMode' in scope
143 | 			)
144 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:252:12: warning: result of call to 'write(_:maxLength:)' is unused [#no-usage]
250 | 			let data = request.data(correlationId: corId, clientId: self.clientId)
251 | 			data.withUnsafeBytes { (bytes: UnsafePointer<UInt8>) -> Void in
252 | 				stream.write(bytes, maxLength: data.count)
    |            `- warning: result of call to 'write(_:maxLength:)' is unused [#no-usage]
253 | 			}
254 | 		}
/host/spi-builder-workspace/Sources/Franz/Connection.swift:288:22: warning: result of call to 'read(_:maxLength:)' is unused [#no-usage]
286 | 		var buffer = Array<UInt8>(repeating: 0, count: Int(length))
287 | 		if activeInputStream.hasBytesAvailable {
288 | 			activeInputStream.read(&buffer, maxLength: Int(length))
    |                      `- warning: result of call to 'read(_:maxLength:)' is unused [#no-usage]
289 | 		} else {
290 | 			throw ConnectionError.bytesNoLongerAvailable
/host/spi-builder-workspace/Sources/Franz/Connection.swift:349:58: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
347 |                     if writeRequestBlocks.count > 0 {
348 |                         let block = writeRequestBlocks.removeFirst()
349 |                         outputStreamQueue.async(execute: block)
    |                                                          `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
350 |                     }
351 |                 case Stream.Event.openCompleted:
/host/spi-builder-workspace/Sources/Franz/Connection.swift:375:49: error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
373 | 		outputStream?.close()
374 | 		if let runLoop = runLoop {
375 | 			inputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
    |                                                 `- error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
376 | 			outputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
377 | 		}
/host/spi-builder-workspace/Sources/Franz/Connection.swift:376:50: error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
374 | 		if let runLoop = runLoop {
375 | 			inputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
376 | 			outputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
    |                                                  `- error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
377 | 		}
378 | 		requestCallbacks.forEach { $1(nil) }
[21/32] Compiling Franz Connection.swift
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:366:70: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
364 | 								}
365 | 							case .Initialize, .PreparingRebalance, .Joining:
366 | 								self.dispatchQueue.asyncAfter(deadline: .now() + 1, execute: checkState)
    |                                                                      `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
367 | 							case .Stable:
368 | 								consumer.broker = broker
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:447:70: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
445 |
446 |                 if dispatchBlocks.count > 0 {
447 |                     self.dispatchQueue.async(execute: dispatchBlocks.removeFirst())
    |                                                                      `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
448 |                 }
449 |
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:455:57: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
453 |
454 |         if dispatchBlocks.count > 0 {
455 |             dispatchQueue.async(execute: dispatchBlocks.removeFirst())
    |                                                         `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
456 |         }
457 |     }
/host/spi-builder-workspace/Sources/Franz/Cluster.swift:466:17: error: cannot find 'sleep' in scope
464 |             //Retry if broker isn't available
465 |             if response.error == KafkaErrorCode.groupCoordinatorNotAvailableCode {
466 |                 sleep(1)
    |                 `- error: cannot find 'sleep' in scope
467 |                 self.getGroupCoordinator(groupId: groupId, callback: callback)
468 |                 return
/host/spi-builder-workspace/Sources/Franz/Connection.swift:89:39: error: cannot find type 'CFReadStream' in scope
 87 |     private var clientId: String
 88 |
 89 |     private var readStream: Unmanaged<CFReadStream>?
    |                                       `- error: cannot find type 'CFReadStream' in scope
 90 |     private var writeStream: Unmanaged<CFWriteStream>?
 91 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:90:40: error: cannot find type 'CFWriteStream' in scope
 88 |
 89 |     private var readStream: Unmanaged<CFReadStream>?
 90 |     private var writeStream: Unmanaged<CFWriteStream>?
    |                                        `- error: cannot find type 'CFWriteStream' in scope
 91 |
 92 |     private var inputStream: InputStream?
/host/spi-builder-workspace/Sources/Franz/Connection.swift:121:9: error: cannot find 'CFStreamCreatePairWithSocketToHost' in scope
119 |         super.init()
120 |
121 |         CFStreamCreatePairWithSocketToHost(
    |         `- error: cannot find 'CFStreamCreatePairWithSocketToHost' in scope
122 |             kCFAllocatorDefault,
123 |             host as CFString,
/host/spi-builder-workspace/Sources/Franz/Connection.swift:122:13: error: cannot find 'kCFAllocatorDefault' in scope
120 |
121 |         CFStreamCreatePairWithSocketToHost(
122 |             kCFAllocatorDefault,
    |             `- error: cannot find 'kCFAllocatorDefault' in scope
123 |             host as CFString,
124 |             UInt32(port),
/host/spi-builder-workspace/Sources/Franz/Connection.swift:123:21: error: cannot find type 'CFString' in scope
121 |         CFStreamCreatePairWithSocketToHost(
122 |             kCFAllocatorDefault,
123 |             host as CFString,
    |                     `- error: cannot find type 'CFString' in scope
124 |             UInt32(port),
125 |             &readStream,
/host/spi-builder-workspace/Sources/Franz/Connection.swift:136:14: error: cannot find 'RunLoopMode' in scope
134 | 			self.inputStream?.schedule(
135 | 				in: RunLoop.current,
136 | 				forMode: RunLoopMode.defaultRunLoopMode
    |              `- error: cannot find 'RunLoopMode' in scope
137 | 			)
138 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:142:14: error: cannot find 'RunLoopMode' in scope
140 | 			self.outputStream?.schedule(
141 | 				in: RunLoop.current,
142 | 				forMode: RunLoopMode.defaultRunLoopMode
    |              `- error: cannot find 'RunLoopMode' in scope
143 | 			)
144 |
/host/spi-builder-workspace/Sources/Franz/Connection.swift:252:12: warning: result of call to 'write(_:maxLength:)' is unused [#no-usage]
250 | 			let data = request.data(correlationId: corId, clientId: self.clientId)
251 | 			data.withUnsafeBytes { (bytes: UnsafePointer<UInt8>) -> Void in
252 | 				stream.write(bytes, maxLength: data.count)
    |            `- warning: result of call to 'write(_:maxLength:)' is unused [#no-usage]
253 | 			}
254 | 		}
/host/spi-builder-workspace/Sources/Franz/Connection.swift:288:22: warning: result of call to 'read(_:maxLength:)' is unused [#no-usage]
286 | 		var buffer = Array<UInt8>(repeating: 0, count: Int(length))
287 | 		if activeInputStream.hasBytesAvailable {
288 | 			activeInputStream.read(&buffer, maxLength: Int(length))
    |                      `- warning: result of call to 'read(_:maxLength:)' is unused [#no-usage]
289 | 		} else {
290 | 			throw ConnectionError.bytesNoLongerAvailable
/host/spi-builder-workspace/Sources/Franz/Connection.swift:349:58: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
347 |                     if writeRequestBlocks.count > 0 {
348 |                         let block = writeRequestBlocks.removeFirst()
349 |                         outputStreamQueue.async(execute: block)
    |                                                          `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
350 |                     }
351 |                 case Stream.Event.openCompleted:
/host/spi-builder-workspace/Sources/Franz/Connection.swift:375:49: error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
373 | 		outputStream?.close()
374 | 		if let runLoop = runLoop {
375 | 			inputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
    |                                                 `- error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
376 | 			outputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
377 | 		}
/host/spi-builder-workspace/Sources/Franz/Connection.swift:376:50: error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
374 | 		if let runLoop = runLoop {
375 | 			inputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
376 | 			outputStream?.remove(from: runLoop, forMode: .defaultRunLoopMode)
    |                                                  `- error: type 'RunLoop.Mode' has no member 'defaultRunLoopMode'
377 | 		}
378 | 		requestCallbacks.forEach { $1(nil) }
[22/32] Compiling Franz KafkaProtocol.swift
[23/32] Compiling Franz KafkaRequest.swift
[24/32] Compiling Franz KafkaResponse.swift
[25/32] Compiling Franz OffsetCommitAPI.swift
[26/32] Compiling Franz OffsetFetchAPI.swift
[27/32] Compiling Franz ProduceAPI.swift
[28/32] Compiling Franz SaslApi.swift
[29/32] Compiling Franz GroupCoordinatorAPI.swift
/host/spi-builder-workspace/Sources/Franz/API/GroupMembershipAPI.swift:419:25: warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
371 | typealias MemberId = String
372 |
373 | struct SyncGroupRequestMessage<T: KafkaMetadata>: KafkaType {
    |                                `- note: 'T' previously declared here
374 |
375 |     private var _groupId: String
    :
417 |     }
418 |
419 | 	struct GroupAssignment<T: KafkaMetadata>: KafkaType {
    |                         `- warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
420 |
421 | 		let memberId: String
[30/32] Compiling Franz GroupMembershipAPI.swift
/host/spi-builder-workspace/Sources/Franz/API/GroupMembershipAPI.swift:419:25: warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
371 | typealias MemberId = String
372 |
373 | struct SyncGroupRequestMessage<T: KafkaMetadata>: KafkaType {
    |                                `- note: 'T' previously declared here
374 |
375 |     private var _groupId: String
    :
417 |     }
418 |
419 | 	struct GroupAssignment<T: KafkaMetadata>: KafkaType {
    |                         `- warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
420 |
421 | 		let memberId: String
[31/32] Compiling Franz MetadataAPI.swift
/host/spi-builder-workspace/Sources/Franz/API/GroupMembershipAPI.swift:419:25: warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
371 | typealias MemberId = String
372 |
373 | struct SyncGroupRequestMessage<T: KafkaMetadata>: KafkaType {
    |                                `- note: 'T' previously declared here
374 |
375 |     private var _groupId: String
    :
417 |     }
418 |
419 | 	struct GroupAssignment<T: KafkaMetadata>: KafkaType {
    |                         `- warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
420 |
421 | 		let memberId: String
[32/32] Compiling Franz OffsetAPI.swift
/host/spi-builder-workspace/Sources/Franz/API/GroupMembershipAPI.swift:419:25: warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
371 | typealias MemberId = String
372 |
373 | struct SyncGroupRequestMessage<T: KafkaMetadata>: KafkaType {
    |                                `- note: 'T' previously declared here
374 |
375 |     private var _groupId: String
    :
417 |     }
418 |
419 | 	struct GroupAssignment<T: KafkaMetadata>: KafkaType {
    |                         `- warning: generic parameter 'T' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
420 |
421 | 		let memberId: String
BUILD FAILURE 6.2 android