Build Information
Successful build of SquirrelJSON, reference 0.2.2 (a413fc), with Swift 6.4 for Linux on 16 Sep 2026 14:30:19 UTC.
Swift 6 data race errors: 0
Build Command
bash -c docker run --pull=always --rm -v "checkouts-53886770-0":/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:basic-6.4-latest swift build --triple x86_64-unknown-linux-gnu 2>&1Build Log
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/swift-squirrel/squirreljson.git
Reference: 0.2.2
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/swift-squirrel/squirreljson
* tag 0.2.2 -> FETCH_HEAD
HEAD is now at a413fce swiftlint
Cloned https://github.com/swift-squirrel/squirreljson.git
Revision (git rev-parse @):
a413fced7857d9aec5a9a6723095b7807a71c8f3
SUCCESS checkout https://github.com/swift-squirrel/squirreljson.git at 0.2.2
========================================
Build
========================================
Selected platform: linux
Swift version: 6.4
Building package at path: $PWD
https://github.com/swift-squirrel/squirreljson.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-53886770-0":/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:basic-6.4-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:c77fcce225e223ac0fafed844619173fc6de8d62dd560eeb28db3182af6a282b
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.4-latest
Building for debugging...
[Planning deferred tasks]
/host/spi-builder-workspace/Sources/SquirrelJSON/JSON.swift:104:5: [1;33mwarning: [1;39m'public' modifier is redundant for initializer declared in a public extension[0;0m
[0;36m102 |[0;0m ///
[0;36m103 |[0;0m /// - Parameter string: String value
[0;36m104 |[0;0m public init(_ string: String) {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for initializer declared in a public extension[0;0m
[0;36m105 |[0;0m type = .string(str: string)
[0;36m106 |[0;0m }
/host/spi-builder-workspace/Sources/SquirrelJSON/JSON.swift:109:5: [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m107 |[0;0m
[0;36m108 |[0;0m /// String
[0;36m109 |[0;0m public var string: String? {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m110 |[0;0m guard case let ValueType.string(str) = type else {
[0;36m111 |[0;0m return nil
/host/spi-builder-workspace/Sources/SquirrelJSON/JSON.swift:117:5: [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m115 |[0;0m
[0;36m116 |[0;0m /// String value (default "")
[0;36m117 |[0;0m public var stringValue: String {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m118 |[0;0m return string ?? ""
[0;36m119 |[0;0m }
/host/spi-builder-workspace/Sources/SquirrelJSON/JSON.swift:122:5: [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m120 |[0;0m
[0;36m121 |[0;0m /// Check if value is String
[0;36m122 |[0;0m public var isString: Bool {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m123 |[0;0m guard case .string = type else {
[0;36m124 |[0;0m return false
/host/spi-builder-workspace/Sources/SquirrelJSON/JSON.swift:195:5: [1;33mwarning: [1;39m'public' modifier is redundant for initializer declared in a public extension[0;0m
[0;36m193 |[0;0m ///
[0;36m194 |[0;0m /// - Parameter array: Array value
[0;36m195 |[0;0m public init(_ array: [JSON]) {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for initializer declared in a public extension[0;0m
[0;36m196 |[0;0m type = .array(arr: array)
[0;36m197 |[0;0m }
/host/spi-builder-workspace/Sources/SquirrelJSON/JSON.swift:202:5: [1;33mwarning: [1;39m'public' modifier is redundant for initializer declared in a public extension[0;0m
[0;36m200 |[0;0m ///
[0;36m201 |[0;0m /// - Parameter array: Array value
[0;36m202 |[0;0m public init?(array: [Any]) {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for initializer declared in a public extension[0;0m
[0;36m203 |[0;0m var res = [JSON]()
[0;36m204 |[0;0m for element in array {
/host/spi-builder-workspace/Sources/SquirrelJSON/JSON.swift:214:5: [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m212 |[0;0m
[0;36m213 |[0;0m /// Array
[0;36m214 |[0;0m public var array: [JSON]? {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m215 |[0;0m guard case let .array(arr) = type else {
[0;36m216 |[0;0m return nil
/host/spi-builder-workspace/Sources/SquirrelJSON/JSON.swift:222:5: [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m220 |[0;0m
[0;36m221 |[0;0m /// Array (if nil returns [])
[0;36m222 |[0;0m public var arrayValue: [JSON] {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m223 |[0;0m return array ?? []
[0;36m224 |[0;0m }
/host/spi-builder-workspace/Sources/SquirrelJSON/JSON.swift:231:5: [1;33mwarning: [1;39m'public' modifier is redundant for subscript declared in a public extension[0;0m
[0;36m229 |[0;0m ///
[0;36m230 |[0;0m /// - Parameter index: index
[0;36m231 |[0;0m public subscript(index: Int) -> JSON {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for subscript declared in a public extension[0;0m
[0;36m232 |[0;0m guard index >= 0 else {
[0;36m233 |[0;0m return JSON(from: nil)!
/host/spi-builder-workspace/Sources/SquirrelJSON/JSON.swift:245:5: [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m243 |[0;0m
[0;36m244 |[0;0m /// Check if value is dictionary
[0;36m245 |[0;0m public var isArray: Bool {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m246 |[0;0m guard case .array = type else {
[0;36m247 |[0;0m return false
/host/spi-builder-workspace/Sources/SquirrelJSON/JSON.swift:399:5: [1;33mwarning: [1;39m'public' modifier is redundant for initializer declared in a public extension[0;0m
[0;36m397 |[0;0m ///
[0;36m398 |[0;0m /// - Parameter encodable: Encodable object
[0;36m399 |[0;0m public init<T: Encodable>(_ encodable: T) throws {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for initializer declared in a public extension[0;0m
[0;36m400 |[0;0m let encoder = JSONEncoder()
[0;36m401 |[0;0m let data = try encoder.encode(encodable)
/host/spi-builder-workspace/Sources/SquirrelJSON/JSON.swift:410:5: [1;33mwarning: [1;39m'public' modifier is redundant for instance method declared in a public extension[0;0m
[0;36m408 |[0;0m /// - Returns: Object
[0;36m409 |[0;0m /// - Throws: Encoding and decoding error
[0;36m410 |[0;0m public func decode<T: Decodable>(to type: T.Type = T.self) throws -> T {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for instance method declared in a public extension[0;0m
[0;36m411 |[0;0m let data = try JSONEncoder().encode(self)
[0;36m412 |[0;0m return try JSONDecoder().decode(T.self, from: data)
/host/spi-builder-workspace/Sources/SquirrelJSON/JSON.swift:419:5: [1;33mwarning: [1;39m'public' modifier is redundant for static method declared in a public extension[0;0m
[0;36m417 |[0;0m /// - Parameter data: All important data in JSON data format
[0;36m418 |[0;0m /// - Returns: JSON or nil on error
[0;36m419 |[0;0m public static func decode(from data: Data) -> JSON? {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for static method declared in a public extension[0;0m
[0;36m420 |[0;0m let decoder = JSONDecoder()
[0;36m421 |[0;0m return try? decoder.decode(self, from: data)
/host/spi-builder-workspace/Sources/SquirrelJSON/JSON.swift:425:5: [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m423 |[0;0m
[0;36m424 |[0;0m /// Encoded JSON to Data or nil on error
[0;36m425 |[0;0m public var encode: Data? {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m426 |[0;0m let encoder = JSONEncoder()
[0;36m427 |[0;0m return try? encoder.encode(self)
/host/spi-builder-workspace/Sources/SquirrelJSON/JSON.swift:434:5: [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m432 |[0;0m public extension JSON {
[0;36m433 |[0;0m /// Check if JSON represents nil
[0;36m434 |[0;0m public var isNil: Bool {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m435 |[0;0m switch type {
[0;36m436 |[0;0m case .nil:
/host/spi-builder-workspace/Sources/SquirrelJSON/JSON.swift:447:5: [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m445 |[0;0m /// - Note: When self does not represents Array or Dictionary
[0;36m446 |[0;0m /// return false, if represents nil returns true
[0;36m447 |[0;0m public var isEmpty: Bool {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m448 |[0;0m if case .nil = type {
[0;36m449 |[0;0m return true
/host/spi-builder-workspace/Sources/SquirrelJSON/JSON.swift:466:5: [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m464 |[0;0m /// - Note: if JSON is array or dictionary it returns its representation
[0;36m465 |[0;0m /// otherwise return nil.
[0;36m466 |[0;0m public var serialized: Any? {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'pu[25 / 33] SquirrelJSON
blic' modifier is redundant for property declared in a public extension[0;0m
[0;36m467 |[0;0m switch type {
[0;36m468 |[0;0m case .array:
[30 / 33] SquirrelJSON
/host/spi-builder-workspace/Sources/SquirrelJSON/JSON.swift:104:5: [1;33mwarning: [1;39m'public' modifier is redundant for initializer declared in a public extension[0;0m
[0;36m102 |[0;0m ///
[0;36m103 |[0;0m /// - Parameter string: String value
[0;36m104 |[0;0m public init(_ string: String) {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for initializer declared in a public extension[0;0m
[0;36m105 |[0;0m type = .string(str: string)
[0;36m106 |[0;0m }
/host/spi-builder-workspace/Sources/SquirrelJSON/JSON.swift:109:5: [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m107 |[0;0m
[0;36m108 |[0;0m /// String
[0;36m109 |[0;0m public var string: String? {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m110 |[0;0m guard case let ValueType.string(str) = type else {
[0;36m111 |[0;0m return nil
/host/spi-builder-workspace/Sources/SquirrelJSON/JSON.swift:117:5: [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m115 |[0;0m
[0;36m116 |[0;0m /// String value (default "")
[0;36m117 |[0;0m public var stringValue: String {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m118 |[0;0m return string ?? ""
[0;36m119 |[0;0m }
/host/spi-builder-workspace/Sources/SquirrelJSON/JSON.swift:122:5: [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m120 |[0;0m
[0;36m121 |[0;0m /// Check if value is String
[0;36m122 |[0;0m public var isString: Bool {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m123 |[0;0m guard case .string = type else {
[0;36m124 |[0;0m return false
/host/spi-builder-workspace/Sources/SquirrelJSON/JSON.swift:195:5: [1;33mwarning: [1;39m'public' modifier is redundant for initializer declared in a public extension[0;0m
[0;36m193 |[0;0m ///
[0;36m194 |[0;0m /// - Parameter array: Array value
[0;36m195 |[0;0m public init(_ array: [JSON]) {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for initializer declared in a public extension[0;0m
[0;36m196 |[0;0m type = .array(arr: array)
[0;36m197 |[0;0m }
/host/spi-builder-workspace/Sources/SquirrelJSON/JSON.swift:202:5: [1;33mwarning: [1;39m'public' modifier is redundant for initializer declared in a public extension[0;0m
[0;36m200 |[0;0m ///
[0;36m201 |[0;0m /// - Parameter array: Array value
[0;36m202 |[0;0m public init?(array: [Any]) {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for initializer declared in a public extension[0;0m
[0;36m203 |[0;0m var res = [JSON]()
[0;36m204 |[0;0m for element in array {
/host/spi-builder-workspace/Sources/SquirrelJSON/JSON.swift:214:5: [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m212 |[0;0m
[0;36m213 |[0;0m /// Array
[0;36m214 |[0;0m public var array: [JSON]? {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m215 |[0;0m guard case let .array(arr) = type else {
[0;36m216 |[0;0m return nil
/host/spi-builder-workspace/Sources/SquirrelJSON/JSON.swift:222:5: [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m220 |[0;0m
[0;36m221 |[0;0m /// Array (if nil returns [])
[0;36m222 |[0;0m public var arrayValue: [JSON] {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m223 |[0;0m return array ?? []
[0;36m224 |[0;0m }
/host/spi-builder-workspace/Sources/SquirrelJSON/JSON.swift:231:5: [1;33mwarning: [1;39m'public' modifier is redundant for subscript declared in a public extension[0;0m
[0;36m229 |[0;0m ///
[0;36m230 |[0;0m /// - Parameter index: index
[0;36m231 |[0;0m public subscript(index: Int) -> JSON {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for subscript declared in a public extension[0;0m
[0;36m232 |[0;0m guard index >= 0 else {
[0;36m233 |[0;0m return JSON(from: nil)!
/host/spi-builder-workspace/Sources/SquirrelJSON/JSON.swift:245:5: [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m243 |[0;0m
[0;36m244 |[0;0m /// Check if value is dictionary
[0;36m245 |[0;0m public var isArray: Bool {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m246 |[0;0m guard case .array = type else {
[0;36m247 |[0;0m return false
/host/spi-builder-workspace/Sources/SquirrelJSON/JSON.swift:399:5: [1;33mwarning: [1;39m'public' modifier is redundant for initializer declared in a public extension[0;0m
[0;36m397 |[0;0m ///
[0;36m398 |[0;0m /// - Parameter encodable: Encodable object
[0;36m399 |[0;0m public init<T: Encodable>(_ encodable: T) throws {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for initializer declared in a public extension[0;0m
[0;36m400 |[0;0m let encoder = JSONEncoder()
[0;36m401 |[0;0m let data = try encoder.encode(encodable)
/host/spi-builder-workspace/Sources/SquirrelJSON/JSON.swift:410:5: [1;33mwarning: [1;39m'public' modifier is redundant for instance method declared in a public extension[0;0m
[0;36m408 |[0;0m /// - Returns: Object
[0;36m409 |[0;0m /// - Throws: Encoding and decoding error
[0;36m410 |[0;0m public func decode<T: Decodable>(to type: T.Type = T.self) throws -> T {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for instance method declared in a public extension[0;0m
[0;36m411 |[0;0m let data = try JSONEncoder().encode(self)
[0;36m412 |[0;0m return try JSONDecoder().decode(T.self, from: data)
/host/spi-builder-workspace/Sources/SquirrelJSON/JSON.swift:419:5: [1;33mwarning: [1;39m'public' modifier is redundant for static method declared in a public extension[0;0m
[0;36m417 |[0;0m /// - Parameter data: All important data in JSON data format
[0;36m418 |[0;0m /// - Returns: JSON or nil on error
[0;36m419 |[0;0m public static func decode(from data: Data) -> JSON? {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for static method declared in a public extension[0;0m
[0;36m420 |[0;0m let decoder = JSONDecoder()
[0;36m421 |[0;0m return try? decoder.decode(self, from: data)
/host/spi-builder-workspace/Sources/SquirrelJSON/JSON.swift:425:5: [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m423 |[0;0m
[0;36m424 |[0;0m /// Encoded JSON to Data or nil on error
[0;36m425 |[0;0m public var encode: Data? {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m426 |[0;0m let encoder = JSONEncoder()
[0;36m427 |[0;0m return try? encoder.encode(self)
/host/spi-builder-workspace/Sources/SquirrelJSON/JSON.swift:434:5: [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m432 |[0;0m public extension JSON {
[0;36m433 |[0;0m /// Check if JSON represents nil
[0;36m434 |[0;0m public var isNil: Bool {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m435 |[0;0m switch type {
[0;36m436 |[0;0m case .nil:
/host/spi-builder-workspace/Sources/SquirrelJSON/JSON.swift:447:5: [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m445 |[0;0m /// - Note: When self does not represents Array or Dictionary
[0;36m446 |[0;0m /// return false, if represents nil returns true
[0;36m447 |[0;0m public var isEmpty: Bool {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m448 |[0;0m if case .nil = type {
[0;36m449 |[0;0m return true
/host/spi-builder-workspace/Sources/SquirrelJSON/JSON.swift:466:5: [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m464 |[0;0m /// - Note: if JSON is array or dictionary it returns its representation
[0;36m465 |[0;0m /// otherwise return nil.
[0;36m466 |[0;0m public var serialized: Any? {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for property declared in a public extension[0;0m
[0;36m467 |[0;0m switch type {
[0;36m468 |[0;0m case .array:
Build complete! (4.70 secs)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "SquirrelJSON",
"name" : "SquirrelJSON",
"path" : "/host/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "SquirrelJSON",
"targets" : [
"SquirrelJSON"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SquirrelJSONTests",
"module_type" : "SwiftTarget",
"name" : "SquirrelJSONTests",
"path" : "Tests/SquirrelJSONTests",
"sources" : [
"JSONCodingTests.swift",
"JSONTests.swift"
],
"target_dependencies" : [
"SquirrelJSON"
],
"type" : "test"
},
{
"c99name" : "SquirrelJSON",
"module_type" : "SwiftTarget",
"name" : "SquirrelJSON",
"path" : "Sources/SquirrelJSON",
"product_memberships" : [
"SquirrelJSON"
],
"sources" : [
"JSON+ExpressibleBy.swift",
"JSON.swift",
"JSONCoding.swift",
"JSONError.swift",
"SquirrelJSONEncodable.swift"
],
"type" : "library"
}
],
"tools_version" : "4.0"
}
basic-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:c77fcce225e223ac0fafed844619173fc6de8d62dd560eeb28db3182af6a282b
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.4-latest
Done.