Build Information
Failed to build DataCache, reference master (bcb54d
), with Swift 6.0 for Linux on 3 Nov 2024 01:25:10 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/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 2>&1
Build Log
========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/huynguyencong/DataCache.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/huynguyencong/DataCache
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at bcb54d3 Update Podspec tag and package iOS version
Cloned https://github.com/huynguyencong/DataCache.git
Revision (git rev-parse @):
bcb54d313a6ab16fc3f8fa5884ec0f5f331c6ae3
SUCCESS checkout https://github.com/huynguyencong/DataCache.git at master
========================================
Build
========================================
Selected platform: linux
Swift version: 6.0
Building package at path: $PWD
https://github.com/huynguyencong/DataCache.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/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 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
error: emit-module command failed with exit code 1 (use -v to see invocation)
[3/6] Compiling DataCache Dictionary+Cache.swift
[4/6] Emitting module DataCache
/host/spi-builder-workspace/Sources/DataCache.swift:22:47: error: cannot find type 'TimeInterval' in scope
20 | static let cacheDirectoryPrefix = "com.nch.cache."
21 | static let ioQueuePrefix = "com.nch.queue."
22 | static let defaultMaxCachePeriodInSecond: TimeInterval = 60 * 60 * 24 * 7 // a week
| `- error: cannot find type 'TimeInterval' in scope
23 |
24 | public static let instance = DataCache(name: "default")
/host/spi-builder-workspace/Sources/DataCache.swift:24:23: warning: static property 'instance' is not concurrency-safe because non-'Sendable' type 'DataCache' may have shared mutable state; this is an error in the Swift 6 language mode
17 | }
18 |
19 | open class DataCache {
| `- note: class 'DataCache' does not conform to the 'Sendable' protocol
20 | static let cacheDirectoryPrefix = "com.nch.cache."
21 | static let ioQueuePrefix = "com.nch.queue."
22 | static let defaultMaxCachePeriodInSecond: TimeInterval = 60 * 60 * 24 * 7 // a week
23 |
24 | public static let instance = DataCache(name: "default")
| |- warning: static property 'instance' is not concurrency-safe because non-'Sendable' type 'DataCache' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'instance' 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
25 |
26 | let cachePath: String
/host/spi-builder-workspace/Sources/DataCache.swift:28:20: error: cannot find 'NSCache' in scope
26 | let cachePath: String
27 |
28 | let memCache = NSCache<AnyObject, AnyObject>()
| `- error: cannot find 'NSCache' in scope
29 | let ioQueue: DispatchQueue
30 | let fileManager: FileManager
/host/spi-builder-workspace/Sources/DataCache.swift:29:18: error: cannot find type 'DispatchQueue' in scope
27 |
28 | let memCache = NSCache<AnyObject, AnyObject>()
29 | let ioQueue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
30 | let fileManager: FileManager
31 |
/host/spi-builder-workspace/Sources/DataCache.swift:30:22: error: cannot find type 'FileManager' in scope
28 | let memCache = NSCache<AnyObject, AnyObject>()
29 | let ioQueue: DispatchQueue
30 | let fileManager: FileManager
| `- error: cannot find type 'FileManager' in scope
31 |
32 | /// Name of cache
/host/spi-builder-workspace/Sources/DataCache.swift:69:29: error: cannot find type 'Data' in scope
67 |
68 | /// Write data for key. This is an async operation.
69 | public func write(data: Data, forKey key: String) {
| `- error: cannot find type 'Data' in scope
70 | memCache.setObject(data as AnyObject, forKey: key as AnyObject)
71 | writeDataToDisk(data: data, key: key)
/host/spi-builder-workspace/Sources/DataCache.swift:74:40: error: cannot find type 'Data' in scope
72 | }
73 |
74 | private func writeDataToDisk(data: Data, key: String) {
| `- error: cannot find type 'Data' in scope
75 | ioQueue.async {
76 | if self.fileManager.fileExists(atPath: self.cachePath) == false {
/host/spi-builder-workspace/Sources/DataCache.swift:89:48: error: cannot find type 'Data' in scope
87 |
88 | /// Read data for key
89 | public func readData(forKey key:String) -> Data? {
| `- error: cannot find type 'Data' in scope
90 | var data = memCache.object(forKey: key as AnyObject) as? Data
91 |
/host/spi-builder-workspace/Sources/DataCache.swift:103:57: error: cannot find type 'Data' in scope
101 |
102 | /// Read data from disk for key
103 | public func readDataFromDisk(forKey key: String) -> Data? {
| `- error: cannot find type 'Data' in scope
104 | return self.fileManager.contents(atPath: cachePath(forKey: key))
105 | }
/host/spi-builder-workspace/Sources/DataCache.swift:124:31: error: cannot find type 'NSCoding' in scope
122 | ///
123 | /// NOTE: Can't write `UIImage` with this method. Please use `writeImage(_:forKey:)` to write an image
124 | public func write(object: NSCoding, forKey key: String) {
| `- error: cannot find type 'NSCoding' in scope
125 | let data = NSKeyedArchiver.archivedData(withRootObject: object)
126 | write(data: data, forKey: key)
/host/spi-builder-workspace/Sources/DataCache.swift:145:51: error: cannot find type 'NSObject' in scope
143 |
144 | /// Read an object for key. This object must inherit from `NSObject` and implement NSCoding protocol. `String`, `Array`, `Dictionary` conform to this method
145 | public func readObject(forKey key: String) -> NSObject? {
| `- error: cannot find type 'NSObject' in scope
146 | let data = readData(forKey: key)
147 |
/host/spi-builder-workspace/Sources/DataCache.swift:293:6: error: Objective-C interoperability is disabled
291 |
292 | /// Clean expired disk cache. This is an async operation.
293 | @objc public func cleanExpiredDiskCache() {
| `- error: Objective-C interoperability is disabled
294 | cleanExpiredDiskCache(completion: nil)
295 | }
/host/spi-builder-workspace/Sources/DataCache.swift:303:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
301 | - parameter completionHandler: Called after the operation completes.
302 | */
303 | open func cleanExpiredDiskCache(completion handler: (()->())? = nil) {
| `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
304 |
305 | // Do things in cocurrent io queue
/host/spi-builder-workspace/Sources/DataCache.swift:367:83: error: cannot find type 'URL' in scope
365 |
366 | // This method is from Kingfisher
367 | fileprivate func travelCachedFiles(onlyForCacheSize: Bool) -> (urlsToDelete: [URL], diskCacheSize: UInt, cachedFiles: [URL: URLResourceValues]) {
| `- error: cannot find type 'URL' in scope
368 |
369 | let diskCacheURL = URL(fileURLWithPath: cachePath)
/host/spi-builder-workspace/Sources/DataCache.swift:367:124: error: cannot find type 'URL' in scope
365 |
366 | // This method is from Kingfisher
367 | fileprivate func travelCachedFiles(onlyForCacheSize: Bool) -> (urlsToDelete: [URL], diskCacheSize: UInt, cachedFiles: [URL: URLResourceValues]) {
| `- error: cannot find type 'URL' in scope
368 |
369 | let diskCacheURL = URL(fileURLWithPath: cachePath)
[5/6] Compiling DataCache DataCache.swift
/host/spi-builder-workspace/Sources/DataCache.swift:22:47: error: cannot find type 'TimeInterval' in scope
20 | static let cacheDirectoryPrefix = "com.nch.cache."
21 | static let ioQueuePrefix = "com.nch.queue."
22 | static let defaultMaxCachePeriodInSecond: TimeInterval = 60 * 60 * 24 * 7 // a week
| `- error: cannot find type 'TimeInterval' in scope
23 |
24 | public static let instance = DataCache(name: "default")
/host/spi-builder-workspace/Sources/DataCache.swift:24:23: warning: static property 'instance' is not concurrency-safe because non-'Sendable' type 'DataCache' may have shared mutable state; this is an error in the Swift 6 language mode
17 | }
18 |
19 | open class DataCache {
| `- note: class 'DataCache' does not conform to the 'Sendable' protocol
20 | static let cacheDirectoryPrefix = "com.nch.cache."
21 | static let ioQueuePrefix = "com.nch.queue."
22 | static let defaultMaxCachePeriodInSecond: TimeInterval = 60 * 60 * 24 * 7 // a week
23 |
24 | public static let instance = DataCache(name: "default")
| |- warning: static property 'instance' is not concurrency-safe because non-'Sendable' type 'DataCache' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'instance' 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
25 |
26 | let cachePath: String
/host/spi-builder-workspace/Sources/DataCache.swift:28:20: error: cannot find 'NSCache' in scope
26 | let cachePath: String
27 |
28 | let memCache = NSCache<AnyObject, AnyObject>()
| `- error: cannot find 'NSCache' in scope
29 | let ioQueue: DispatchQueue
30 | let fileManager: FileManager
/host/spi-builder-workspace/Sources/DataCache.swift:29:18: error: cannot find type 'DispatchQueue' in scope
27 |
28 | let memCache = NSCache<AnyObject, AnyObject>()
29 | let ioQueue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
30 | let fileManager: FileManager
31 |
/host/spi-builder-workspace/Sources/DataCache.swift:30:22: error: cannot find type 'FileManager' in scope
28 | let memCache = NSCache<AnyObject, AnyObject>()
29 | let ioQueue: DispatchQueue
30 | let fileManager: FileManager
| `- error: cannot find type 'FileManager' in scope
31 |
32 | /// Name of cache
/host/spi-builder-workspace/Sources/DataCache.swift:69:29: error: cannot find type 'Data' in scope
67 |
68 | /// Write data for key. This is an async operation.
69 | public func write(data: Data, forKey key: String) {
| `- error: cannot find type 'Data' in scope
70 | memCache.setObject(data as AnyObject, forKey: key as AnyObject)
71 | writeDataToDisk(data: data, key: key)
/host/spi-builder-workspace/Sources/DataCache.swift:74:40: error: cannot find type 'Data' in scope
72 | }
73 |
74 | private func writeDataToDisk(data: Data, key: String) {
| `- error: cannot find type 'Data' in scope
75 | ioQueue.async {
76 | if self.fileManager.fileExists(atPath: self.cachePath) == false {
/host/spi-builder-workspace/Sources/DataCache.swift:89:48: error: cannot find type 'Data' in scope
87 |
88 | /// Read data for key
89 | public func readData(forKey key:String) -> Data? {
| `- error: cannot find type 'Data' in scope
90 | var data = memCache.object(forKey: key as AnyObject) as? Data
91 |
/host/spi-builder-workspace/Sources/DataCache.swift:103:57: error: cannot find type 'Data' in scope
101 |
102 | /// Read data from disk for key
103 | public func readDataFromDisk(forKey key: String) -> Data? {
| `- error: cannot find type 'Data' in scope
104 | return self.fileManager.contents(atPath: cachePath(forKey: key))
105 | }
/host/spi-builder-workspace/Sources/DataCache.swift:124:31: error: cannot find type 'NSCoding' in scope
122 | ///
123 | /// NOTE: Can't write `UIImage` with this method. Please use `writeImage(_:forKey:)` to write an image
124 | public func write(object: NSCoding, forKey key: String) {
| `- error: cannot find type 'NSCoding' in scope
125 | let data = NSKeyedArchiver.archivedData(withRootObject: object)
126 | write(data: data, forKey: key)
/host/spi-builder-workspace/Sources/DataCache.swift:145:51: error: cannot find type 'NSObject' in scope
143 |
144 | /// Read an object for key. This object must inherit from `NSObject` and implement NSCoding protocol. `String`, `Array`, `Dictionary` conform to this method
145 | public func readObject(forKey key: String) -> NSObject? {
| `- error: cannot find type 'NSObject' in scope
146 | let data = readData(forKey: key)
147 |
/host/spi-builder-workspace/Sources/DataCache.swift:293:6: error: Objective-C interoperability is disabled
291 |
292 | /// Clean expired disk cache. This is an async operation.
293 | @objc public func cleanExpiredDiskCache() {
| `- error: Objective-C interoperability is disabled
294 | cleanExpiredDiskCache(completion: nil)
295 | }
/host/spi-builder-workspace/Sources/DataCache.swift:303:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
301 | - parameter completionHandler: Called after the operation completes.
302 | */
303 | open func cleanExpiredDiskCache(completion handler: (()->())? = nil) {
| `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
304 |
305 | // Do things in cocurrent io queue
/host/spi-builder-workspace/Sources/DataCache.swift:367:83: error: cannot find type 'URL' in scope
365 |
366 | // This method is from Kingfisher
367 | fileprivate func travelCachedFiles(onlyForCacheSize: Bool) -> (urlsToDelete: [URL], diskCacheSize: UInt, cachedFiles: [URL: URLResourceValues]) {
| `- error: cannot find type 'URL' in scope
368 |
369 | let diskCacheURL = URL(fileURLWithPath: cachePath)
/host/spi-builder-workspace/Sources/DataCache.swift:367:124: error: cannot find type 'URL' in scope
365 |
366 | // This method is from Kingfisher
367 | fileprivate func travelCachedFiles(onlyForCacheSize: Bool) -> (urlsToDelete: [URL], diskCacheSize: UInt, cachedFiles: [URL: URLResourceValues]) {
| `- error: cannot find type 'URL' in scope
368 |
369 | let diskCacheURL = URL(fileURLWithPath: cachePath)
/host/spi-builder-workspace/Sources/DataCache.swift:45:33: error: cannot find 'NSSearchPathForDirectoriesInDomains' in scope
43 | self.name = name
44 |
45 | var cachePath = path ?? NSSearchPathForDirectoriesInDomains(.cachesDirectory, FileManager.SearchPathDomainMask.userDomainMask, true).first!
| `- error: cannot find 'NSSearchPathForDirectoriesInDomains' in scope
46 | cachePath = (cachePath as NSString).appendingPathComponent(DataCache.cacheDirectoryPrefix + name)
47 | self.cachePath = cachePath
/host/spi-builder-workspace/Sources/DataCache.swift:45:87: error: cannot find 'FileManager' in scope
43 | self.name = name
44 |
45 | var cachePath = path ?? NSSearchPathForDirectoriesInDomains(.cachesDirectory, FileManager.SearchPathDomainMask.userDomainMask, true).first!
| `- error: cannot find 'FileManager' in scope
46 | cachePath = (cachePath as NSString).appendingPathComponent(DataCache.cacheDirectoryPrefix + name)
47 | self.cachePath = cachePath
/host/spi-builder-workspace/Sources/DataCache.swift:45:70: error: cannot infer contextual base in reference to member 'cachesDirectory'
43 | self.name = name
44 |
45 | var cachePath = path ?? NSSearchPathForDirectoriesInDomains(.cachesDirectory, FileManager.SearchPathDomainMask.userDomainMask, true).first!
| `- error: cannot infer contextual base in reference to member 'cachesDirectory'
46 | cachePath = (cachePath as NSString).appendingPathComponent(DataCache.cacheDirectoryPrefix + name)
47 | self.cachePath = cachePath
/host/spi-builder-workspace/Sources/DataCache.swift:46:35: error: cannot find type 'NSString' in scope
44 |
45 | var cachePath = path ?? NSSearchPathForDirectoriesInDomains(.cachesDirectory, FileManager.SearchPathDomainMask.userDomainMask, true).first!
46 | cachePath = (cachePath as NSString).appendingPathComponent(DataCache.cacheDirectoryPrefix + name)
| `- error: cannot find type 'NSString' in scope
47 | self.cachePath = cachePath
48 |
/host/spi-builder-workspace/Sources/DataCache.swift:49:19: error: cannot find 'DispatchQueue' in scope
47 | self.cachePath = cachePath
48 |
49 | ioQueue = DispatchQueue(label: DataCache.ioQueuePrefix + name)
| `- error: cannot find 'DispatchQueue' in scope
50 |
51 | self.fileManager = FileManager()
/host/spi-builder-workspace/Sources/DataCache.swift:51:28: error: cannot find 'FileManager' in scope
49 | ioQueue = DispatchQueue(label: DataCache.ioQueuePrefix + name)
50 |
51 | self.fileManager = FileManager()
| `- error: cannot find 'FileManager' in scope
52 |
53 | #if !os(OSX) && !os(watchOS)
/host/spi-builder-workspace/Sources/DataCache.swift:54:13: error: cannot find 'NotificationCenter' in scope
52 |
53 | #if !os(OSX) && !os(watchOS)
54 | NotificationCenter.default.addObserver(self, selector: #selector(cleanExpiredDiskCache), name: UIApplication.willTerminateNotification, object: nil)
| `- error: cannot find 'NotificationCenter' in scope
55 | NotificationCenter.default.addObserver(self, selector: #selector(cleanExpiredDiskCache), name: UIApplication.didEnterBackgroundNotification, object: nil)
56 | #endif
/host/spi-builder-workspace/Sources/DataCache.swift:54:108: error: cannot find 'UIApplication' in scope
52 |
53 | #if !os(OSX) && !os(watchOS)
54 | NotificationCenter.default.addObserver(self, selector: #selector(cleanExpiredDiskCache), name: UIApplication.willTerminateNotification, object: nil)
| `- error: cannot find 'UIApplication' in scope
55 | NotificationCenter.default.addObserver(self, selector: #selector(cleanExpiredDiskCache), name: UIApplication.didEnterBackgroundNotification, object: nil)
56 | #endif
/host/spi-builder-workspace/Sources/DataCache.swift:54:68: error: '#selector' can only be used with the Objective-C runtime
52 |
53 | #if !os(OSX) && !os(watchOS)
54 | NotificationCenter.default.addObserver(self, selector: #selector(cleanExpiredDiskCache), name: UIApplication.willTerminateNotification, object: nil)
| `- error: '#selector' can only be used with the Objective-C runtime
55 | NotificationCenter.default.addObserver(self, selector: #selector(cleanExpiredDiskCache), name: UIApplication.didEnterBackgroundNotification, object: nil)
56 | #endif
/host/spi-builder-workspace/Sources/DataCache.swift:55:13: error: cannot find 'NotificationCenter' in scope
53 | #if !os(OSX) && !os(watchOS)
54 | NotificationCenter.default.addObserver(self, selector: #selector(cleanExpiredDiskCache), name: UIApplication.willTerminateNotification, object: nil)
55 | NotificationCenter.default.addObserver(self, selector: #selector(cleanExpiredDiskCache), name: UIApplication.didEnterBackgroundNotification, object: nil)
| `- error: cannot find 'NotificationCenter' in scope
56 | #endif
57 | }
/host/spi-builder-workspace/Sources/DataCache.swift:55:108: error: cannot find 'UIApplication' in scope
53 | #if !os(OSX) && !os(watchOS)
54 | NotificationCenter.default.addObserver(self, selector: #selector(cleanExpiredDiskCache), name: UIApplication.willTerminateNotification, object: nil)
55 | NotificationCenter.default.addObserver(self, selector: #selector(cleanExpiredDiskCache), name: UIApplication.didEnterBackgroundNotification, object: nil)
| `- error: cannot find 'UIApplication' in scope
56 | #endif
57 | }
/host/spi-builder-workspace/Sources/DataCache.swift:55:68: error: '#selector' can only be used with the Objective-C runtime
53 | #if !os(OSX) && !os(watchOS)
54 | NotificationCenter.default.addObserver(self, selector: #selector(cleanExpiredDiskCache), name: UIApplication.willTerminateNotification, object: nil)
55 | NotificationCenter.default.addObserver(self, selector: #selector(cleanExpiredDiskCache), name: UIApplication.didEnterBackgroundNotification, object: nil)
| `- error: '#selector' can only be used with the Objective-C runtime
56 | #endif
57 | }
/host/spi-builder-workspace/Sources/DataCache.swift:60:9: error: cannot find 'NotificationCenter' in scope
58 |
59 | deinit {
60 | NotificationCenter.default.removeObserver(self)
| `- error: cannot find 'NotificationCenter' in scope
61 | }
62 | }
/host/spi-builder-workspace/Sources/DataCache.swift:90:66: error: cannot find type 'Data' in scope
88 | /// Read data for key
89 | public func readData(forKey key:String) -> Data? {
90 | var data = memCache.object(forKey: key as AnyObject) as? Data
| `- error: cannot find type 'Data' in scope
91 |
92 | if data == nil {
/host/spi-builder-workspace/Sources/DataCache.swift:109:24: error: cannot find 'JSONEncoder' in scope
107 | // MARK: - Read & write Codable types
108 | public func write<T: Encodable>(codable: T, forKey key: String) throws {
109 | let data = try JSONEncoder().encode(codable)
| `- error: cannot find 'JSONEncoder' in scope
110 | write(data: data, forKey: key)
111 | }
/host/spi-builder-workspace/Sources/DataCache.swift:110:9: error: no exact matches in call to instance method 'write'
108 | public func write<T: Encodable>(codable: T, forKey key: String) throws {
109 | let data = try JSONEncoder().encode(codable)
110 | write(data: data, forKey: key)
| `- error: no exact matches in call to instance method 'write'
111 | }
112 |
:
128 |
129 | /// Write a string for key
130 | public func write(string: String, forKey key: String) {
| `- note: incorrect labels for candidate (have: '(data:forKey:)', expected: '(string:forKey:)')
131 | write(object: string as NSCoding, forKey: key)
132 | }
133 |
134 | /// Write a dictionary for key
135 | public func write(dictionary: Dictionary<AnyHashable, Any>, forKey key: String) {
| `- note: incorrect labels for candidate (have: '(data:forKey:)', expected: '(dictionary:forKey:)')
136 | write(object: dictionary as NSCoding, forKey: key)
137 | }
138 |
139 | /// Write an array for key
140 | public func write(array: Array<Any>, forKey key: String) {
| `- note: incorrect labels for candidate (have: '(data:forKey:)', expected: '(array:forKey:)')
141 | write(object: array as NSCoding, forKey: key)
142 | }
/host/spi-builder-workspace/Sources/DataCache.swift:115:20: error: cannot find 'JSONDecoder' in scope
113 | public func readCodable<T: Decodable>(forKey key: String) throws -> T? {
114 | guard let data = readData(forKey: key) else { return nil }
115 | return try JSONDecoder().decode(T.self, from: data)
| `- error: cannot find 'JSONDecoder' in scope
116 | }
117 |
/host/spi-builder-workspace/Sources/DataCache.swift:125:20: error: cannot find 'NSKeyedArchiver' in scope
123 | /// NOTE: Can't write `UIImage` with this method. Please use `writeImage(_:forKey:)` to write an image
124 | public func write(object: NSCoding, forKey key: String) {
125 | let data = NSKeyedArchiver.archivedData(withRootObject: object)
| `- error: cannot find 'NSKeyedArchiver' in scope
126 | write(data: data, forKey: key)
127 | }
/host/spi-builder-workspace/Sources/DataCache.swift:126:9: error: no exact matches in call to instance method 'write'
124 | public func write(object: NSCoding, forKey key: String) {
125 | let data = NSKeyedArchiver.archivedData(withRootObject: object)
126 | write(data: data, forKey: key)
| `- error: no exact matches in call to instance method 'write'
127 | }
128 |
129 | /// Write a string for key
130 | public func write(string: String, forKey key: String) {
| `- note: incorrect labels for candidate (have: '(data:forKey:)', expected: '(string:forKey:)')
131 | write(object: string as NSCoding, forKey: key)
132 | }
133 |
134 | /// Write a dictionary for key
135 | public func write(dictionary: Dictionary<AnyHashable, Any>, forKey key: String) {
| `- note: incorrect labels for candidate (have: '(data:forKey:)', expected: '(dictionary:forKey:)')
136 | write(object: dictionary as NSCoding, forKey: key)
137 | }
138 |
139 | /// Write an array for key
140 | public func write(array: Array<Any>, forKey key: String) {
| `- note: incorrect labels for candidate (have: '(data:forKey:)', expected: '(array:forKey:)')
141 | write(object: array as NSCoding, forKey: key)
142 | }
/host/spi-builder-workspace/Sources/DataCache.swift:131:33: error: cannot find type 'NSCoding' in scope
129 | /// Write a string for key
130 | public func write(string: String, forKey key: String) {
131 | write(object: string as NSCoding, forKey: key)
| `- error: cannot find type 'NSCoding' in scope
132 | }
133 |
/host/spi-builder-workspace/Sources/DataCache.swift:131:9: error: no exact matches in call to instance method 'write'
106 |
107 | // MARK: - Read & write Codable types
108 | public func write<T: Encodable>(codable: T, forKey key: String) throws {
| `- note: incorrect labels for candidate (have: '(object:forKey:)', expected: '(codable:forKey:)')
109 | let data = try JSONEncoder().encode(codable)
110 | write(data: data, forKey: key)
:
128 |
129 | /// Write a string for key
130 | public func write(string: String, forKey key: String) {
| `- note: incorrect labels for candidate (have: '(object:forKey:)', expected: '(string:forKey:)')
131 | write(object: string as NSCoding, forKey: key)
| `- error: no exact matches in call to instance method 'write'
132 | }
133 |
/host/spi-builder-workspace/Sources/DataCache.swift:136:37: error: cannot find type 'NSCoding' in scope
134 | /// Write a dictionary for key
135 | public func write(dictionary: Dictionary<AnyHashable, Any>, forKey key: String) {
136 | write(object: dictionary as NSCoding, forKey: key)
| `- error: cannot find type 'NSCoding' in scope
137 | }
138 |
/host/spi-builder-workspace/Sources/DataCache.swift:136:14: error: incorrect argument label in call (have 'object:forKey:', expected 'dictionary:forKey:')
134 | /// Write a dictionary for key
135 | public func write(dictionary: Dictionary<AnyHashable, Any>, forKey key: String) {
136 | write(object: dictionary as NSCoding, forKey: key)
| `- error: incorrect argument label in call (have 'object:forKey:', expected 'dictionary:forKey:')
137 | }
138 |
/host/spi-builder-workspace/Sources/DataCache.swift:141:32: error: cannot find type 'NSCoding' in scope
139 | /// Write an array for key
140 | public func write(array: Array<Any>, forKey key: String) {
141 | write(object: array as NSCoding, forKey: key)
| `- error: cannot find type 'NSCoding' in scope
142 | }
143 |
/host/spi-builder-workspace/Sources/DataCache.swift:141:14: error: incorrect argument label in call (have 'object:forKey:', expected 'array:forKey:')
139 | /// Write an array for key
140 | public func write(array: Array<Any>, forKey key: String) {
141 | write(object: array as NSCoding, forKey: key)
| `- error: incorrect argument label in call (have 'object:forKey:', expected 'array:forKey:')
142 | }
143 |
/host/spi-builder-workspace/Sources/DataCache.swift:355:13: error: cannot find 'DispatchQueue' in scope
353 | }
354 |
355 | DispatchQueue.main.async(execute: { () -> Void in
| `- error: cannot find 'DispatchQueue' in scope
356 | handler?()
357 | })
/host/spi-builder-workspace/Sources/DataCache.swift:369:28: error: cannot find 'URL' in scope
367 | fileprivate func travelCachedFiles(onlyForCacheSize: Bool) -> (urlsToDelete: [URL], diskCacheSize: UInt, cachedFiles: [URL: URLResourceValues]) {
368 |
369 | let diskCacheURL = URL(fileURLWithPath: cachePath)
| `- error: cannot find 'URL' in scope
370 | let resourceKeys: Set<URLResourceKey> = [.isDirectoryKey, .contentAccessDateKey, .totalFileAllocatedSizeKey]
371 | let expiredDate: Date? = (maxCachePeriodInSecond < 0) ? nil : Date(timeIntervalSinceNow: -maxCachePeriodInSecond)
/host/spi-builder-workspace/Sources/DataCache.swift:370:31: error: cannot find type 'URLResourceKey' in scope
368 |
369 | let diskCacheURL = URL(fileURLWithPath: cachePath)
370 | let resourceKeys: Set<URLResourceKey> = [.isDirectoryKey, .contentAccessDateKey, .totalFileAllocatedSizeKey]
| `- error: cannot find type 'URLResourceKey' in scope
371 | let expiredDate: Date? = (maxCachePeriodInSecond < 0) ? nil : Date(timeIntervalSinceNow: -maxCachePeriodInSecond)
372 |
/host/spi-builder-workspace/Sources/DataCache.swift:371:26: error: cannot find type 'Date' in scope
369 | let diskCacheURL = URL(fileURLWithPath: cachePath)
370 | let resourceKeys: Set<URLResourceKey> = [.isDirectoryKey, .contentAccessDateKey, .totalFileAllocatedSizeKey]
371 | let expiredDate: Date? = (maxCachePeriodInSecond < 0) ? nil : Date(timeIntervalSinceNow: -maxCachePeriodInSecond)
| `- error: cannot find type 'Date' in scope
372 |
373 | var cachedFiles = [URL: URLResourceValues]()
/host/spi-builder-workspace/Sources/DataCache.swift:373:28: error: cannot find 'URL' in scope
371 | let expiredDate: Date? = (maxCachePeriodInSecond < 0) ? nil : Date(timeIntervalSinceNow: -maxCachePeriodInSecond)
372 |
373 | var cachedFiles = [URL: URLResourceValues]()
| `- error: cannot find 'URL' in scope
374 | var urlsToDelete = [URL]()
375 | var diskCacheSize: UInt = 0
/host/spi-builder-workspace/Sources/DataCache.swift:373:33: error: cannot find 'URLResourceValues' in scope
371 | let expiredDate: Date? = (maxCachePeriodInSecond < 0) ? nil : Date(timeIntervalSinceNow: -maxCachePeriodInSecond)
372 |
373 | var cachedFiles = [URL: URLResourceValues]()
| `- error: cannot find 'URLResourceValues' in scope
374 | var urlsToDelete = [URL]()
375 | var diskCacheSize: UInt = 0
/host/spi-builder-workspace/Sources/DataCache.swift:373:27: error: cannot call value of non-function type '[AnyHashable : Any]'
371 | let expiredDate: Date? = (maxCachePeriodInSecond < 0) ? nil : Date(timeIntervalSinceNow: -maxCachePeriodInSecond)
372 |
373 | var cachedFiles = [URL: URLResourceValues]()
| `- error: cannot call value of non-function type '[AnyHashable : Any]'
374 | var urlsToDelete = [URL]()
375 | var diskCacheSize: UInt = 0
/host/spi-builder-workspace/Sources/DataCache.swift:374:29: error: cannot find 'URL' in scope
372 |
373 | var cachedFiles = [URL: URLResourceValues]()
374 | var urlsToDelete = [URL]()
| `- error: cannot find 'URL' in scope
375 | var diskCacheSize: UInt = 0
376 |
/host/spi-builder-workspace/Sources/DataCache.swift:374:28: error: cannot call value of non-function type '[Any]'
372 |
373 | var cachedFiles = [URL: URLResourceValues]()
374 | var urlsToDelete = [URL]()
| `- error: cannot call value of non-function type '[Any]'
375 | var diskCacheSize: UInt = 0
376 |
/host/spi-builder-workspace/Sources/DataCache.swift:377:139: error: cannot infer contextual base in reference to member 'skipsHiddenFiles'
375 | var diskCacheSize: UInt = 0
376 |
377 | for fileUrl in (try? fileManager.contentsOfDirectory(at: diskCacheURL, includingPropertiesForKeys: Array(resourceKeys), options: .skipsHiddenFiles)) ?? [] {
| `- error: cannot infer contextual base in reference to member 'skipsHiddenFiles'
378 |
379 | do {
/host/spi-builder-workspace/Sources/DataCache.swift:412:30: error: cannot find type 'NSString' in scope
410 | func cachePath(forKey key: String) -> String {
411 | let fileName = key.md5
412 | return (cachePath as NSString).appendingPathComponent(fileName)
| `- error: cannot find type 'NSString' in scope
413 | }
414 | }
[6/6] Compiling DataCache String+MD5.swift
/host/spi-builder-workspace/Sources/String+MD5.swift:35:45: error: missing argument for parameter 'capacity' in call
33 | let MD5Data = MD5Calculator.calculate()
34 |
35 | let MD5String = NSMutableString()
| `- error: missing argument for parameter 'capacity' in call
36 | for c in MD5Data {
37 | MD5String.appendFormat("%02x", c)
Foundation.NSMutableString:4:21: note: 'init(capacity:)' declared here
2 | open func replaceCharacters(in range: NSRange, with aString: String)
3 | override required public init(characters: UnsafePointer<unichar>, length: Int)
4 | required public init(capacity: Int)
| `- note: 'init(capacity:)' declared here
5 | required public convenience init?(coder aDecoder: NSCoder)
6 | required public convenience init(unicodeScalarLiteral value: StaticString)
BUILD FAILURE 6.0 linux