Build Information
Failed to build TextModeration, reference 1.0.0 (b8f739), with Swift 6.2 for Wasm on 20 Aug 2026 05:51:05 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-53886769-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:wasm-6.2-latest swift build --swift-sdk swift-6.2-RELEASE_wasm 2>&1Build Log
========================================
RunAll
========================================
Builder version: 5.0.2
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/NikolaiBorisov/TextModeration.git
Reference: 1.0.0
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/NikolaiBorisov/TextModeration
* tag 1.0.0 -> FETCH_HEAD
HEAD is now at b8f7397 Add README screenshots
Cloned https://github.com/NikolaiBorisov/TextModeration.git
Revision (git rev-parse @):
b8f73970b82001f8e5f7f7c31f418f4103d29fc0
SUCCESS checkout https://github.com/NikolaiBorisov/TextModeration.git at 1.0.0
========================================
Build
========================================
Selected platform: wasm
Swift version: 6.2
Building package at path: $PWD
https://github.com/NikolaiBorisov/TextModeration.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-53886769-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:wasm-6.2-latest swift build --swift-sdk swift-6.2-RELEASE_wasm 2>&1
wasm-6.2-latest: Pulling from saguaro1/spi-images
Digest: sha256:70428a4f4110aef5b17a27427e965f31cf3855e8cf1dfdc416ed61c780337965
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:wasm-6.2-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/14] Compiling TextModeration SpamRule.swift
[4/15] Compiling TextModeration SpecialCharactersRule.swift
[5/15] Compiling TextModeration TextLengthRule.swift
[6/15] Compiling TextModeration TextModeration.swift
/host/spi-builder-workspace/Sources/TextModeration/PersonalDataRule.swift:14:31: error: cannot find type 'NSDataDetector' in scope
12 | private let decision: ModerationDecision
13 | private let emailExpression: NSRegularExpression
14 | private let dataDetector: NSDataDetector?
| `- error: cannot find type 'NSDataDetector' in scope
15 |
16 | /// Creates a personal data rule.
error: emit-module command failed with exit code 1 (use -v to see invocation)
[7/15] Compiling TextModeration RepeatedCharactersRule.swift
[8/15] Compiling TextModeration RepetitionRule.swift
[9/15] Compiling TextModeration EmojiRule.swift
[10/15] Compiling TextModeration ExcessiveCapsRule.swift
[11/15] Emitting module TextModeration
/host/spi-builder-workspace/Sources/TextModeration/PersonalDataRule.swift:14:31: error: cannot find type 'NSDataDetector' in scope
12 | private let decision: ModerationDecision
13 | private let emailExpression: NSRegularExpression
14 | private let dataDetector: NSDataDetector?
| `- error: cannot find type 'NSDataDetector' in scope
15 |
16 | /// Creates a personal data rule.
[12/15] Compiling TextModeration PersonalDataRule.swift
/host/spi-builder-workspace/Sources/TextModeration/PersonalDataRule.swift:14:31: error: cannot find type 'NSDataDetector' in scope
12 | private let decision: ModerationDecision
13 | private let emailExpression: NSRegularExpression
14 | private let dataDetector: NSDataDetector?
| `- error: cannot find type 'NSDataDetector' in scope
15 |
16 | /// Creates a personal data rule.
/host/spi-builder-workspace/Sources/TextModeration/PersonalDataRule.swift:44:35: warning: 'phoneNumber' is deprecated: These types of result will not be returned by swift-corelibs-foundation API. [#DeprecatedDeclaration]
42 |
43 | if detectsPhoneNumbers {
44 | checkingTypes.insert(.phoneNumber)
| `- warning: 'phoneNumber' is deprecated: These types of result will not be returned by swift-corelibs-foundation API. [#DeprecatedDeclaration]
45 | }
46 |
/host/spi-builder-workspace/Sources/TextModeration/PersonalDataRule.swift:48:35: warning: 'address' is deprecated: These types of result will not be returned by swift-corelibs-foundation API. [#DeprecatedDeclaration]
46 |
47 | if detectsPostalAddresses {
48 | checkingTypes.insert(.address)
| `- warning: 'address' is deprecated: These types of result will not be returned by swift-corelibs-foundation API. [#DeprecatedDeclaration]
49 | }
50 |
/host/spi-builder-workspace/Sources/TextModeration/PersonalDataRule.swift:53:16: error: cannot find 'NSDataDetector' in scope
51 | self.dataDetector = checkingTypes.isEmpty
52 | ? nil
53 | : try? NSDataDetector(types: checkingTypes.rawValue)
| `- error: cannot find 'NSDataDetector' in scope
54 | }
55 |
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[13/15] Compiling TextModeration ProfanityRule.swift
/host/spi-builder-workspace/Sources/TextModeration/PersonalDataRule.swift:14:31: error: cannot find type 'NSDataDetector' in scope
12 | private let decision: ModerationDecision
13 | private let emailExpression: NSRegularExpression
14 | private let dataDetector: NSDataDetector?
| `- error: cannot find type 'NSDataDetector' in scope
15 |
16 | /// Creates a personal data rule.
/host/spi-builder-workspace/Sources/TextModeration/PersonalDataRule.swift:44:35: warning: 'phoneNumber' is deprecated: These types of result will not be returned by swift-corelibs-foundation API. [#DeprecatedDeclaration]
42 |
43 | if detectsPhoneNumbers {
44 | checkingTypes.insert(.phoneNumber)
| `- warning: 'phoneNumber' is deprecated: These types of result will not be returned by swift-corelibs-foundation API. [#DeprecatedDeclaration]
45 | }
46 |
/host/spi-builder-workspace/Sources/TextModeration/PersonalDataRule.swift:48:35: warning: 'address' is deprecated: These types of result will not be returned by swift-corelibs-foundation API. [#DeprecatedDeclaration]
46 |
47 | if detectsPostalAddresses {
48 | checkingTypes.insert(.address)
| `- warning: 'address' is deprecated: These types of result will not be returned by swift-corelibs-foundation API. [#DeprecatedDeclaration]
49 | }
50 |
/host/spi-builder-workspace/Sources/TextModeration/PersonalDataRule.swift:53:16: error: cannot find 'NSDataDetector' in scope
51 | self.dataDetector = checkingTypes.isEmpty
52 | ? nil
53 | : try? NSDataDetector(types: checkingTypes.rawValue)
| `- error: cannot find 'NSDataDetector' in scope
54 | }
55 |
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[14/15] Compiling TextModeration LinkRule.swift
/host/spi-builder-workspace/Sources/TextModeration/LinkRule.swift:30:29: error: cannot find 'NSDataDetector' in scope
28 | /// Evaluates whether the text contains more URLs than allowed.
29 | public func evaluate(_ text: String) -> ModerationIssue? {
30 | let detector = try? NSDataDetector(types: NSTextCheckingResult.CheckingType.link.rawValue)
| `- error: cannot find 'NSDataDetector' in scope
31 | let range = NSRange(text.startIndex..<text.endIndex, in: text)
32 |
[15/15] Compiling TextModeration MentionRule.swift
/host/spi-builder-workspace/Sources/TextModeration/LinkRule.swift:30:29: error: cannot find 'NSDataDetector' in scope
28 | /// Evaluates whether the text contains more URLs than allowed.
29 | public func evaluate(_ text: String) -> ModerationIssue? {
30 | let detector = try? NSDataDetector(types: NSTextCheckingResult.CheckingType.link.rawValue)
| `- error: cannot find 'NSDataDetector' in scope
31 | let range = NSRange(text.startIndex..<text.endIndex, in: text)
32 |
BUILD FAILURE 6.2 wasm