Build Information
Successful build of MarkupEditor, reference main (ee687f), with Swift 6.2 for macOS (SPM) on 17 Oct 2026 16:57:13 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.3.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.3
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/stevengharris/MarkupEditor.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/stevengharris/MarkupEditor
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at ee687f5 Bump to markupeditor-base 0.9.52
Cloned https://github.com/stevengharris/MarkupEditor.git
Revision (git rev-parse @):
ee687f59188e329d14e986e85efd8515de6dfdb0
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/stevengharris/MarkupEditor.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.2
Building package at path: $PWD
https://github.com/stevengharris/MarkupEditor.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.3.0.app xcrun swift build --arch arm64
Building for debugging...
[0/7] Write sources
[2/7] Copying markup-editor.js
[3/7] Copying keymapconfig.json
[3/7] Copying toolbarconfig.json
[5/7] Copying behaviorconfig.json
[6/7] Write swift-version--3CB7CFEC50E0D141.txt
[8/53] Compiling MarkupEditor ToolbarConfig.swift
[9/53] Compiling MarkupEditor EditableAttributes.swift
[10/53] Compiling MarkupEditor ForcePopoverModifier.swift
[11/53] Compiling MarkupEditor HeaderInfo.swift
[12/53] Compiling MarkupEditor Icons.swift
[13/58] Compiling MarkupEditor ListContext.swift
[14/58] Compiling MarkupEditor SelectionState.swift
[15/58] Compiling MarkupEditor StyleContext.swift
[16/58] Compiling MarkupEditor CorrectionToolbar.swift
[17/58] Compiling MarkupEditor FormatToolbar.swift
[18/58] Compiling MarkupEditor TableSizer.swift
[19/58] Compiling MarkupEditor ToolbarContents.swift
[20/58] Compiling MarkupEditor ToolbarImageButton.swift
[21/58] Compiling MarkupEditor ToolbarStyle.swift
[22/58] Compiling MarkupEditor resource_bundle_accessor.swift
[23/58] Compiling MarkupEditor TableToolbar.swift
[24/58] Compiling MarkupEditor Blur.swift
[25/58] Compiling MarkupEditor BehaviorConfig.swift
[26/58] Compiling MarkupEditor JSONConfigurable.swift
[27/58] Compiling MarkupEditor KeymapConfig.swift
[28/58] Compiling MarkupEditor ImageViewController.swift
[29/58] Compiling MarkupEditor LinkViewController.swift
[30/58] Compiling MarkupEditor MarkupMenu.swift
[31/58] Compiling MarkupEditor PlatformTypes.swift
[32/58] Compiling MarkupEditor PopoverHostingController.swift
[33/58] Compiling MarkupEditor InsertToolbar.swift
[34/58] Compiling MarkupEditor LabeledToolbar.swift
[35/58] Compiling MarkupEditor MarkupToolbar.swift
[36/58] Compiling MarkupEditor MarkupToolbarUIView.swift
[37/58] Compiling MarkupEditor StyleToolbar.swift
[38/58] Compiling MarkupEditor MarkupWKWebView+DivExtensions.swift
[39/58] Compiling MarkupEditor Logger+Extensions.swift
[40/58] Compiling MarkupEditor String+Extensions.swift
[41/58] Compiling MarkupEditor UIView+Extensions.swift
[42/58] Compiling MarkupEditor View+Extensions.swift
[43/58] Compiling MarkupEditor MarkupCoordinator.swift
[44/58] Compiling MarkupEditor MarkupDelegate.swift
[45/58] Compiling MarkupEditor MarkupEditor.swift
[46/58] Compiling MarkupEditor MarkupEditorUIView.swift
[47/58] Compiling MarkupEditor MarkupEditorView.swift
[48/58] Compiling MarkupEditor HtmlButton.swift
[49/58] Compiling MarkupEditor HtmlButtonGroup.swift
[50/58] Compiling MarkupEditor HtmlDiv.swift
[51/58] Compiling MarkupEditor HtmlDivHolder.swift
[52/58] Compiling MarkupEditor MarkupDivStructure.swift
[53/58] Emitting module MarkupEditor
[54/58] Compiling MarkupEditor MarkupWKWebView.swift
[55/58] Compiling MarkupEditor MarkupWKWebViewConfiguration.swift
[56/58] Compiling MarkupEditor MarkupWKWebViewRepresentable.swift
[57/58] Compiling MarkupEditor Plugin.swift
[58/58] Compiling MarkupEditor FormatContext.swift
[59/62] Compiling SharedTest HtmlTest.swift
[60/62] Compiling SharedTest HtmlTestSuite.swift
[61/62] Compiling SharedTest HtmlTestPage.swift
[62/62] Emitting module SharedTest
Build complete! (12.99s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "MarkupEditor",
"name" : "MarkupEditor",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "17.0"
},
{
"name" : "maccatalyst",
"version" : "17.0"
},
{
"name" : "macos",
"version" : "14.0"
}
],
"products" : [
{
"name" : "MarkupEditor",
"targets" : [
"MarkupEditor"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"swift_languages_versions" : [
"5",
"6"
],
"targets" : [
{
"c99name" : "SwiftTests",
"module_type" : "SwiftTarget",
"name" : "SwiftTests",
"path" : "MarkupEditorTests/SwiftTests",
"sources" : [
"PasteImage.swift",
"PluginFileEntryTests.swift"
],
"target_dependencies" : [
"MarkupEditor",
"SharedTest"
],
"type" : "test"
},
{
"c99name" : "SharedTest",
"module_type" : "SwiftTarget",
"name" : "SharedTest",
"path" : "MarkupEditorTests/SharedTest",
"sources" : [
"HtmlTest.swift",
"HtmlTestPage.swift",
"HtmlTestSuite.swift"
],
"target_dependencies" : [
"MarkupEditor"
],
"type" : "library"
},
{
"c99name" : "MarkupEditor",
"module_type" : "SwiftTarget",
"name" : "MarkupEditor",
"path" : "MarkupEditor",
"product_memberships" : [
"MarkupEditor"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/MarkupEditor/Resources/behaviorconfig.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/MarkupEditor/Resources/keymapconfig.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/MarkupEditor/Resources/markup-editor.js",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/MarkupEditor/Resources/toolbarconfig.json",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"Divs/HtmlButton.swift",
"Divs/HtmlButtonGroup.swift",
"Divs/HtmlDiv.swift",
"Divs/HtmlDivHolder.swift",
"Divs/MarkupDivStructure.swift",
"Divs/MarkupWKWebView+DivExtensions.swift",
"Extensions/Logger+Extensions.swift",
"Extensions/String+Extensions.swift",
"Extensions/UIView+Extensions.swift",
"Extensions/View+Extensions.swift",
"MarkupCoordinator.swift",
"MarkupDelegate.swift",
"MarkupEditor.swift",
"MarkupEditorUIView.swift",
"MarkupEditorView.swift",
"MarkupWKWebView.swift",
"MarkupWKWebViewConfiguration.swift",
"MarkupWKWebViewRepresentable.swift",
"Plugin.swift",
"Selection/FormatContext.swift",
"Selection/ListContext.swift",
"Selection/SelectionState.swift",
"Selection/StyleContext.swift",
"Toolbars/CorrectionToolbar.swift",
"Toolbars/FormatToolbar.swift",
"Toolbars/InsertToolbar.swift",
"Toolbars/LabeledToolbar.swift",
"Toolbars/MarkupToolbar.swift",
"Toolbars/MarkupToolbarUIView.swift",
"Toolbars/StyleToolbar.swift",
"Toolbars/TableToolbar.swift",
"Utilities/Blur.swift",
"Utilities/Config/BehaviorConfig.swift",
"Utilities/Config/JSONConfigurable.swift",
"Utilities/Config/KeymapConfig.swift",
"Utilities/Config/ToolbarConfig.swift",
"Utilities/EditableAttributes.swift",
"Utilities/ForcePopoverModifier.swift",
"Utilities/HeaderInfo.swift",
"Utilities/Icons.swift",
"Utilities/ImageViewController.swift",
"Utilities/LinkViewController.swift",
"Utilities/MarkupMenu.swift",
"Utilities/PlatformTypes.swift",
"Utilities/PopoverHostingController.swift",
"Utilities/TableSizer.swift",
"Utilities/ToolbarContents.swift",
"Utilities/ToolbarImageButton.swift",
"Utilities/ToolbarStyle.swift"
],
"type" : "library"
},
{
"c99name" : "BaseTests",
"module_type" : "SwiftTarget",
"name" : "BaseTests",
"path" : "MarkupEditorTests/BaseTests",
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/MarkupEditorTests/BaseTests/Data/baseline.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/MarkupEditorTests/BaseTests/Data/code-language-menu.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/MarkupEditorTests/BaseTests/Data/code-language-tab.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/MarkupEditorTests/BaseTests/Data/code-language.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/MarkupEditorTests/BaseTests/Data/correction.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/MarkupEditorTests/BaseTests/Data/denting-multi.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/MarkupEditorTests/BaseTests/Data/denting.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/MarkupEditorTests/BaseTests/Data/exit-table.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/MarkupEditorTests/BaseTests/Data/format-multi.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/MarkupEditorTests/BaseTests/Data/format-off.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/MarkupEditorTests/BaseTests/Data/format-on.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/MarkupEditorTests/BaseTests/Data/format-selection.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/MarkupEditorTests/BaseTests/Data/get-headers.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/MarkupEditorTests/BaseTests/Data/highlighting.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/MarkupEditorTests/BaseTests/Data/insert-image-url.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/MarkupEditorTests/BaseTests/Data/insert-internal-link.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/MarkupEditorTests/BaseTests/Data/insert-link.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/MarkupEditorTests/BaseTests/Data/insert-table.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/MarkupEditorTests/BaseTests/Data/justify-column.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/MarkupEditorTests/BaseTests/Data/list-enter-collapsed.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/MarkupEditorTests/BaseTests/Data/list-enter-range.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/MarkupEditorTests/BaseTests/Data/list-multi.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/MarkupEditorTests/BaseTests/Data/list.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/MarkupEditorTests/BaseTests/Data/markdown-shorthand.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/MarkupEditorTests/BaseTests/Data/paste-html-preprocessing.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/MarkupEditorTests/BaseTests/Data/paste-html.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/MarkupEditorTests/BaseTests/Data/paste-text-preprocessing.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/MarkupEditorTests/BaseTests/Data/paste-text.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/MarkupEditorTests/BaseTests/Data/pluginregistry.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/MarkupEditorTests/BaseTests/Data/search.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/MarkupEditorTests/BaseTests/Data/style-multi.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/MarkupEditorTests/BaseTests/Data/style.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/MarkupEditorTests/BaseTests/Data/table-actions.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/MarkupEditorTests/BaseTests/Data/type-text.json",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"Baseline.swift",
"CodeLanguage.swift",
"CodeLanguageMenu.swift",
"CodeLanguageTab.swift",
"Correction.swift",
"Denting.swift",
"DentingMulti .swift",
"FormatMulti.swift",
"FormatOff.swift",
"FormatOn.swift",
"FormatSelection.swift",
"GetHeaders.swift",
"Highlighting.swift",
"InsertImageUrl.swift",
"InsertInternalLink.swift",
"InsertLink.swift",
"InsertTable.swift",
"JustifyColumn.swift",
"List.swift",
"ListEnterCollapsed.swift",
"ListEnterRange.swift",
"ListMulti.swift",
"PasteHtml.swift",
"PasteHtmlPreprocessing.swift",
"PasteText.swift",
"PasteTextPreprocessing.swift",
"PluginRegistry.swift",
"Search.swift",
"Style.swift",
"StyleMulti.swift",
"TableActions.swift"
],
"target_dependencies" : [
"MarkupEditor",
"SharedTest"
],
"type" : "test"
}
],
"tools_version" : "6.1"
}
Done.