Build Information
Failed to build JSONFeed, reference master (8eb05c), with Swift 6.3 for Android on 11 Apr 2026 06:33:55 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:android-6.3-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1Build Log
========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/xcode-coffee/jsonfeed.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/xcode-coffee/jsonfeed
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at 8eb05c8 Added feed validation.
Cloned https://github.com/xcode-coffee/jsonfeed.git
Revision (git rev-parse @):
8eb05c8854d91919c36f0e6f21147187892b6a89
SUCCESS checkout https://github.com/xcode-coffee/jsonfeed.git at master
========================================
Build
========================================
Selected platform: android
Swift version: 6.3
Building package at path: $PWD
https://github.com/xcode-coffee/jsonfeed.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:android-6.3-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.3-latest: Pulling from swiftpackageindex/spi-images
Digest: sha256:9008270ea37a55e78725e6225015adb5eff8582da520c5232bf0499f32c36dc4
Status: Image is up to date for registry.gitlab.com/swiftpackageindex/spi-images:android-6.3-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version--4F562202D5529B1.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[3/6] Compiling JSONFeed JSONFeed+Validation.swift
/host/spi-builder-workspace/Sources/JSONFeed/JSONFeed+Validation.swift:12:5: warning: 'public' modifier is redundant for enum declared in a public extension
10 | public extension JSONFeed {
11 |
12 | public enum Violation {
| `- warning: 'public' modifier is redundant for enum declared in a public extension
13 | case missingParameter(String)
14 | case atLeastOnePropertyMustBePresent(Author)
/host/spi-builder-workspace/Sources/JSONFeed/JSONFeed+Validation.swift:19:5: warning: 'public' modifier is redundant for instance method declared in a public extension
17 | }
18 |
19 | public func validate() -> [Violation] {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
20 |
21 | var violations = [Violation]()
/host/spi-builder-workspace/Sources/JSONFeed/JSONFeed+Validation.swift:50:5: warning: 'public' modifier is redundant for instance method declared in a public extension
48 | public extension JSONFeed.Item {
49 |
50 | public func validate() -> [JSONFeed.Violation] {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
51 |
52 | var violations = Array<JSONFeed.Violation>()
/host/spi-builder-workspace/Sources/JSONFeed/JSONFeed+Validation.swift:72:5: warning: 'public' modifier is redundant for instance method declared in a public extension
70 | public extension JSONFeed.Author {
71 |
72 | public func validate() -> [JSONFeed.Violation] {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
73 |
74 | if name == nil && url == nil && avatar == nil {
/host/spi-builder-workspace/Sources/JSONFeed/JSONFeed+Validation.swift:84:5: warning: 'public' modifier is redundant for instance method declared in a public extension
82 | public extension JSONFeed.Item.Attachment {
83 |
84 | public func validate() -> [JSONFeed.Violation] {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
85 |
86 | var violations = Array<JSONFeed.Violation>()
/host/spi-builder-workspace/Sources/JSONFeed/JSONFeed+Validation.swift:97:5: warning: 'public' modifier is redundant for instance method declared in a public extension
95 | public extension JSONFeed.Hub {
96 |
97 | public func validate() -> [JSONFeed.Violation] {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
98 |
99 | var violations = Array<JSONFeed.Violation>()
[4/6] Emitting module JSONFeed
/host/spi-builder-workspace/Sources/JSONFeed/JSONFeed+Fetch.swift:6:5: warning: 'public' modifier is redundant for enum declared in a public extension
4 | public extension JSONFeed {
5 |
6 | public enum FetchError: Error {
| `- warning: 'public' modifier is redundant for enum declared in a public extension
7 | case invalidPath
8 | case httpStatusCode
/host/spi-builder-workspace/Sources/JSONFeed/JSONFeed+Fetch.swift:11:34: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
9 | }
10 |
11 | private static let session = URLSession(configuration: URLSessionConfiguration.default)
| `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
12 |
13 | public static func fetch(_ path: String, completionHandler: @escaping (JSONFeed?, Error?) -> Void) {
/host/spi-builder-workspace/Sources/JSONFeed/JSONFeed+Fetch.swift:11:84: error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'default'
9 | }
10 |
11 | private static let session = URLSession(configuration: URLSessionConfiguration.default)
| `- error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'default'
12 |
13 | public static func fetch(_ path: String, completionHandler: @escaping (JSONFeed?, Error?) -> Void) {
/host/spi-builder-workspace/Sources/JSONFeed/JSONFeed+Fetch.swift:13:5: warning: 'public' modifier is redundant for static method declared in a public extension
11 | private static let session = URLSession(configuration: URLSessionConfiguration.default)
12 |
13 | public static func fetch(_ path: String, completionHandler: @escaping (JSONFeed?, Error?) -> Void) {
| `- warning: 'public' modifier is redundant for static method declared in a public extension
14 |
15 | guard let url = URL(string: path) else {
/host/spi-builder-workspace/Sources/JSONFeed/JSONFeed+Validation.swift:12:5: warning: 'public' modifier is redundant for enum declared in a public extension
10 | public extension JSONFeed {
11 |
12 | public enum Violation {
| `- warning: 'public' modifier is redundant for enum declared in a public extension
13 | case missingParameter(String)
14 | case atLeastOnePropertyMustBePresent(Author)
/host/spi-builder-workspace/Sources/JSONFeed/JSONFeed+Validation.swift:19:5: warning: 'public' modifier is redundant for instance method declared in a public extension
17 | }
18 |
19 | public func validate() -> [Violation] {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
20 |
21 | var violations = [Violation]()
/host/spi-builder-workspace/Sources/JSONFeed/JSONFeed+Validation.swift:50:5: warning: 'public' modifier is redundant for instance method declared in a public extension
48 | public extension JSONFeed.Item {
49 |
50 | public func validate() -> [JSONFeed.Violation] {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
51 |
52 | var violations = Array<JSONFeed.Violation>()
/host/spi-builder-workspace/Sources/JSONFeed/JSONFeed+Validation.swift:72:5: warning: 'public' modifier is redundant for instance method declared in a public extension
70 | public extension JSONFeed.Author {
71 |
72 | public func validate() -> [JSONFeed.Violation] {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
73 |
74 | if name == nil && url == nil && avatar == nil {
/host/spi-builder-workspace/Sources/JSONFeed/JSONFeed+Validation.swift:84:5: warning: 'public' modifier is redundant for instance method declared in a public extension
82 | public extension JSONFeed.Item.Attachment {
83 |
84 | public func validate() -> [JSONFeed.Violation] {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
85 |
86 | var violations = Array<JSONFeed.Violation>()
/host/spi-builder-workspace/Sources/JSONFeed/JSONFeed+Validation.swift:97:5: warning: 'public' modifier is redundant for instance method declared in a public extension
95 | public extension JSONFeed.Hub {
96 |
97 | public func validate() -> [JSONFeed.Violation] {
| `- warning: 'public' modifier is redundant for instance method declared in a public extension
98 |
99 | var violations = Array<JSONFeed.Violation>()
[5/6] Compiling JSONFeed JSONFeed+Fetch.swift
/host/spi-builder-workspace/Sources/JSONFeed/JSONFeed+Fetch.swift:6:5: warning: 'public' modifier is redundant for enum declared in a public extension
4 | public extension JSONFeed {
5 |
6 | public enum FetchError: Error {
| `- warning: 'public' modifier is redundant for enum declared in a public extension
7 | case invalidPath
8 | case httpStatusCode
/host/spi-builder-workspace/Sources/JSONFeed/JSONFeed+Fetch.swift:11:34: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
9 | }
10 |
11 | private static let session = URLSession(configuration: URLSessionConfiguration.default)
| `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
12 |
13 | public static func fetch(_ path: String, completionHandler: @escaping (JSONFeed?, Error?) -> Void) {
/host/spi-builder-workspace/Sources/JSONFeed/JSONFeed+Fetch.swift:11:84: error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'default'
9 | }
10 |
11 | private static let session = URLSession(configuration: URLSessionConfiguration.default)
| `- error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'default'
12 |
13 | public static func fetch(_ path: String, completionHandler: @escaping (JSONFeed?, Error?) -> Void) {
/host/spi-builder-workspace/Sources/JSONFeed/JSONFeed+Fetch.swift:13:5: warning: 'public' modifier is redundant for static method declared in a public extension
11 | private static let session = URLSession(configuration: URLSessionConfiguration.default)
12 |
13 | public static func fetch(_ path: String, completionHandler: @escaping (JSONFeed?, Error?) -> Void) {
| `- warning: 'public' modifier is redundant for static method declared in a public extension
14 |
15 | guard let url = URL(string: path) else {
/host/spi-builder-workspace/Sources/JSONFeed/JSONFeed+Fetch.swift:27:44: warning: conditional downcast from 'URLResponse?' (aka 'Optional<AnyObject>') to 'HTTPURLResponse' (aka 'AnyObject') does nothing
25 | }
26 |
27 | if let httpResponse = response as? HTTPURLResponse {
| `- warning: conditional downcast from 'URLResponse?' (aka 'Optional<AnyObject>') to 'HTTPURLResponse' (aka 'AnyObject') does nothing
28 | guard case 200..<300 = httpResponse.statusCode else {
29 | completionHandler(nil, FetchError.httpStatusCode)
/host/spi-builder-workspace/Sources/JSONFeed/JSONFeed+Fetch.swift:28:53: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
26 |
27 | if let httpResponse = response as? HTTPURLResponse {
28 | guard case 200..<300 = httpResponse.statusCode else {
| `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
29 | completionHandler(nil, FetchError.httpStatusCode)
30 | return
[6/6] Compiling JSONFeed JSONFeed.swift
BUILD FAILURE 6.3 android