The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of EmojiText, reference main (7eb2d9), with Swift 6.0 for macOS (SPM) on 19 Apr 2025 12:55:01 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.2.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats

Build Log

========================================
RunAll
========================================
Builder version: 4.60.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/divadretlaw/EmojiText.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/divadretlaw/EmojiText
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 7eb2d98 Update LICENSE
Cloned https://github.com/divadretlaw/EmojiText.git
Revision (git rev-parse @):
7eb2d989ed9fd0d377e76ed459fc94631ac8918b
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/divadretlaw/EmojiText.git at main
Fetching https://github.com/swiftlang/swift-markdown
[1/6516] Fetching swift-markdown
Fetched https://github.com/swiftlang/swift-markdown from cache (1.18s)
Computing version for https://github.com/swiftlang/swift-markdown
Computed https://github.com/swiftlang/swift-markdown at 0.6.0 (3.14s)
Fetching https://github.com/swiftlang/swift-cmark.git
[1/18015] Fetching swift-cmark
Fetched https://github.com/swiftlang/swift-cmark.git from cache (1.58s)
Computing version for https://github.com/swiftlang/swift-cmark.git
Computed https://github.com/swiftlang/swift-cmark.git at 0.6.0 (0.62s)
Creating working copy for https://github.com/swiftlang/swift-cmark.git
Working copy of https://github.com/swiftlang/swift-cmark.git resolved at 0.6.0
Creating working copy for https://github.com/swiftlang/swift-markdown
Working copy of https://github.com/swiftlang/swift-markdown resolved at 0.6.0
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "emojitext",
      "name": "EmojiText",
      "url": "https://github.com/divadretlaw/EmojiText.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/EmojiText",
      "dependencies": [
        {
          "identity": "swift-markdown",
          "name": "swift-markdown",
          "url": "https://github.com/swiftlang/swift-markdown",
          "version": "0.6.0",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-markdown",
          "dependencies": [
            {
              "identity": "swift-cmark",
              "name": "cmark-gfm",
              "url": "https://github.com/swiftlang/swift-cmark.git",
              "version": "0.6.0",
              "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-cmark",
              "dependencies": [
              ]
            }
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/divadretlaw/EmojiText.git
[1/1565] Fetching emojitext
Fetched https://github.com/divadretlaw/EmojiText.git from cache (1.05s)
Fetching https://github.com/swiftlang/swift-markdown from cache
Fetched https://github.com/swiftlang/swift-markdown from cache (0.61s)
Computing version for https://github.com/swiftlang/swift-markdown
Computed https://github.com/swiftlang/swift-markdown at 0.6.0 (0.03s)
Fetching https://github.com/swiftlang/swift-cmark.git from cache
Fetched https://github.com/swiftlang/swift-cmark.git from cache (0.80s)
Computing version for https://github.com/swiftlang/swift-cmark.git
Computed https://github.com/swiftlang/swift-cmark.git at 0.6.0 (0.03s)
Creating working copy for https://github.com/swiftlang/swift-markdown
Working copy of https://github.com/swiftlang/swift-markdown resolved at 0.6.0
Creating working copy for https://github.com/divadretlaw/EmojiText.git
Working copy of https://github.com/divadretlaw/EmojiText.git resolved at main (7eb2d98)
Creating working copy for https://github.com/swiftlang/swift-cmark.git
Working copy of https://github.com/swiftlang/swift-cmark.git resolved at 0.6.0
warning: '.resolve-product-dependencies': dependency 'emojitext' is not used by any target
Found 1 product dependencies
  - swift-markdown
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/divadretlaw/EmojiText.git
https://github.com/divadretlaw/EmojiText.git
{
  "dependencies" : [
    {
      "identity" : "swift-markdown",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.5.0",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/swiftlang/swift-markdown"
    }
  ],
  "manifest_display_name" : "EmojiText",
  "name" : "EmojiText",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "15.0"
    },
    {
      "name" : "macos",
      "version" : "12.0"
    },
    {
      "name" : "tvos",
      "version" : "15.0"
    },
    {
      "name" : "watchos",
      "version" : "8.0"
    },
    {
      "name" : "visionos",
      "version" : "1.0"
    }
  ],
  "products" : [
    {
      "name" : "EmojiText",
      "targets" : [
        "EmojiText"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "EmojiText",
      "module_type" : "SwiftTarget",
      "name" : "EmojiText",
      "path" : "Sources/EmojiText",
      "product_dependencies" : [
        "Markdown"
      ],
      "product_memberships" : [
        "EmojiText"
      ],
      "sources" : [
        "CADisplayLinkPublisher.swift",
        "Domain/AnimatedEmojiMode.swift",
        "Domain/AnimatedImageType.swift",
        "Domain/EmojiError.swift",
        "Domain/EmojiProviderError.swift",
        "EmojiText.swift",
        "Environment/EmojiTextEnvironmentValues.swift",
        "Environment/EmojiTextNamespace.swift",
        "Environment/Environment+Helpers.swift",
        "Environment/Environment.swift",
        "Extensions/AttributedString+Extensions.swift",
        "Extensions/CGImageSource+Extensions.swift",
        "Extensions/Data+Extensions.swift",
        "Extensions/FloatingPoint+Extensions.swift",
        "Extensions/Font+Extensions.swift",
        "Extensions/Image+Extensions.swift",
        "Extensions/Integer+Extensions.swift",
        "Extensions/Publisher+Extensions.swift",
        "Extensions/String+Extensions.swift",
        "Extensions/Text+Extensions.swift",
        "Extensions/UIContentSizeCategory+Extensions.swift",
        "Lock.swift",
        "Logger.swift",
        "Model/AttributedPartialstring.swift",
        "Model/Emoji/LocalEmoji.swift",
        "Model/Emoji/Protocols/AsyncCustomEmoji.swift",
        "Model/Emoji/Protocols/CustomEmoji.swift",
        "Model/Emoji/Protocols/SyncCustomEmoji.swift",
        "Model/Emoji/RemoteEmoji.swift",
        "Model/Emoji/RenderedEmoji.swift",
        "Model/Emoji/SFSymbolEmoji.swift",
        "Model/RawImage.swift",
        "Model/RenderedImage.swift",
        "Preview Content/Preview.swift",
        "Provider/AsyncEmojiProvider.swift",
        "Provider/Implementations/DefaultAsyncEmojiProvider.swift",
        "Provider/Implementations/DefaultSyncEmojiProvider.swift",
        "Provider/SyncEmojiProvider.swift",
        "Render/EmojiRenderer.swift",
        "Render/EmojiTextRenderer.swift",
        "Render/Markdown/EmojiReplacer.swift",
        "Render/Markdown/MarkdownEmojiRenderer.swift",
        "Render/VerbatimEmojiRenderer.swift",
        "Typealiases.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.0"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.2.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats
Building for debugging...
[0/38] Write sources
[2/38] Write swift-version-5BDAB9E9C0126B9D.txt
[3/38] Compiling CAtomic CAtomic.c
[4/38] Compiling cmark-gfm houdini_href_e.c
[5/38] Compiling cmark-gfm-extensions tagfilter.c
[6/38] Compiling cmark-gfm-extensions strikethrough.c
[7/38] Compiling cmark-gfm blocks.c
[8/38] Compiling cmark-gfm-extensions ext_scanners.c
[9/38] Compiling cmark-gfm houdini_html_u.c
[10/38] Compiling cmark-gfm arena.c
[11/38] Compiling cmark-gfm-extensions core-extensions.c
[12/38] Compiling cmark-gfm xml.c
[13/38] Compiling cmark-gfm houdini_html_e.c
[14/38] Compiling cmark-gfm syntax_extension.c
[15/38] Compiling cmark-gfm html.c
[16/38] Compiling cmark-gfm render.c
[17/38] Compiling cmark-gfm registry.c
[18/38] Compiling cmark-gfm-extensions tasklist.c
[19/38] Compiling cmark-gfm references.c
[20/38] Compiling cmark-gfm utf8.c
[21/38] Compiling cmark-gfm plugin.c
[22/38] Compiling cmark-gfm plaintext.c
[23/38] Compiling cmark-gfm-extensions table.c
[24/38] Compiling cmark-gfm node.c
[25/38] Compiling cmark-gfm map.c
[26/38] Compiling cmark-gfm linked_list.c
[27/38] Compiling cmark-gfm man.c
[28/38] Compiling cmark-gfm iterator.c
[28/38] Compiling cmark-gfm latex.c
[30/38] Compiling cmark-gfm footnotes.c
[31/38] Compiling cmark-gfm scanners.c
[32/38] Compiling cmark-gfm cmark_ctype.c
[33/38] Compiling cmark-gfm cmark.c
[34/38] Compiling cmark-gfm buffer.c
[35/38] Compiling cmark-gfm commonmark.c
[36/38] Compiling cmark-gfm inlines.c
[37/38] Compiling cmark-gfm-extensions autolink.c
[39/102] Emitting module Markdown
[40/108] Compiling Markdown BlockMarkup.swift
[41/108] Compiling Markdown InlineContainer.swift
[42/108] Compiling Markdown InlineMarkup.swift
[43/108] Compiling Markdown ListItemContainer.swift
[44/108] Compiling Markdown AtomicCounter.swift
[45/108] Compiling Markdown CharacterExtensions.swift
[46/108] Compiling Markdown CollectionExtensions.swift
[47/108] Compiling Markdown HTMLBlock.swift
[48/108] Compiling Markdown Heading.swift
[49/108] Compiling Markdown ThematicBreak.swift
[50/108] Compiling Markdown Table.swift
[51/108] Compiling Markdown TableBody.swift
[52/108] Compiling Markdown TableCell.swift
[53/108] Compiling Markdown TableCellContainer.swift
[54/108] Compiling Markdown Link.swift
[55/108] Compiling Markdown Strikethrough.swift
[56/108] Compiling Markdown Strong.swift
[57/108] Compiling Markdown CustomInline.swift
[58/108] Compiling Markdown InlineCode.swift
[59/108] Compiling Markdown InlineHTML.swift
[60/108] Compiling Markdown LineBreak.swift
[61/108] Compiling Markdown TableHead.swift
[62/108] Compiling Markdown TableRow.swift
[63/108] Compiling Markdown Replacement.swift
[64/108] Compiling Markdown SourceLocation.swift
[65/108] Compiling Markdown Emphasis.swift
[66/108] Compiling Markdown Image.swift
[67/108] Compiling Markdown InlineAttributes.swift
[68/108] Compiling Markdown DoxygenParameter.swift
[69/108] Compiling Markdown DoxygenReturns.swift
[70/108] Compiling Markdown ListItem.swift
[71/108] Compiling Markdown OrderedList.swift
[72/108] Compiling Markdown UnorderedList.swift
[73/108] Compiling Markdown Paragraph.swift
[74/108] Compiling Markdown CodeBlock.swift
[75/108] Compiling Markdown ChildIndexPath.swift
[76/108] Compiling Markdown DirectiveArgument.swift
[77/108] Compiling Markdown Document.swift
[78/108] Compiling Markdown LiteralMarkup.swift
[79/108] Compiling Markdown Markup.swift
[80/108] Compiling Markdown MarkupChildren.swift
[81/108] Compiling Markdown MarkupData.swift
[82/108] Compiling Markdown PlainTextConvertibleMarkup.swift
[83/108] Compiling Markdown RawMarkup.swift
[84/108] Compiling Markdown BlockDirective.swift
[85/108] Compiling Markdown BlockQuote.swift
[86/108] Compiling Markdown CustomBlock.swift
[87/108] Compiling Markdown DoxygenDiscussion.swift
[88/108] Compiling Markdown DoxygenNote.swift
[89/108] Compiling Markdown ParseOptions.swift
[90/108] Compiling Markdown RangeAdjuster.swift
[91/108] Compiling Markdown RangerTracker.swift
[92/108] Compiling Markdown MarkupRewriter.swift
[93/108] Compiling Markdown BasicBlockContainer.swift
[94/108] Compiling Markdown BasicInlineContainer.swift
[95/108] Compiling Markdown BlockContainer.swift
[96/108] Compiling Markdown SoftBreak.swift
[97/108] Compiling Markdown SymbolLink.swift
[98/108] Compiling Markdown Text.swift
[99/108] Compiling Markdown Aside.swift
[100/108] Compiling Markdown BlockDirectiveParser.swift
[101/108] Compiling Markdown CommonMarkConverter.swift
[102/108] Compiling Markdown LazySplitLines.swift
[103/108] Compiling Markdown StringExtensions.swift
[104/108] Compiling Markdown MarkupVisitor.swift
[105/108] Compiling Markdown MarkupWalker.swift
[106/108] Compiling Markdown HTMLFormatter.swift
[107/108] Compiling Markdown MarkupFormatter.swift
[108/108] Compiling Markdown MarkupTreeDumper.swift
[109/149] Emitting module EmojiText
[110/153] Compiling EmojiText CADisplayLinkPublisher.swift
[111/153] Compiling EmojiText AnimatedEmojiMode.swift
[112/153] Compiling EmojiText AnimatedImageType.swift
[113/153] Compiling EmojiText EmojiError.swift
[114/153] Compiling EmojiText EmojiProviderError.swift
[115/153] Compiling EmojiText RenderedImage.swift
/Users/admin/builder/spi-builder-workspace/Sources/EmojiText/Provider/AsyncEmojiProvider.swift:53:31: warning: 'lazyEmojiCached(emoji:height:)' is deprecated: renamed to 'cachedEmojiImage(emoji:height:)'
51 |         if let data = cachedEmojiData(emoji: emoji, height: height) {
52 |             return EmojiImage(data: data)
53 |         } else if let image = lazyEmojiCached(emoji: emoji, height: height) {
   |                               |- warning: 'lazyEmojiCached(emoji:height:)' is deprecated: renamed to 'cachedEmojiImage(emoji:height:)'
   |                               `- note: use 'cachedEmojiImage(emoji:height:)' instead
54 |             Logger.emojiText.error("Loaded image from 'lazyEmojiCached(emoji:height:)' which is deprecated. Please switch to new implementations.")
55 |             return image
/Users/admin/builder/spi-builder-workspace/Sources/EmojiText/Provider/AsyncEmojiProvider.swift:77:26: warning: 'lazyEmojiData(emoji:height:)' is deprecated: renamed to 'fetchEmojiData(emoji:height:)'
75 |             Logger.emojiText.error("Fetched data from 'lazyEmojiData(emoji:height:)' which is deprecated. Please switch to new implementations.")
76 |         }
77 |         return try await lazyEmojiData(emoji: emoji, height: height)
   |                          |- warning: 'lazyEmojiData(emoji:height:)' is deprecated: renamed to 'fetchEmojiData(emoji:height:)'
   |                          `- note: use 'fetchEmojiData(emoji:height:)' instead
78 |     }
79 | }
[116/153] Compiling EmojiText Preview.swift
/Users/admin/builder/spi-builder-workspace/Sources/EmojiText/Provider/AsyncEmojiProvider.swift:53:31: warning: 'lazyEmojiCached(emoji:height:)' is deprecated: renamed to 'cachedEmojiImage(emoji:height:)'
51 |         if let data = cachedEmojiData(emoji: emoji, height: height) {
52 |             return EmojiImage(data: data)
53 |         } else if let image = lazyEmojiCached(emoji: emoji, height: height) {
   |                               |- warning: 'lazyEmojiCached(emoji:height:)' is deprecated: renamed to 'cachedEmojiImage(emoji:height:)'
   |                               `- note: use 'cachedEmojiImage(emoji:height:)' instead
54 |             Logger.emojiText.error("Loaded image from 'lazyEmojiCached(emoji:height:)' which is deprecated. Please switch to new implementations.")
55 |             return image
/Users/admin/builder/spi-builder-workspace/Sources/EmojiText/Provider/AsyncEmojiProvider.swift:77:26: warning: 'lazyEmojiData(emoji:height:)' is deprecated: renamed to 'fetchEmojiData(emoji:height:)'
75 |             Logger.emojiText.error("Fetched data from 'lazyEmojiData(emoji:height:)' which is deprecated. Please switch to new implementations.")
76 |         }
77 |         return try await lazyEmojiData(emoji: emoji, height: height)
   |                          |- warning: 'lazyEmojiData(emoji:height:)' is deprecated: renamed to 'fetchEmojiData(emoji:height:)'
   |                          `- note: use 'fetchEmojiData(emoji:height:)' instead
78 |     }
79 | }
[117/153] Compiling EmojiText AsyncEmojiProvider.swift
/Users/admin/builder/spi-builder-workspace/Sources/EmojiText/Provider/AsyncEmojiProvider.swift:53:31: warning: 'lazyEmojiCached(emoji:height:)' is deprecated: renamed to 'cachedEmojiImage(emoji:height:)'
51 |         if let data = cachedEmojiData(emoji: emoji, height: height) {
52 |             return EmojiImage(data: data)
53 |         } else if let image = lazyEmojiCached(emoji: emoji, height: height) {
   |                               |- warning: 'lazyEmojiCached(emoji:height:)' is deprecated: renamed to 'cachedEmojiImage(emoji:height:)'
   |                               `- note: use 'cachedEmojiImage(emoji:height:)' instead
54 |             Logger.emojiText.error("Loaded image from 'lazyEmojiCached(emoji:height:)' which is deprecated. Please switch to new implementations.")
55 |             return image
/Users/admin/builder/spi-builder-workspace/Sources/EmojiText/Provider/AsyncEmojiProvider.swift:77:26: warning: 'lazyEmojiData(emoji:height:)' is deprecated: renamed to 'fetchEmojiData(emoji:height:)'
75 |             Logger.emojiText.error("Fetched data from 'lazyEmojiData(emoji:height:)' which is deprecated. Please switch to new implementations.")
76 |         }
77 |         return try await lazyEmojiData(emoji: emoji, height: height)
   |                          |- warning: 'lazyEmojiData(emoji:height:)' is deprecated: renamed to 'fetchEmojiData(emoji:height:)'
   |                          `- note: use 'fetchEmojiData(emoji:height:)' instead
78 |     }
79 | }
[118/153] Compiling EmojiText DefaultAsyncEmojiProvider.swift
/Users/admin/builder/spi-builder-workspace/Sources/EmojiText/Provider/AsyncEmojiProvider.swift:53:31: warning: 'lazyEmojiCached(emoji:height:)' is deprecated: renamed to 'cachedEmojiImage(emoji:height:)'
51 |         if let data = cachedEmojiData(emoji: emoji, height: height) {
52 |             return EmojiImage(data: data)
53 |         } else if let image = lazyEmojiCached(emoji: emoji, height: height) {
   |                               |- warning: 'lazyEmojiCached(emoji:height:)' is deprecated: renamed to 'cachedEmojiImage(emoji:height:)'
   |                               `- note: use 'cachedEmojiImage(emoji:height:)' instead
54 |             Logger.emojiText.error("Loaded image from 'lazyEmojiCached(emoji:height:)' which is deprecated. Please switch to new implementations.")
55 |             return image
/Users/admin/builder/spi-builder-workspace/Sources/EmojiText/Provider/AsyncEmojiProvider.swift:77:26: warning: 'lazyEmojiData(emoji:height:)' is deprecated: renamed to 'fetchEmojiData(emoji:height:)'
75 |             Logger.emojiText.error("Fetched data from 'lazyEmojiData(emoji:height:)' which is deprecated. Please switch to new implementations.")
76 |         }
77 |         return try await lazyEmojiData(emoji: emoji, height: height)
   |                          |- warning: 'lazyEmojiData(emoji:height:)' is deprecated: renamed to 'fetchEmojiData(emoji:height:)'
   |                          `- note: use 'fetchEmojiData(emoji:height:)' instead
78 |     }
79 | }
[119/153] Compiling EmojiText DefaultSyncEmojiProvider.swift
[120/153] Compiling EmojiText SyncEmojiProvider.swift
[121/153] Compiling EmojiText EmojiRenderer.swift
[122/153] Compiling EmojiText EmojiTextRenderer.swift
[123/153] Compiling EmojiText UIContentSizeCategory+Extensions.swift
[124/153] Compiling EmojiText Lock.swift
[125/153] Compiling EmojiText Logger.swift
[126/153] Compiling EmojiText AttributedPartialstring.swift
[127/153] Compiling EmojiText RemoteEmoji.swift
[128/153] Compiling EmojiText RenderedEmoji.swift
[129/153] Compiling EmojiText SFSymbolEmoji.swift
[130/153] Compiling EmojiText RawImage.swift
[131/153] Compiling EmojiText LocalEmoji.swift
[132/153] Compiling EmojiText AsyncCustomEmoji.swift
[133/153] Compiling EmojiText CustomEmoji.swift
[134/153] Compiling EmojiText SyncCustomEmoji.swift
[135/153] Compiling EmojiText Image+Extensions.swift
[136/153] Compiling EmojiText Integer+Extensions.swift
[137/153] Compiling EmojiText Publisher+Extensions.swift
[138/153] Compiling EmojiText String+Extensions.swift
[139/153] Compiling EmojiText Text+Extensions.swift
[140/153] Compiling EmojiText EmojiReplacer.swift
[141/153] Compiling EmojiText MarkdownEmojiRenderer.swift
[142/153] Compiling EmojiText VerbatimEmojiRenderer.swift
[143/153] Compiling EmojiText Typealiases.swift
[144/153] Compiling EmojiText EmojiText.swift
[145/153] Compiling EmojiText EmojiTextEnvironmentValues.swift
[146/153] Compiling EmojiText EmojiTextNamespace.swift
[147/153] Compiling EmojiText Environment+Helpers.swift
[148/153] Compiling EmojiText Environment.swift
[149/153] Compiling EmojiText AttributedString+Extensions.swift
[150/153] Compiling EmojiText CGImageSource+Extensions.swift
[151/153] Compiling EmojiText Data+Extensions.swift
[152/153] Compiling EmojiText FloatingPoint+Extensions.swift
[153/153] Compiling EmojiText Font+Extensions.swift
Build complete! (28.72s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-markdown",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.5.0",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/swiftlang/swift-markdown"
    }
  ],
  "manifest_display_name" : "EmojiText",
  "name" : "EmojiText",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "15.0"
    },
    {
      "name" : "macos",
      "version" : "12.0"
    },
    {
      "name" : "tvos",
      "version" : "15.0"
    },
    {
      "name" : "watchos",
      "version" : "8.0"
    },
    {
      "name" : "visionos",
      "version" : "1.0"
    }
  ],
  "products" : [
    {
      "name" : "EmojiText",
      "targets" : [
        "EmojiText"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "EmojiText",
      "module_type" : "SwiftTarget",
      "name" : "EmojiText",
      "path" : "Sources/EmojiText",
      "product_dependencies" : [
        "Markdown"
      ],
      "product_memberships" : [
        "EmojiText"
      ],
      "sources" : [
        "CADisplayLinkPublisher.swift",
        "Domain/AnimatedEmojiMode.swift",
        "Domain/AnimatedImageType.swift",
        "Domain/EmojiError.swift",
        "Domain/EmojiProviderError.swift",
        "EmojiText.swift",
        "Environment/EmojiTextEnvironmentValues.swift",
        "Environment/EmojiTextNamespace.swift",
        "Environment/Environment+Helpers.swift",
        "Environment/Environment.swift",
        "Extensions/AttributedString+Extensions.swift",
        "Extensions/CGImageSource+Extensions.swift",
        "Extensions/Data+Extensions.swift",
        "Extensions/FloatingPoint+Extensions.swift",
        "Extensions/Font+Extensions.swift",
        "Extensions/Image+Extensions.swift",
        "Extensions/Integer+Extensions.swift",
        "Extensions/Publisher+Extensions.swift",
        "Extensions/String+Extensions.swift",
        "Extensions/Text+Extensions.swift",
        "Extensions/UIContentSizeCategory+Extensions.swift",
        "Lock.swift",
        "Logger.swift",
        "Model/AttributedPartialstring.swift",
        "Model/Emoji/LocalEmoji.swift",
        "Model/Emoji/Protocols/AsyncCustomEmoji.swift",
        "Model/Emoji/Protocols/CustomEmoji.swift",
        "Model/Emoji/Protocols/SyncCustomEmoji.swift",
        "Model/Emoji/RemoteEmoji.swift",
        "Model/Emoji/RenderedEmoji.swift",
        "Model/Emoji/SFSymbolEmoji.swift",
        "Model/RawImage.swift",
        "Model/RenderedImage.swift",
        "Preview Content/Preview.swift",
        "Provider/AsyncEmojiProvider.swift",
        "Provider/Implementations/DefaultAsyncEmojiProvider.swift",
        "Provider/Implementations/DefaultSyncEmojiProvider.swift",
        "Provider/SyncEmojiProvider.swift",
        "Render/EmojiRenderer.swift",
        "Render/EmojiTextRenderer.swift",
        "Render/Markdown/EmojiReplacer.swift",
        "Render/Markdown/MarkdownEmojiRenderer.swift",
        "Render/VerbatimEmojiRenderer.swift",
        "Typealiases.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.0"
}
Done.