Build Information
Failed to build WatchDuck, reference 0.1.3 (d530c6), with Swift 6.2 for Android on 21 Jun 2025 04:37:53 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.2-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1Build Log
========================================
RunAll
========================================
Builder version: 4.64.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/BertanT/WatchDuck.git
Reference: 0.1.3
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/BertanT/WatchDuck
* tag 0.1.3 -> FETCH_HEAD
HEAD is now at d530c63 Update changelog for release 0.1.3
Cloned https://github.com/BertanT/WatchDuck.git
Revision (git rev-parse @):
d530c6365f79301d8c2711a0c48cc6d8a9602cc0
SUCCESS checkout https://github.com/BertanT/WatchDuck.git at 0.1.3
========================================
Build
========================================
Selected platform: android
Swift version: 6.2
Building package at path: $PWD
https://github.com/BertanT/WatchDuck.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/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
Fetching https://github.com/apple/swift-argument-parser.git
[1/15380] Fetching swift-argument-parser
Fetched https://github.com/apple/swift-argument-parser.git from cache (0.81s)
Fetching https://github.com/jpsim/Yams.git
[1/10874] Fetching yams
Fetched https://github.com/jpsim/Yams.git from cache (1.12s)
Fetching https://github.com/JohnSundell/Plot.git
[1/2096] Fetching plot
Fetched https://github.com/JohnSundell/Plot.git from cache (0.30s)
Fetching https://github.com/JohnSundell/ShellOut.git
[1/980] Fetching shellout
Fetched https://github.com/JohnSundell/ShellOut.git from cache (0.22s)
Creating working copy for https://github.com/jpsim/Yams.git
Working copy of https://github.com/jpsim/Yams.git resolved at 5.1.3 (3036ba9)
Creating working copy for https://github.com/JohnSundell/Plot.git
Working copy of https://github.com/JohnSundell/Plot.git resolved at 0.14.0 (271926b)
Creating working copy for https://github.com/JohnSundell/ShellOut.git
Working copy of https://github.com/JohnSundell/ShellOut.git resolved at 2.3.0 (e1577ac)
Creating working copy for https://github.com/apple/swift-argument-parser.git
Working copy of https://github.com/apple/swift-argument-parser.git resolved at 1.5.0 (41982a3)
[1/1] Compiling plugin GenerateManual
Building for debugging...
[1/23] Write sources
[3/23] Copying Resources
[4/23] Write sources
[8/23] Compiling writer.c
[9/23] Compiling reader.c
[10/23] Compiling parser.c
[11/23] Compiling api.c
[12/23] Compiling emitter.c
[12/23] Write swift-version-8C5A4AE7A8CE2BA.txt
[14/27] Compiling scanner.c
[16/102] Compiling Yams Node.Scalar.swift
[17/102] Compiling Yams Node.Sequence.swift
[18/102] Compiling Yams Mark.swift
[19/102] Compiling Yams Node.Mapping.swift
[20/103] Emitting module ArgumentParserToolInfo
[21/103] Compiling ArgumentParserToolInfo ToolInfo.swift
[22/104] Wrapping AST for ArgumentParserToolInfo for debugging
[24/142] Compiling ArgumentParser ArgumentVisibility.swift
[25/142] Compiling ArgumentParser CompletionKind.swift
[26/142] Compiling ArgumentParser Errors.swift
[27/142] Compiling ArgumentParser Flag.swift
[28/142] Compiling ArgumentParser NameSpecification.swift
[29/142] Compiling ArgumentParser Option.swift
[30/147] Emitting module ArgumentParser
[31/147] Compiling ArgumentParser BashCompletionsGenerator.swift
[32/147] Compiling ArgumentParser CompletionsGenerator.swift
[33/147] Compiling ArgumentParser FishCompletionsGenerator.swift
[34/147] Compiling ArgumentParser ZshCompletionsGenerator.swift
[35/147] Compiling ArgumentParser Argument.swift
[36/147] Compiling ArgumentParser ArgumentHelp.swift
[37/147] Compiling Plot PodcastMediaType.swift
[38/147] Compiling Plot PodcastType.swift
[39/147] Compiling Plot RSS.swift
[40/147] Compiling Plot RSSAttributes.swift
[41/147] Compiling Plot RSSElements.swift
[42/147] Compiling Plot Renderable.swift
[43/147] Compiling Plot SiteMap.swift
[44/147] Compiling Plot SiteMapChangeFrequency.swift
[45/147] Compiling ArgumentParser MessageInfo.swift
[46/147] Compiling ArgumentParser UsageGenerator.swift
[47/147] Compiling ArgumentParser CollectionExtensions.swift
[48/147] Compiling ArgumentParser Platform.swift
[49/147] Compiling ArgumentParser ExpressibleByArgument.swift
[50/147] Compiling ArgumentParser SequenceExtensions.swift
[51/147] Compiling ArgumentParser ParsableArguments.swift
[52/147] Compiling ArgumentParser StringExtensions.swift
[53/147] Compiling ArgumentParser Tree.swift
[54/147] Compiling Plot PodcastFeed.swift
[55/155] Compiling Plot SiteMapElements.swift
[56/155] Compiling Plot TwitterCardType.swift
[57/155] Compiling Plot URLRepresentable.swift
[58/155] Compiling Plot XML.swift
[59/155] Compiling Plot XMLAttributes.swift
[60/155] Compiling Plot XMLElements.swift
[61/155] Compiling Plot AnyAttribute.swift
[62/155] Compiling Plot AnyElement.swift
[68/155] Compiling ArgumentParser ParsableArgumentsValidation.swift
[69/155] Compiling ArgumentParser ParsableCommand.swift
[70/155] Compiling ArgumentParser ArgumentDecoder.swift
[71/155] Compiling ArgumentParser OptionGroup.swift
[72/155] Compiling ArgumentParser Name.swift
[73/155] Compiling ArgumentParser Parsed.swift
[74/155] Compiling ArgumentParser ParsedValues.swift
[75/155] Compiling ArgumentParser ParserError.swift
[76/155] Compiling ArgumentParser SplitArguments.swift
[77/155] Compiling ArgumentParser DumpHelpGenerator.swift
[78/155] Compiling ArgumentParser HelpCommand.swift
[79/155] Compiling ArgumentParser HelpGenerator.swift
[80/155] Compiling ArgumentParser AsyncParsableCommand.swift
[81/155] Compiling ArgumentParser CommandConfiguration.swift
[82/155] Compiling ArgumentParser CommandGroup.swift
[83/155] Compiling ArgumentParser EnumerableFlag.swift
[84/155] Compiling ArgumentParser ArgumentDefinition.swift
[85/155] Compiling ArgumentParser ArgumentSet.swift
[86/155] Compiling ArgumentParser CommandParser.swift
[87/155] Compiling ArgumentParser InputKey.swift
[88/155] Compiling ArgumentParser InputOrigin.swift
[89/155] Compiling ShellOut ShellOut.swift
[90/155] Emitting module ShellOut
[91/156] Emitting module Plot
[102/156] Emitting module Yams
[116/156] Compiling Yams YamlError.swift
[117/157] Wrapping AST for ShellOut for debugging
[118/157] Wrapping AST for Yams for debugging
[120/157] Compiling Plot AnyEnvironmentValue.swift
[121/157] Compiling Plot AnyNode.swift
[122/157] Compiling Plot ElementRenderingBuffer.swift
[123/157] Compiling Plot ElementWrapper.swift
[124/157] Compiling Plot Environment.swift
[125/157] Compiling Plot ModifiedComponent.swift
[126/157] Compiling Plot Renderer.swift
[127/157] Compiling Plot String+Escaping.swift
[153/159] Wrapping AST for Plot for debugging
[155/159] Wrapping AST for ArgumentParser for debugging
error: emit-module command failed with exit code 1 (use -v to see invocation)
[157/193] Emitting module watchduck
/host/spi-builder-workspace/Sources/Commands/Run.swift:29:46: error: type 'PackageResources' has no member 'defaultConfigURL'
27 | help: "The configuration JSON file path.",
28 | transform: URL.init(fileURLWithPath:))
29 | private var configURL = PackageResources.defaultConfigURL
| `- error: type 'PackageResources' has no member 'defaultConfigURL'
30 |
31 | @Flag(
/host/spi-builder-workspace/Sources/Commands/Run.swift:22:8: error: type 'Run' does not conform to protocol 'Decodable'
20 | import Foundation
21 |
22 | struct Run: AsyncParsableCommand {
| `- error: type 'Run' does not conform to protocol 'Decodable'
23 | static let configuration = CommandConfiguration(abstract: "Runs checks to update logs and the static webpage.")
24 |
:
27 | help: "The configuration JSON file path.",
28 | transform: URL.init(fileURLWithPath:))
29 | private var configURL = PackageResources.defaultConfigURL
| `- note: cannot automatically synthesize 'Decodable' because '<<error type>>' does not conform to 'Decodable'
30 |
31 | @Flag(
Swift.Decodable.init:2:1: note: protocol requires initializer 'init(from:)' with type 'Decodable'
1 | protocol Decodable {
2 | init(from decoder: any Decoder) throws}
| `- note: protocol requires initializer 'init(from:)' with type 'Decodable'
3 |
/host/spi-builder-workspace/Sources/Data/PackageResources.swift:111:68: error: cannot find 'defaultConfigURL' in scope
109 |
110 | \("!!! Please check the following before proceeding !!!".color(.red, bold: true))
111 | > WatchDuck will always use the configuration at \(defaultConfigURL.path) in system service mode.
| `- error: cannot find 'defaultConfigURL' in scope
112 | A sample configuration will be created there if it does not exist. To learn more about how to edit the configuration, see \(docsURL).
113 |
[158/197] Compiling watchduck HTTPResponseCodeCheck.swift
/host/spi-builder-workspace/Sources/Commands/Run.swift:29:46: error: type 'PackageResources' has no member 'defaultConfigURL'
27 | help: "The configuration JSON file path.",
28 | transform: URL.init(fileURLWithPath:))
29 | private var configURL = PackageResources.defaultConfigURL
| `- error: type 'PackageResources' has no member 'defaultConfigURL'
30 |
31 | @Flag(
/host/spi-builder-workspace/Sources/Commands/Run.swift:22:8: error: type 'Run' does not conform to protocol 'Decodable'
20 | import Foundation
21 |
22 | struct Run: AsyncParsableCommand {
| `- error: type 'Run' does not conform to protocol 'Decodable'
23 | static let configuration = CommandConfiguration(abstract: "Runs checks to update logs and the static webpage.")
24 |
:
27 | help: "The configuration JSON file path.",
28 | transform: URL.init(fileURLWithPath:))
29 | private var configURL = PackageResources.defaultConfigURL
| `- note: cannot automatically synthesize 'Decodable' because '<<error type>>' does not conform to 'Decodable'
30 |
31 | @Flag(
Swift.Decodable.init:2:1: note: protocol requires initializer 'init(from:)' with type 'Decodable'
1 | protocol Decodable {
2 | init(from decoder: any Decoder) throws}
| `- note: protocol requires initializer 'init(from:)' with type 'Decodable'
3 |
/host/spi-builder-workspace/Sources/Commands/Run.swift:44:24: error: cannot find 'SIG_IGN' in scope
42 |
43 | // TODO: Make signal handling more elegant while keeping it secure if possible.
44 | signal(SIGINT, SIG_IGN)
| `- error: cannot find 'SIG_IGN' in scope
45 |
46 | let sigintSource = DispatchSource.makeSignalSource(signal: SIGINT, queue: DispatchQueue.main)
/host/spi-builder-workspace/Sources/Data/PackageResources.swift:111:68: error: cannot find 'defaultConfigURL' in scope
109 |
110 | \("!!! Please check the following before proceeding !!!".color(.red, bold: true))
111 | > WatchDuck will always use the configuration at \(defaultConfigURL.path) in system service mode.
| `- error: cannot find 'defaultConfigURL' in scope
112 | A sample configuration will be created there if it does not exist. To learn more about how to edit the configuration, see \(docsURL).
113 |
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:47:32: error: type 'PackageResources' has no member 'serviceInstallerExtraInstructions'
45 | print(PackageResources.asciiDuck)
46 | print(PackageResources.wdServiceInstallerBanner)
47 | print(PackageResources.serviceInstallerExtraInstructions)
| `- error: type 'PackageResources' has no member 'serviceInstallerExtraInstructions'
48 |
49 | if !acceptDefault {
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:76:54: error: type 'PackageResources' has no member 'serviceFileDest'
74 | ])
75 | #endif
76 | _ = try? shellOut(to: "rm \(PackageResources.serviceFileDest.path)")
| `- error: type 'PackageResources' has no member 'serviceFileDest'
77 |
78 | print("> Copying system service configuration file...".color(.magenta))
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:79:70: error: type 'PackageResources' has no member 'serviceFileDest'
77 |
78 | print("> Copying system service configuration file...".color(.magenta))
79 | try FileManager.default.createDirectory(at: PackageResources.serviceFileDest.deletingLastPathComponent(), withIntermediateDirectories: true)
| `- error: type 'PackageResources' has no member 'serviceFileDest'
80 | try Data(contentsOf: PackageResources.serviceFileSource).write(to: PackageResources.serviceFileDest, options: [.atomic])
81 |
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:80:47: error: type 'PackageResources' has no member 'serviceFileSource'
78 | print("> Copying system service configuration file...".color(.magenta))
79 | try FileManager.default.createDirectory(at: PackageResources.serviceFileDest.deletingLastPathComponent(), withIntermediateDirectories: true)
80 | try Data(contentsOf: PackageResources.serviceFileSource).write(to: PackageResources.serviceFileDest, options: [.atomic])
| `- error: type 'PackageResources' has no member 'serviceFileSource'
81 |
82 | print("> Starting \(PackageResources.serviceName) and enabling it on boot.".color(.magenta))
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:80:93: error: type 'PackageResources' has no member 'serviceFileDest'
78 | print("> Copying system service configuration file...".color(.magenta))
79 | try FileManager.default.createDirectory(at: PackageResources.serviceFileDest.deletingLastPathComponent(), withIntermediateDirectories: true)
80 | try Data(contentsOf: PackageResources.serviceFileSource).write(to: PackageResources.serviceFileDest, options: [.atomic])
| `- error: type 'PackageResources' has no member 'serviceFileDest'
81 |
82 | print("> Starting \(PackageResources.serviceName) and enabling it on boot.".color(.magenta))
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:82:46: error: type 'PackageResources' has no member 'serviceName'
80 | try Data(contentsOf: PackageResources.serviceFileSource).write(to: PackageResources.serviceFileDest, options: [.atomic])
81 |
82 | print("> Starting \(PackageResources.serviceName) and enabling it on boot.".color(.magenta))
| `- error: type 'PackageResources' has no member 'serviceName'
83 | #if os(macOS)
84 | try shellOut(to: [
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:96:69: error: type 'PackageResources' has no member 'defaultConfigURL'
94 | #endif
95 |
96 | if !FileManager.default.fileExists(atPath: PackageResources.defaultConfigURL.path) {
| `- error: type 'PackageResources' has no member 'defaultConfigURL'
97 | print("> Creating sample configuration file at \(PackageResources.defaultConfigURL.path)...".color(.magenta))
98 | try FileManager.default.createDirectory(at: PackageResources.defaultConfigURL.deletingLastPathComponent(), withIntermediateDirectories: true)
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:97:79: error: type 'PackageResources' has no member 'defaultConfigURL'
95 |
96 | if !FileManager.default.fileExists(atPath: PackageResources.defaultConfigURL.path) {
97 | print("> Creating sample configuration file at \(PackageResources.defaultConfigURL.path)...".color(.magenta))
| `- error: type 'PackageResources' has no member 'defaultConfigURL'
98 | try FileManager.default.createDirectory(at: PackageResources.defaultConfigURL.deletingLastPathComponent(), withIntermediateDirectories: true)
99 | try FileManager.default.copyItem(at: PackageResources.sampleConfigSource, to: PackageResources.defaultConfigURL)
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:98:74: error: type 'PackageResources' has no member 'defaultConfigURL'
96 | if !FileManager.default.fileExists(atPath: PackageResources.defaultConfigURL.path) {
97 | print("> Creating sample configuration file at \(PackageResources.defaultConfigURL.path)...".color(.magenta))
98 | try FileManager.default.createDirectory(at: PackageResources.defaultConfigURL.deletingLastPathComponent(), withIntermediateDirectories: true)
| `- error: type 'PackageResources' has no member 'defaultConfigURL'
99 | try FileManager.default.copyItem(at: PackageResources.sampleConfigSource, to: PackageResources.defaultConfigURL)
100 | }
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:99:108: error: type 'PackageResources' has no member 'defaultConfigURL'
97 | print("> Creating sample configuration file at \(PackageResources.defaultConfigURL.path)...".color(.magenta))
98 | try FileManager.default.createDirectory(at: PackageResources.defaultConfigURL.deletingLastPathComponent(), withIntermediateDirectories: true)
99 | try FileManager.default.copyItem(at: PackageResources.sampleConfigSource, to: PackageResources.defaultConfigURL)
| `- error: type 'PackageResources' has no member 'defaultConfigURL'
100 | }
101 |
[159/197] Compiling watchduck Run.swift
/host/spi-builder-workspace/Sources/Commands/Run.swift:29:46: error: type 'PackageResources' has no member 'defaultConfigURL'
27 | help: "The configuration JSON file path.",
28 | transform: URL.init(fileURLWithPath:))
29 | private var configURL = PackageResources.defaultConfigURL
| `- error: type 'PackageResources' has no member 'defaultConfigURL'
30 |
31 | @Flag(
/host/spi-builder-workspace/Sources/Commands/Run.swift:22:8: error: type 'Run' does not conform to protocol 'Decodable'
20 | import Foundation
21 |
22 | struct Run: AsyncParsableCommand {
| `- error: type 'Run' does not conform to protocol 'Decodable'
23 | static let configuration = CommandConfiguration(abstract: "Runs checks to update logs and the static webpage.")
24 |
:
27 | help: "The configuration JSON file path.",
28 | transform: URL.init(fileURLWithPath:))
29 | private var configURL = PackageResources.defaultConfigURL
| `- note: cannot automatically synthesize 'Decodable' because '<<error type>>' does not conform to 'Decodable'
30 |
31 | @Flag(
Swift.Decodable.init:2:1: note: protocol requires initializer 'init(from:)' with type 'Decodable'
1 | protocol Decodable {
2 | init(from decoder: any Decoder) throws}
| `- note: protocol requires initializer 'init(from:)' with type 'Decodable'
3 |
/host/spi-builder-workspace/Sources/Commands/Run.swift:44:24: error: cannot find 'SIG_IGN' in scope
42 |
43 | // TODO: Make signal handling more elegant while keeping it secure if possible.
44 | signal(SIGINT, SIG_IGN)
| `- error: cannot find 'SIG_IGN' in scope
45 |
46 | let sigintSource = DispatchSource.makeSignalSource(signal: SIGINT, queue: DispatchQueue.main)
/host/spi-builder-workspace/Sources/Data/PackageResources.swift:111:68: error: cannot find 'defaultConfigURL' in scope
109 |
110 | \("!!! Please check the following before proceeding !!!".color(.red, bold: true))
111 | > WatchDuck will always use the configuration at \(defaultConfigURL.path) in system service mode.
| `- error: cannot find 'defaultConfigURL' in scope
112 | A sample configuration will be created there if it does not exist. To learn more about how to edit the configuration, see \(docsURL).
113 |
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:47:32: error: type 'PackageResources' has no member 'serviceInstallerExtraInstructions'
45 | print(PackageResources.asciiDuck)
46 | print(PackageResources.wdServiceInstallerBanner)
47 | print(PackageResources.serviceInstallerExtraInstructions)
| `- error: type 'PackageResources' has no member 'serviceInstallerExtraInstructions'
48 |
49 | if !acceptDefault {
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:76:54: error: type 'PackageResources' has no member 'serviceFileDest'
74 | ])
75 | #endif
76 | _ = try? shellOut(to: "rm \(PackageResources.serviceFileDest.path)")
| `- error: type 'PackageResources' has no member 'serviceFileDest'
77 |
78 | print("> Copying system service configuration file...".color(.magenta))
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:79:70: error: type 'PackageResources' has no member 'serviceFileDest'
77 |
78 | print("> Copying system service configuration file...".color(.magenta))
79 | try FileManager.default.createDirectory(at: PackageResources.serviceFileDest.deletingLastPathComponent(), withIntermediateDirectories: true)
| `- error: type 'PackageResources' has no member 'serviceFileDest'
80 | try Data(contentsOf: PackageResources.serviceFileSource).write(to: PackageResources.serviceFileDest, options: [.atomic])
81 |
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:80:47: error: type 'PackageResources' has no member 'serviceFileSource'
78 | print("> Copying system service configuration file...".color(.magenta))
79 | try FileManager.default.createDirectory(at: PackageResources.serviceFileDest.deletingLastPathComponent(), withIntermediateDirectories: true)
80 | try Data(contentsOf: PackageResources.serviceFileSource).write(to: PackageResources.serviceFileDest, options: [.atomic])
| `- error: type 'PackageResources' has no member 'serviceFileSource'
81 |
82 | print("> Starting \(PackageResources.serviceName) and enabling it on boot.".color(.magenta))
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:80:93: error: type 'PackageResources' has no member 'serviceFileDest'
78 | print("> Copying system service configuration file...".color(.magenta))
79 | try FileManager.default.createDirectory(at: PackageResources.serviceFileDest.deletingLastPathComponent(), withIntermediateDirectories: true)
80 | try Data(contentsOf: PackageResources.serviceFileSource).write(to: PackageResources.serviceFileDest, options: [.atomic])
| `- error: type 'PackageResources' has no member 'serviceFileDest'
81 |
82 | print("> Starting \(PackageResources.serviceName) and enabling it on boot.".color(.magenta))
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:82:46: error: type 'PackageResources' has no member 'serviceName'
80 | try Data(contentsOf: PackageResources.serviceFileSource).write(to: PackageResources.serviceFileDest, options: [.atomic])
81 |
82 | print("> Starting \(PackageResources.serviceName) and enabling it on boot.".color(.magenta))
| `- error: type 'PackageResources' has no member 'serviceName'
83 | #if os(macOS)
84 | try shellOut(to: [
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:96:69: error: type 'PackageResources' has no member 'defaultConfigURL'
94 | #endif
95 |
96 | if !FileManager.default.fileExists(atPath: PackageResources.defaultConfigURL.path) {
| `- error: type 'PackageResources' has no member 'defaultConfigURL'
97 | print("> Creating sample configuration file at \(PackageResources.defaultConfigURL.path)...".color(.magenta))
98 | try FileManager.default.createDirectory(at: PackageResources.defaultConfigURL.deletingLastPathComponent(), withIntermediateDirectories: true)
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:97:79: error: type 'PackageResources' has no member 'defaultConfigURL'
95 |
96 | if !FileManager.default.fileExists(atPath: PackageResources.defaultConfigURL.path) {
97 | print("> Creating sample configuration file at \(PackageResources.defaultConfigURL.path)...".color(.magenta))
| `- error: type 'PackageResources' has no member 'defaultConfigURL'
98 | try FileManager.default.createDirectory(at: PackageResources.defaultConfigURL.deletingLastPathComponent(), withIntermediateDirectories: true)
99 | try FileManager.default.copyItem(at: PackageResources.sampleConfigSource, to: PackageResources.defaultConfigURL)
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:98:74: error: type 'PackageResources' has no member 'defaultConfigURL'
96 | if !FileManager.default.fileExists(atPath: PackageResources.defaultConfigURL.path) {
97 | print("> Creating sample configuration file at \(PackageResources.defaultConfigURL.path)...".color(.magenta))
98 | try FileManager.default.createDirectory(at: PackageResources.defaultConfigURL.deletingLastPathComponent(), withIntermediateDirectories: true)
| `- error: type 'PackageResources' has no member 'defaultConfigURL'
99 | try FileManager.default.copyItem(at: PackageResources.sampleConfigSource, to: PackageResources.defaultConfigURL)
100 | }
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:99:108: error: type 'PackageResources' has no member 'defaultConfigURL'
97 | print("> Creating sample configuration file at \(PackageResources.defaultConfigURL.path)...".color(.magenta))
98 | try FileManager.default.createDirectory(at: PackageResources.defaultConfigURL.deletingLastPathComponent(), withIntermediateDirectories: true)
99 | try FileManager.default.copyItem(at: PackageResources.sampleConfigSource, to: PackageResources.defaultConfigURL)
| `- error: type 'PackageResources' has no member 'defaultConfigURL'
100 | }
101 |
[160/197] Compiling watchduck ServiceInstall.swift
/host/spi-builder-workspace/Sources/Commands/Run.swift:29:46: error: type 'PackageResources' has no member 'defaultConfigURL'
27 | help: "The configuration JSON file path.",
28 | transform: URL.init(fileURLWithPath:))
29 | private var configURL = PackageResources.defaultConfigURL
| `- error: type 'PackageResources' has no member 'defaultConfigURL'
30 |
31 | @Flag(
/host/spi-builder-workspace/Sources/Commands/Run.swift:22:8: error: type 'Run' does not conform to protocol 'Decodable'
20 | import Foundation
21 |
22 | struct Run: AsyncParsableCommand {
| `- error: type 'Run' does not conform to protocol 'Decodable'
23 | static let configuration = CommandConfiguration(abstract: "Runs checks to update logs and the static webpage.")
24 |
:
27 | help: "The configuration JSON file path.",
28 | transform: URL.init(fileURLWithPath:))
29 | private var configURL = PackageResources.defaultConfigURL
| `- note: cannot automatically synthesize 'Decodable' because '<<error type>>' does not conform to 'Decodable'
30 |
31 | @Flag(
Swift.Decodable.init:2:1: note: protocol requires initializer 'init(from:)' with type 'Decodable'
1 | protocol Decodable {
2 | init(from decoder: any Decoder) throws}
| `- note: protocol requires initializer 'init(from:)' with type 'Decodable'
3 |
/host/spi-builder-workspace/Sources/Commands/Run.swift:44:24: error: cannot find 'SIG_IGN' in scope
42 |
43 | // TODO: Make signal handling more elegant while keeping it secure if possible.
44 | signal(SIGINT, SIG_IGN)
| `- error: cannot find 'SIG_IGN' in scope
45 |
46 | let sigintSource = DispatchSource.makeSignalSource(signal: SIGINT, queue: DispatchQueue.main)
/host/spi-builder-workspace/Sources/Data/PackageResources.swift:111:68: error: cannot find 'defaultConfigURL' in scope
109 |
110 | \("!!! Please check the following before proceeding !!!".color(.red, bold: true))
111 | > WatchDuck will always use the configuration at \(defaultConfigURL.path) in system service mode.
| `- error: cannot find 'defaultConfigURL' in scope
112 | A sample configuration will be created there if it does not exist. To learn more about how to edit the configuration, see \(docsURL).
113 |
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:47:32: error: type 'PackageResources' has no member 'serviceInstallerExtraInstructions'
45 | print(PackageResources.asciiDuck)
46 | print(PackageResources.wdServiceInstallerBanner)
47 | print(PackageResources.serviceInstallerExtraInstructions)
| `- error: type 'PackageResources' has no member 'serviceInstallerExtraInstructions'
48 |
49 | if !acceptDefault {
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:76:54: error: type 'PackageResources' has no member 'serviceFileDest'
74 | ])
75 | #endif
76 | _ = try? shellOut(to: "rm \(PackageResources.serviceFileDest.path)")
| `- error: type 'PackageResources' has no member 'serviceFileDest'
77 |
78 | print("> Copying system service configuration file...".color(.magenta))
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:79:70: error: type 'PackageResources' has no member 'serviceFileDest'
77 |
78 | print("> Copying system service configuration file...".color(.magenta))
79 | try FileManager.default.createDirectory(at: PackageResources.serviceFileDest.deletingLastPathComponent(), withIntermediateDirectories: true)
| `- error: type 'PackageResources' has no member 'serviceFileDest'
80 | try Data(contentsOf: PackageResources.serviceFileSource).write(to: PackageResources.serviceFileDest, options: [.atomic])
81 |
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:80:47: error: type 'PackageResources' has no member 'serviceFileSource'
78 | print("> Copying system service configuration file...".color(.magenta))
79 | try FileManager.default.createDirectory(at: PackageResources.serviceFileDest.deletingLastPathComponent(), withIntermediateDirectories: true)
80 | try Data(contentsOf: PackageResources.serviceFileSource).write(to: PackageResources.serviceFileDest, options: [.atomic])
| `- error: type 'PackageResources' has no member 'serviceFileSource'
81 |
82 | print("> Starting \(PackageResources.serviceName) and enabling it on boot.".color(.magenta))
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:80:93: error: type 'PackageResources' has no member 'serviceFileDest'
78 | print("> Copying system service configuration file...".color(.magenta))
79 | try FileManager.default.createDirectory(at: PackageResources.serviceFileDest.deletingLastPathComponent(), withIntermediateDirectories: true)
80 | try Data(contentsOf: PackageResources.serviceFileSource).write(to: PackageResources.serviceFileDest, options: [.atomic])
| `- error: type 'PackageResources' has no member 'serviceFileDest'
81 |
82 | print("> Starting \(PackageResources.serviceName) and enabling it on boot.".color(.magenta))
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:82:46: error: type 'PackageResources' has no member 'serviceName'
80 | try Data(contentsOf: PackageResources.serviceFileSource).write(to: PackageResources.serviceFileDest, options: [.atomic])
81 |
82 | print("> Starting \(PackageResources.serviceName) and enabling it on boot.".color(.magenta))
| `- error: type 'PackageResources' has no member 'serviceName'
83 | #if os(macOS)
84 | try shellOut(to: [
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:96:69: error: type 'PackageResources' has no member 'defaultConfigURL'
94 | #endif
95 |
96 | if !FileManager.default.fileExists(atPath: PackageResources.defaultConfigURL.path) {
| `- error: type 'PackageResources' has no member 'defaultConfigURL'
97 | print("> Creating sample configuration file at \(PackageResources.defaultConfigURL.path)...".color(.magenta))
98 | try FileManager.default.createDirectory(at: PackageResources.defaultConfigURL.deletingLastPathComponent(), withIntermediateDirectories: true)
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:97:79: error: type 'PackageResources' has no member 'defaultConfigURL'
95 |
96 | if !FileManager.default.fileExists(atPath: PackageResources.defaultConfigURL.path) {
97 | print("> Creating sample configuration file at \(PackageResources.defaultConfigURL.path)...".color(.magenta))
| `- error: type 'PackageResources' has no member 'defaultConfigURL'
98 | try FileManager.default.createDirectory(at: PackageResources.defaultConfigURL.deletingLastPathComponent(), withIntermediateDirectories: true)
99 | try FileManager.default.copyItem(at: PackageResources.sampleConfigSource, to: PackageResources.defaultConfigURL)
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:98:74: error: type 'PackageResources' has no member 'defaultConfigURL'
96 | if !FileManager.default.fileExists(atPath: PackageResources.defaultConfigURL.path) {
97 | print("> Creating sample configuration file at \(PackageResources.defaultConfigURL.path)...".color(.magenta))
98 | try FileManager.default.createDirectory(at: PackageResources.defaultConfigURL.deletingLastPathComponent(), withIntermediateDirectories: true)
| `- error: type 'PackageResources' has no member 'defaultConfigURL'
99 | try FileManager.default.copyItem(at: PackageResources.sampleConfigSource, to: PackageResources.defaultConfigURL)
100 | }
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:99:108: error: type 'PackageResources' has no member 'defaultConfigURL'
97 | print("> Creating sample configuration file at \(PackageResources.defaultConfigURL.path)...".color(.magenta))
98 | try FileManager.default.createDirectory(at: PackageResources.defaultConfigURL.deletingLastPathComponent(), withIntermediateDirectories: true)
99 | try FileManager.default.copyItem(at: PackageResources.sampleConfigSource, to: PackageResources.defaultConfigURL)
| `- error: type 'PackageResources' has no member 'defaultConfigURL'
100 | }
101 |
[161/197] Compiling watchduck WatchDuck.swift
/host/spi-builder-workspace/Sources/Commands/Run.swift:29:46: error: type 'PackageResources' has no member 'defaultConfigURL'
27 | help: "The configuration JSON file path.",
28 | transform: URL.init(fileURLWithPath:))
29 | private var configURL = PackageResources.defaultConfigURL
| `- error: type 'PackageResources' has no member 'defaultConfigURL'
30 |
31 | @Flag(
/host/spi-builder-workspace/Sources/Commands/Run.swift:22:8: error: type 'Run' does not conform to protocol 'Decodable'
20 | import Foundation
21 |
22 | struct Run: AsyncParsableCommand {
| `- error: type 'Run' does not conform to protocol 'Decodable'
23 | static let configuration = CommandConfiguration(abstract: "Runs checks to update logs and the static webpage.")
24 |
:
27 | help: "The configuration JSON file path.",
28 | transform: URL.init(fileURLWithPath:))
29 | private var configURL = PackageResources.defaultConfigURL
| `- note: cannot automatically synthesize 'Decodable' because '<<error type>>' does not conform to 'Decodable'
30 |
31 | @Flag(
Swift.Decodable.init:2:1: note: protocol requires initializer 'init(from:)' with type 'Decodable'
1 | protocol Decodable {
2 | init(from decoder: any Decoder) throws}
| `- note: protocol requires initializer 'init(from:)' with type 'Decodable'
3 |
/host/spi-builder-workspace/Sources/Commands/Run.swift:44:24: error: cannot find 'SIG_IGN' in scope
42 |
43 | // TODO: Make signal handling more elegant while keeping it secure if possible.
44 | signal(SIGINT, SIG_IGN)
| `- error: cannot find 'SIG_IGN' in scope
45 |
46 | let sigintSource = DispatchSource.makeSignalSource(signal: SIGINT, queue: DispatchQueue.main)
/host/spi-builder-workspace/Sources/Data/PackageResources.swift:111:68: error: cannot find 'defaultConfigURL' in scope
109 |
110 | \("!!! Please check the following before proceeding !!!".color(.red, bold: true))
111 | > WatchDuck will always use the configuration at \(defaultConfigURL.path) in system service mode.
| `- error: cannot find 'defaultConfigURL' in scope
112 | A sample configuration will be created there if it does not exist. To learn more about how to edit the configuration, see \(docsURL).
113 |
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:47:32: error: type 'PackageResources' has no member 'serviceInstallerExtraInstructions'
45 | print(PackageResources.asciiDuck)
46 | print(PackageResources.wdServiceInstallerBanner)
47 | print(PackageResources.serviceInstallerExtraInstructions)
| `- error: type 'PackageResources' has no member 'serviceInstallerExtraInstructions'
48 |
49 | if !acceptDefault {
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:76:54: error: type 'PackageResources' has no member 'serviceFileDest'
74 | ])
75 | #endif
76 | _ = try? shellOut(to: "rm \(PackageResources.serviceFileDest.path)")
| `- error: type 'PackageResources' has no member 'serviceFileDest'
77 |
78 | print("> Copying system service configuration file...".color(.magenta))
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:79:70: error: type 'PackageResources' has no member 'serviceFileDest'
77 |
78 | print("> Copying system service configuration file...".color(.magenta))
79 | try FileManager.default.createDirectory(at: PackageResources.serviceFileDest.deletingLastPathComponent(), withIntermediateDirectories: true)
| `- error: type 'PackageResources' has no member 'serviceFileDest'
80 | try Data(contentsOf: PackageResources.serviceFileSource).write(to: PackageResources.serviceFileDest, options: [.atomic])
81 |
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:80:47: error: type 'PackageResources' has no member 'serviceFileSource'
78 | print("> Copying system service configuration file...".color(.magenta))
79 | try FileManager.default.createDirectory(at: PackageResources.serviceFileDest.deletingLastPathComponent(), withIntermediateDirectories: true)
80 | try Data(contentsOf: PackageResources.serviceFileSource).write(to: PackageResources.serviceFileDest, options: [.atomic])
| `- error: type 'PackageResources' has no member 'serviceFileSource'
81 |
82 | print("> Starting \(PackageResources.serviceName) and enabling it on boot.".color(.magenta))
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:80:93: error: type 'PackageResources' has no member 'serviceFileDest'
78 | print("> Copying system service configuration file...".color(.magenta))
79 | try FileManager.default.createDirectory(at: PackageResources.serviceFileDest.deletingLastPathComponent(), withIntermediateDirectories: true)
80 | try Data(contentsOf: PackageResources.serviceFileSource).write(to: PackageResources.serviceFileDest, options: [.atomic])
| `- error: type 'PackageResources' has no member 'serviceFileDest'
81 |
82 | print("> Starting \(PackageResources.serviceName) and enabling it on boot.".color(.magenta))
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:82:46: error: type 'PackageResources' has no member 'serviceName'
80 | try Data(contentsOf: PackageResources.serviceFileSource).write(to: PackageResources.serviceFileDest, options: [.atomic])
81 |
82 | print("> Starting \(PackageResources.serviceName) and enabling it on boot.".color(.magenta))
| `- error: type 'PackageResources' has no member 'serviceName'
83 | #if os(macOS)
84 | try shellOut(to: [
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:96:69: error: type 'PackageResources' has no member 'defaultConfigURL'
94 | #endif
95 |
96 | if !FileManager.default.fileExists(atPath: PackageResources.defaultConfigURL.path) {
| `- error: type 'PackageResources' has no member 'defaultConfigURL'
97 | print("> Creating sample configuration file at \(PackageResources.defaultConfigURL.path)...".color(.magenta))
98 | try FileManager.default.createDirectory(at: PackageResources.defaultConfigURL.deletingLastPathComponent(), withIntermediateDirectories: true)
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:97:79: error: type 'PackageResources' has no member 'defaultConfigURL'
95 |
96 | if !FileManager.default.fileExists(atPath: PackageResources.defaultConfigURL.path) {
97 | print("> Creating sample configuration file at \(PackageResources.defaultConfigURL.path)...".color(.magenta))
| `- error: type 'PackageResources' has no member 'defaultConfigURL'
98 | try FileManager.default.createDirectory(at: PackageResources.defaultConfigURL.deletingLastPathComponent(), withIntermediateDirectories: true)
99 | try FileManager.default.copyItem(at: PackageResources.sampleConfigSource, to: PackageResources.defaultConfigURL)
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:98:74: error: type 'PackageResources' has no member 'defaultConfigURL'
96 | if !FileManager.default.fileExists(atPath: PackageResources.defaultConfigURL.path) {
97 | print("> Creating sample configuration file at \(PackageResources.defaultConfigURL.path)...".color(.magenta))
98 | try FileManager.default.createDirectory(at: PackageResources.defaultConfigURL.deletingLastPathComponent(), withIntermediateDirectories: true)
| `- error: type 'PackageResources' has no member 'defaultConfigURL'
99 | try FileManager.default.copyItem(at: PackageResources.sampleConfigSource, to: PackageResources.defaultConfigURL)
100 | }
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:99:108: error: type 'PackageResources' has no member 'defaultConfigURL'
97 | print("> Creating sample configuration file at \(PackageResources.defaultConfigURL.path)...".color(.magenta))
98 | try FileManager.default.createDirectory(at: PackageResources.defaultConfigURL.deletingLastPathComponent(), withIntermediateDirectories: true)
99 | try FileManager.default.copyItem(at: PackageResources.sampleConfigSource, to: PackageResources.defaultConfigURL)
| `- error: type 'PackageResources' has no member 'defaultConfigURL'
100 | }
101 |
[162/197] Compiling watchduck AnyWDCheck.swift
/host/spi-builder-workspace/Sources/Commands/Run.swift:29:46: error: type 'PackageResources' has no member 'defaultConfigURL'
27 | help: "The configuration JSON file path.",
28 | transform: URL.init(fileURLWithPath:))
29 | private var configURL = PackageResources.defaultConfigURL
| `- error: type 'PackageResources' has no member 'defaultConfigURL'
30 |
31 | @Flag(
/host/spi-builder-workspace/Sources/Commands/Run.swift:22:8: error: type 'Run' does not conform to protocol 'Decodable'
20 | import Foundation
21 |
22 | struct Run: AsyncParsableCommand {
| `- error: type 'Run' does not conform to protocol 'Decodable'
23 | static let configuration = CommandConfiguration(abstract: "Runs checks to update logs and the static webpage.")
24 |
:
27 | help: "The configuration JSON file path.",
28 | transform: URL.init(fileURLWithPath:))
29 | private var configURL = PackageResources.defaultConfigURL
| `- note: cannot automatically synthesize 'Decodable' because '<<error type>>' does not conform to 'Decodable'
30 |
31 | @Flag(
Swift.Decodable.init:2:1: note: protocol requires initializer 'init(from:)' with type 'Decodable'
1 | protocol Decodable {
2 | init(from decoder: any Decoder) throws}
| `- note: protocol requires initializer 'init(from:)' with type 'Decodable'
3 |
/host/spi-builder-workspace/Sources/Commands/Run.swift:44:24: error: cannot find 'SIG_IGN' in scope
42 |
43 | // TODO: Make signal handling more elegant while keeping it secure if possible.
44 | signal(SIGINT, SIG_IGN)
| `- error: cannot find 'SIG_IGN' in scope
45 |
46 | let sigintSource = DispatchSource.makeSignalSource(signal: SIGINT, queue: DispatchQueue.main)
/host/spi-builder-workspace/Sources/Data/PackageResources.swift:111:68: error: cannot find 'defaultConfigURL' in scope
109 |
110 | \("!!! Please check the following before proceeding !!!".color(.red, bold: true))
111 | > WatchDuck will always use the configuration at \(defaultConfigURL.path) in system service mode.
| `- error: cannot find 'defaultConfigURL' in scope
112 | A sample configuration will be created there if it does not exist. To learn more about how to edit the configuration, see \(docsURL).
113 |
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:47:32: error: type 'PackageResources' has no member 'serviceInstallerExtraInstructions'
45 | print(PackageResources.asciiDuck)
46 | print(PackageResources.wdServiceInstallerBanner)
47 | print(PackageResources.serviceInstallerExtraInstructions)
| `- error: type 'PackageResources' has no member 'serviceInstallerExtraInstructions'
48 |
49 | if !acceptDefault {
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:76:54: error: type 'PackageResources' has no member 'serviceFileDest'
74 | ])
75 | #endif
76 | _ = try? shellOut(to: "rm \(PackageResources.serviceFileDest.path)")
| `- error: type 'PackageResources' has no member 'serviceFileDest'
77 |
78 | print("> Copying system service configuration file...".color(.magenta))
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:79:70: error: type 'PackageResources' has no member 'serviceFileDest'
77 |
78 | print("> Copying system service configuration file...".color(.magenta))
79 | try FileManager.default.createDirectory(at: PackageResources.serviceFileDest.deletingLastPathComponent(), withIntermediateDirectories: true)
| `- error: type 'PackageResources' has no member 'serviceFileDest'
80 | try Data(contentsOf: PackageResources.serviceFileSource).write(to: PackageResources.serviceFileDest, options: [.atomic])
81 |
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:80:47: error: type 'PackageResources' has no member 'serviceFileSource'
78 | print("> Copying system service configuration file...".color(.magenta))
79 | try FileManager.default.createDirectory(at: PackageResources.serviceFileDest.deletingLastPathComponent(), withIntermediateDirectories: true)
80 | try Data(contentsOf: PackageResources.serviceFileSource).write(to: PackageResources.serviceFileDest, options: [.atomic])
| `- error: type 'PackageResources' has no member 'serviceFileSource'
81 |
82 | print("> Starting \(PackageResources.serviceName) and enabling it on boot.".color(.magenta))
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:80:93: error: type 'PackageResources' has no member 'serviceFileDest'
78 | print("> Copying system service configuration file...".color(.magenta))
79 | try FileManager.default.createDirectory(at: PackageResources.serviceFileDest.deletingLastPathComponent(), withIntermediateDirectories: true)
80 | try Data(contentsOf: PackageResources.serviceFileSource).write(to: PackageResources.serviceFileDest, options: [.atomic])
| `- error: type 'PackageResources' has no member 'serviceFileDest'
81 |
82 | print("> Starting \(PackageResources.serviceName) and enabling it on boot.".color(.magenta))
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:82:46: error: type 'PackageResources' has no member 'serviceName'
80 | try Data(contentsOf: PackageResources.serviceFileSource).write(to: PackageResources.serviceFileDest, options: [.atomic])
81 |
82 | print("> Starting \(PackageResources.serviceName) and enabling it on boot.".color(.magenta))
| `- error: type 'PackageResources' has no member 'serviceName'
83 | #if os(macOS)
84 | try shellOut(to: [
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:96:69: error: type 'PackageResources' has no member 'defaultConfigURL'
94 | #endif
95 |
96 | if !FileManager.default.fileExists(atPath: PackageResources.defaultConfigURL.path) {
| `- error: type 'PackageResources' has no member 'defaultConfigURL'
97 | print("> Creating sample configuration file at \(PackageResources.defaultConfigURL.path)...".color(.magenta))
98 | try FileManager.default.createDirectory(at: PackageResources.defaultConfigURL.deletingLastPathComponent(), withIntermediateDirectories: true)
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:97:79: error: type 'PackageResources' has no member 'defaultConfigURL'
95 |
96 | if !FileManager.default.fileExists(atPath: PackageResources.defaultConfigURL.path) {
97 | print("> Creating sample configuration file at \(PackageResources.defaultConfigURL.path)...".color(.magenta))
| `- error: type 'PackageResources' has no member 'defaultConfigURL'
98 | try FileManager.default.createDirectory(at: PackageResources.defaultConfigURL.deletingLastPathComponent(), withIntermediateDirectories: true)
99 | try FileManager.default.copyItem(at: PackageResources.sampleConfigSource, to: PackageResources.defaultConfigURL)
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:98:74: error: type 'PackageResources' has no member 'defaultConfigURL'
96 | if !FileManager.default.fileExists(atPath: PackageResources.defaultConfigURL.path) {
97 | print("> Creating sample configuration file at \(PackageResources.defaultConfigURL.path)...".color(.magenta))
98 | try FileManager.default.createDirectory(at: PackageResources.defaultConfigURL.deletingLastPathComponent(), withIntermediateDirectories: true)
| `- error: type 'PackageResources' has no member 'defaultConfigURL'
99 | try FileManager.default.copyItem(at: PackageResources.sampleConfigSource, to: PackageResources.defaultConfigURL)
100 | }
/host/spi-builder-workspace/Sources/Commands/ServiceInstall.swift:99:108: error: type 'PackageResources' has no member 'defaultConfigURL'
97 | print("> Creating sample configuration file at \(PackageResources.defaultConfigURL.path)...".color(.magenta))
98 | try FileManager.default.createDirectory(at: PackageResources.defaultConfigURL.deletingLastPathComponent(), withIntermediateDirectories: true)
99 | try FileManager.default.copyItem(at: PackageResources.sampleConfigSource, to: PackageResources.defaultConfigURL)
| `- error: type 'PackageResources' has no member 'defaultConfigURL'
100 | }
101 |
[163/197] Compiling watchduck PackageResources.swift
/host/spi-builder-workspace/Sources/Data/PackageResources.swift:111:68: error: cannot find 'defaultConfigURL' in scope
109 |
110 | \("!!! Please check the following before proceeding !!!".color(.red, bold: true))
111 | > WatchDuck will always use the configuration at \(defaultConfigURL.path) in system service mode.
| `- error: cannot find 'defaultConfigURL' in scope
112 | A sample configuration will be created there if it does not exist. To learn more about how to edit the configuration, see \(docsURL).
113 |
[164/197] Compiling watchduck WDCheck.swift
/host/spi-builder-workspace/Sources/Data/PackageResources.swift:111:68: error: cannot find 'defaultConfigURL' in scope
109 |
110 | \("!!! Please check the following before proceeding !!!".color(.red, bold: true))
111 | > WatchDuck will always use the configuration at \(defaultConfigURL.path) in system service mode.
| `- error: cannot find 'defaultConfigURL' in scope
112 | A sample configuration will be created there if it does not exist. To learn more about how to edit the configuration, see \(docsURL).
113 |
[165/197] Compiling watchduck WDConfig.swift
/host/spi-builder-workspace/Sources/Data/PackageResources.swift:111:68: error: cannot find 'defaultConfigURL' in scope
109 |
110 | \("!!! Please check the following before proceeding !!!".color(.red, bold: true))
111 | > WatchDuck will always use the configuration at \(defaultConfigURL.path) in system service mode.
| `- error: cannot find 'defaultConfigURL' in scope
112 | A sample configuration will be created there if it does not exist. To learn more about how to edit the configuration, see \(docsURL).
113 |
[166/197] Compiling watchduck WDLog.swift
/host/spi-builder-workspace/Sources/Data/PackageResources.swift:111:68: error: cannot find 'defaultConfigURL' in scope
109 |
110 | \("!!! Please check the following before proceeding !!!".color(.red, bold: true))
111 | > WatchDuck will always use the configuration at \(defaultConfigURL.path) in system service mode.
| `- error: cannot find 'defaultConfigURL' in scope
112 | A sample configuration will be created there if it does not exist. To learn more about how to edit the configuration, see \(docsURL).
113 |
[167/197] Compiling watchduck WDOutage.swift
/host/spi-builder-workspace/Sources/Data/PackageResources.swift:111:68: error: cannot find 'defaultConfigURL' in scope
109 |
110 | \("!!! Please check the following before proceeding !!!".color(.red, bold: true))
111 | > WatchDuck will always use the configuration at \(defaultConfigURL.path) in system service mode.
| `- error: cannot find 'defaultConfigURL' in scope
112 | A sample configuration will be created there if it does not exist. To learn more about how to edit the configuration, see \(docsURL).
113 |
[168/197] Compiling watchduck Sequence+Uniqued.swift
[169/197] Compiling watchduck String+CFString.swift
[170/197] Compiling watchduck String+Color+Bold.swift
[171/197] Compiling watchduck String.Encoding+IANACharset.swift
[172/197] Compiling watchduck URLSession+RetryingData.swift
/host/spi-builder-workspace/Sources/Helpers/OSUtils.swift:25:64: error: type 'PackageResources' has no member 'kernelName'
23 | enum OSUtils {
24 | static func kernelCheck() throws {
25 | guard (try? shellOut(to: "uname")) == PackageResources.kernelName else {
| `- error: type 'PackageResources' has no member 'kernelName'
26 | print("Error: Kernel-binary mismatch! Please stop using WatchDuck and re-install the correct binary for your operating system!".color(.red))
27 | throw ExitCode(EXIT_FAILURE)
[173/197] Compiling watchduck HTTPMethod.swift
/host/spi-builder-workspace/Sources/Helpers/OSUtils.swift:25:64: error: type 'PackageResources' has no member 'kernelName'
23 | enum OSUtils {
24 | static func kernelCheck() throws {
25 | guard (try? shellOut(to: "uname")) == PackageResources.kernelName else {
| `- error: type 'PackageResources' has no member 'kernelName'
26 | print("Error: Kernel-binary mismatch! Please stop using WatchDuck and re-install the correct binary for your operating system!".color(.red))
27 | throw ExitCode(EXIT_FAILURE)
[174/197] Compiling watchduck OSUtils.swift
/host/spi-builder-workspace/Sources/Helpers/OSUtils.swift:25:64: error: type 'PackageResources' has no member 'kernelName'
23 | enum OSUtils {
24 | static func kernelCheck() throws {
25 | guard (try? shellOut(to: "uname")) == PackageResources.kernelName else {
| `- error: type 'PackageResources' has no member 'kernelName'
26 | print("Error: Kernel-binary mismatch! Please stop using WatchDuck and re-install the correct binary for your operating system!".color(.red))
27 | throw ExitCode(EXIT_FAILURE)
[175/197] Compiling watchduck resource_bundle_accessor.swift
/host/spi-builder-workspace/Sources/Helpers/OSUtils.swift:25:64: error: type 'PackageResources' has no member 'kernelName'
23 | enum OSUtils {
24 | static func kernelCheck() throws {
25 | guard (try? shellOut(to: "uname")) == PackageResources.kernelName else {
| `- error: type 'PackageResources' has no member 'kernelName'
26 | print("Error: Kernel-binary mismatch! Please stop using WatchDuck and re-install the correct binary for your operating system!".color(.red))
27 | throw ExitCode(EXIT_FAILURE)
[176/197] Compiling watchduck WDPageListSubtext.swift
[177/197] Compiling watchduck WDPageStatusList.swift
[178/197] Compiling watchduck ANSIColors.swift
[179/197] Compiling watchduck CLISpinner.swift
[180/197] Compiling watchduck Bundle+StaticURL.swift
[181/197] Compiling watchduck Task+SleepTimeInterval.swift
[182/197] Compiling watchduck URL+CurrentDirectory.swift
[183/197] Compiling watchduck URL+StaticString.swift
[184/197] Compiling watchduck URLRequest+PreferredTextEncoding.swift
[185/197] Compiling watchduck Bundle+StaticURLs.swift
[186/197] Compiling watchduck ClosedRange+ContainsRange.swift
[187/197] Compiling watchduck Error+UnderlyingLocalizedDescription.swift
[188/197] Compiling watchduck HTTPURLResponse+TextEncoding.swift
[189/197] Compiling watchduck KeyedDecodingContainer+AssignIfPresent.swift
[190/197] Compiling watchduck WDStatus.swift
[191/197] Compiling watchduck FileComponents.swift
[192/197] Compiling watchduck WDHTML.swift
[193/197] Compiling watchduck WDPageFooter.swift
[194/197] Compiling watchduck WDPageHeader.swift
BUILD FAILURE 6.2 android