Build Information
Failed to build Localite, reference 1.0.1 (f35578
), with Swift 6.0 for Linux on 30 Nov 2024 03:56:35 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
Build Log
========================================
RunAll
========================================
Builder version: 4.58.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/TelemTobi/Localite.git
Reference: 1.0.1
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/TelemTobi/Localite
* tag 1.0.1 -> FETCH_HEAD
HEAD is now at f355781 Update LocaliteTests.swift
Cloned https://github.com/TelemTobi/Localite.git
Revision (git rev-parse @):
f355781300d889f2a21f627de3de3d7ed0f54b0e
SUCCESS checkout https://github.com/TelemTobi/Localite.git at 1.0.1
========================================
Build
========================================
Selected platform: linux
Swift version: 6.0
Building package at path: $PWD
https://github.com/TelemTobi/Localite.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/6] Compiling Localite Localite.swift
/host/spi-builder-workspace/Sources/Localite/Localite.swift:14:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Localite' may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | /// `Localite` is a lightweight localization package designed for the remote management of strings files.
11 | public class Localite {
| `- note: class 'Localite' does not conform to the 'Sendable' protocol
12 |
13 | /// Returns the shared `Localite` instance.
14 | public static let shared = Localite()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Localite' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 |
16 | internal var localiteBundle: Bundle?
/host/spi-builder-workspace/Sources/Localite/Localite.swift:20:30: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
18 | private let filesStorage = FilesStorage()
19 | private let versionsStorage = VersionsStorage()
20 | private let urlSession = URLSession(configuration: .default)
| `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
21 |
22 | private init() {
/host/spi-builder-workspace/Sources/Localite/Localite.swift:20:57: error: cannot infer contextual base in reference to member 'default'
18 | private let filesStorage = FilesStorage()
19 | private let versionsStorage = VersionsStorage()
20 | private let urlSession = URLSession(configuration: .default)
| `- error: cannot infer contextual base in reference to member 'default'
21 |
22 | private init() {
/host/spi-builder-workspace/Sources/Localite/Localite.swift:126:6: error: Objective-C interoperability is disabled
124 | extension Bundle {
125 |
126 | @objc func localiteString(forKey key: String, value: String?, table tableName: String?) -> String {
| `- error: Objective-C interoperability is disabled
127 | let bundle = Localite.shared.localiteBundle ?? Bundle.main
128 | return bundle.localiteString(forKey: key, value: value, table: tableName)
/host/spi-builder-workspace/Sources/Localite/Localite.swift:85:35: error: cannot find 'URLRequest' in scope
83 |
84 | private func fetchStringsFile(using url: URL, for language: String, completion: @escaping (Data) -> Void) {
85 | urlSession.dataTask(with: URLRequest(url: url)) { [weak self] data, response, error in
| `- error: cannot find 'URLRequest' in scope
86 | guard let data, error == nil, (response as? HTTPURLResponse)?.statusCode ?? 0 < 400 else {
87 | print("Localite error - Fetching failed " + (error?.localizedDescription ?? ""))
/host/spi-builder-workspace/Sources/Localite/Localite.swift:85:71: error: cannot infer type of closure parameter 'data' without a type annotation
83 |
84 | private func fetchStringsFile(using url: URL, for language: String, completion: @escaping (Data) -> Void) {
85 | urlSession.dataTask(with: URLRequest(url: url)) { [weak self] data, response, error in
| `- error: cannot infer type of closure parameter 'data' without a type annotation
86 | guard let data, error == nil, (response as? HTTPURLResponse)?.statusCode ?? 0 < 400 else {
87 | print("Localite error - Fetching failed " + (error?.localizedDescription ?? ""))
/host/spi-builder-workspace/Sources/Localite/Localite.swift:85:77: error: cannot infer type of closure parameter 'response' without a type annotation
83 |
84 | private func fetchStringsFile(using url: URL, for language: String, completion: @escaping (Data) -> Void) {
85 | urlSession.dataTask(with: URLRequest(url: url)) { [weak self] data, response, error in
| `- error: cannot infer type of closure parameter 'response' without a type annotation
86 | guard let data, error == nil, (response as? HTTPURLResponse)?.statusCode ?? 0 < 400 else {
87 | print("Localite error - Fetching failed " + (error?.localizedDescription ?? ""))
/host/spi-builder-workspace/Sources/Localite/Localite.swift:85:87: error: cannot infer type of closure parameter 'error' without a type annotation
83 |
84 | private func fetchStringsFile(using url: URL, for language: String, completion: @escaping (Data) -> Void) {
85 | urlSession.dataTask(with: URLRequest(url: url)) { [weak self] data, response, error in
| `- error: cannot infer type of closure parameter 'error' without a type annotation
86 | guard let data, error == nil, (response as? HTTPURLResponse)?.statusCode ?? 0 < 400 else {
87 | print("Localite error - Fetching failed " + (error?.localizedDescription ?? ""))
/host/spi-builder-workspace/Sources/Localite/Localite.swift:86:75: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
84 | private func fetchStringsFile(using url: URL, for language: String, completion: @escaping (Data) -> Void) {
85 | urlSession.dataTask(with: URLRequest(url: url)) { [weak self] data, response, error in
86 | guard let data, error == nil, (response as? HTTPURLResponse)?.statusCode ?? 0 < 400 else {
| `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
87 | print("Localite error - Fetching failed " + (error?.localizedDescription ?? ""))
88 | self?.computeLocaliteBundle(for: language)
/host/spi-builder-workspace/Sources/Localite/Localite.swift:109:32: error: '#selector' can only be used with the Objective-C runtime
107 |
108 | private func swizzleLocalization() {
109 | let originalSelector = #selector(Bundle.localizedString(forKey:value:table:))
| `- error: '#selector' can only be used with the Objective-C runtime
110 | let overrideSelector = #selector(Bundle.localiteString(forKey:value:table:))
111 |
/host/spi-builder-workspace/Sources/Localite/Localite.swift:110:32: error: '#selector' can only be used with the Objective-C runtime
108 | private func swizzleLocalization() {
109 | let originalSelector = #selector(Bundle.localizedString(forKey:value:table:))
110 | let overrideSelector = #selector(Bundle.localiteString(forKey:value:table:))
| `- error: '#selector' can only be used with the Objective-C runtime
111 |
112 | guard let originalMethod: Method = class_getInstanceMethod(Bundle.self, originalSelector),
/host/spi-builder-workspace/Sources/Localite/Localite.swift:112:35: error: cannot find type 'Method' in scope
110 | let overrideSelector = #selector(Bundle.localiteString(forKey:value:table:))
111 |
112 | guard let originalMethod: Method = class_getInstanceMethod(Bundle.self, originalSelector),
| `- error: cannot find type 'Method' in scope
113 | let overrideMethod: Method = class_getInstanceMethod(Bundle.self, overrideSelector)
114 | else { return }
/host/spi-builder-workspace/Sources/Localite/Localite.swift:112:44: error: cannot find 'class_getInstanceMethod' in scope
110 | let overrideSelector = #selector(Bundle.localiteString(forKey:value:table:))
111 |
112 | guard let originalMethod: Method = class_getInstanceMethod(Bundle.self, originalSelector),
| `- error: cannot find 'class_getInstanceMethod' in scope
113 | let overrideMethod: Method = class_getInstanceMethod(Bundle.self, overrideSelector)
114 | else { return }
/host/spi-builder-workspace/Sources/Localite/Localite.swift:112:44: error: type of expression is ambiguous without a type annotation
110 | let overrideSelector = #selector(Bundle.localiteString(forKey:value:table:))
111 |
112 | guard let originalMethod: Method = class_getInstanceMethod(Bundle.self, originalSelector),
| `- error: type of expression is ambiguous without a type annotation
113 | let overrideMethod: Method = class_getInstanceMethod(Bundle.self, overrideSelector)
114 | else { return }
/host/spi-builder-workspace/Sources/Localite/Localite.swift:113:35: error: cannot find type 'Method' in scope
111 |
112 | guard let originalMethod: Method = class_getInstanceMethod(Bundle.self, originalSelector),
113 | let overrideMethod: Method = class_getInstanceMethod(Bundle.self, overrideSelector)
| `- error: cannot find type 'Method' in scope
114 | else { return }
115 |
/host/spi-builder-workspace/Sources/Localite/Localite.swift:113:44: error: cannot find 'class_getInstanceMethod' in scope
111 |
112 | guard let originalMethod: Method = class_getInstanceMethod(Bundle.self, originalSelector),
113 | let overrideMethod: Method = class_getInstanceMethod(Bundle.self, overrideSelector)
| `- error: cannot find 'class_getInstanceMethod' in scope
114 | else { return }
115 |
/host/spi-builder-workspace/Sources/Localite/Localite.swift:113:44: error: type of expression is ambiguous without a type annotation
111 |
112 | guard let originalMethod: Method = class_getInstanceMethod(Bundle.self, originalSelector),
113 | let overrideMethod: Method = class_getInstanceMethod(Bundle.self, overrideSelector)
| `- error: type of expression is ambiguous without a type annotation
114 | else { return }
115 |
/host/spi-builder-workspace/Sources/Localite/Localite.swift:116:12: error: cannot find 'class_addMethod' in scope
114 | else { return }
115 |
116 | if class_addMethod(Bundle.self, originalSelector, method_getImplementation(overrideMethod), method_getTypeEncoding(overrideMethod)) {
| `- error: cannot find 'class_addMethod' in scope
117 | class_replaceMethod(Bundle.self, overrideSelector, method_getImplementation(originalMethod), method_getTypeEncoding(originalMethod))
118 | } else {
/host/spi-builder-workspace/Sources/Localite/Localite.swift:116:59: error: cannot find 'method_getImplementation' in scope
114 | else { return }
115 |
116 | if class_addMethod(Bundle.self, originalSelector, method_getImplementation(overrideMethod), method_getTypeEncoding(overrideMethod)) {
| `- error: cannot find 'method_getImplementation' in scope
117 | class_replaceMethod(Bundle.self, overrideSelector, method_getImplementation(originalMethod), method_getTypeEncoding(originalMethod))
118 | } else {
/host/spi-builder-workspace/Sources/Localite/Localite.swift:116:101: error: cannot find 'method_getTypeEncoding' in scope
114 | else { return }
115 |
116 | if class_addMethod(Bundle.self, originalSelector, method_getImplementation(overrideMethod), method_getTypeEncoding(overrideMethod)) {
| `- error: cannot find 'method_getTypeEncoding' in scope
117 | class_replaceMethod(Bundle.self, overrideSelector, method_getImplementation(originalMethod), method_getTypeEncoding(originalMethod))
118 | } else {
/host/spi-builder-workspace/Sources/Localite/Localite.swift:117:13: error: cannot find 'class_replaceMethod' in scope
115 |
116 | if class_addMethod(Bundle.self, originalSelector, method_getImplementation(overrideMethod), method_getTypeEncoding(overrideMethod)) {
117 | class_replaceMethod(Bundle.self, overrideSelector, method_getImplementation(originalMethod), method_getTypeEncoding(originalMethod))
| `- error: cannot find 'class_replaceMethod' in scope
118 | } else {
119 | method_exchangeImplementations(originalMethod, overrideMethod)
/host/spi-builder-workspace/Sources/Localite/Localite.swift:117:64: error: cannot find 'method_getImplementation' in scope
115 |
116 | if class_addMethod(Bundle.self, originalSelector, method_getImplementation(overrideMethod), method_getTypeEncoding(overrideMethod)) {
117 | class_replaceMethod(Bundle.self, overrideSelector, method_getImplementation(originalMethod), method_getTypeEncoding(originalMethod))
| `- error: cannot find 'method_getImplementation' in scope
118 | } else {
119 | method_exchangeImplementations(originalMethod, overrideMethod)
/host/spi-builder-workspace/Sources/Localite/Localite.swift:117:106: error: cannot find 'method_getTypeEncoding' in scope
115 |
116 | if class_addMethod(Bundle.self, originalSelector, method_getImplementation(overrideMethod), method_getTypeEncoding(overrideMethod)) {
117 | class_replaceMethod(Bundle.self, overrideSelector, method_getImplementation(originalMethod), method_getTypeEncoding(originalMethod))
| `- error: cannot find 'method_getTypeEncoding' in scope
118 | } else {
119 | method_exchangeImplementations(originalMethod, overrideMethod)
/host/spi-builder-workspace/Sources/Localite/Localite.swift:119:13: error: cannot find 'method_exchangeImplementations' in scope
117 | class_replaceMethod(Bundle.self, overrideSelector, method_getImplementation(originalMethod), method_getTypeEncoding(originalMethod))
118 | } else {
119 | method_exchangeImplementations(originalMethod, overrideMethod)
| `- error: cannot find 'method_exchangeImplementations' in scope
120 | }
121 | }
error: emit-module command failed with exit code 1 (use -v to see invocation)
[4/6] Emitting module Localite
/host/spi-builder-workspace/Sources/Localite/Localite.swift:14:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Localite' may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | /// `Localite` is a lightweight localization package designed for the remote management of strings files.
11 | public class Localite {
| `- note: class 'Localite' does not conform to the 'Sendable' protocol
12 |
13 | /// Returns the shared `Localite` instance.
14 | public static let shared = Localite()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Localite' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 |
16 | internal var localiteBundle: Bundle?
/host/spi-builder-workspace/Sources/Localite/Localite.swift:20:30: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
18 | private let filesStorage = FilesStorage()
19 | private let versionsStorage = VersionsStorage()
20 | private let urlSession = URLSession(configuration: .default)
| `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
21 |
22 | private init() {
/host/spi-builder-workspace/Sources/Localite/Localite.swift:20:57: error: cannot infer contextual base in reference to member 'default'
18 | private let filesStorage = FilesStorage()
19 | private let versionsStorage = VersionsStorage()
20 | private let urlSession = URLSession(configuration: .default)
| `- error: cannot infer contextual base in reference to member 'default'
21 |
22 | private init() {
/host/spi-builder-workspace/Sources/Localite/Localite.swift:126:6: error: Objective-C interoperability is disabled
124 | extension Bundle {
125 |
126 | @objc func localiteString(forKey key: String, value: String?, table tableName: String?) -> String {
| `- error: Objective-C interoperability is disabled
127 | let bundle = Localite.shared.localiteBundle ?? Bundle.main
128 | return bundle.localiteString(forKey: key, value: value, table: tableName)
[5/6] Compiling Localite FilesStorage.swift
/host/spi-builder-workspace/Sources/Localite/Localite.swift:20:30: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
18 | private let filesStorage = FilesStorage()
19 | private let versionsStorage = VersionsStorage()
20 | private let urlSession = URLSession(configuration: .default)
| `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
21 |
22 | private init() {
/host/spi-builder-workspace/Sources/Localite/Localite.swift:20:57: error: cannot infer contextual base in reference to member 'default'
18 | private let filesStorage = FilesStorage()
19 | private let versionsStorage = VersionsStorage()
20 | private let urlSession = URLSession(configuration: .default)
| `- error: cannot infer contextual base in reference to member 'default'
21 |
22 | private init() {
[6/6] Compiling Localite VersionsStorage.swift
/host/spi-builder-workspace/Sources/Localite/Helpers/VersionsStorage.swift:21:24: error: value of type 'UserDefaults' has no member 'setValue'
19 | var versions = localiteSuite?.dictionary(forKey: Keys.versions) as? [String : Int] ?? [String : Int]()
20 | versions[language] = version
21 | localiteSuite?.setValue(versions, forKey: Keys.versions)
| `- error: value of type 'UserDefaults' has no member 'setValue'
22 | }
23 |
BUILD FAILURE 6.0 linux