The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of EmojiText, reference 4.3.0 (85c6b8), with Swift 6.2 (beta) for macOS (SPM) on 7 Sep 2025 13:34:13 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 4.67.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/divadretlaw/EmojiText.git
Reference: 4.3.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/divadretlaw/EmojiText
 * tag               4.3.0      -> FETCH_HEAD
HEAD is now at 85c6b8c Merge pull request #31 from divadretlaw/feature/nsattributedstring
Cloned https://github.com/divadretlaw/EmojiText.git
Revision (git rev-parse @):
85c6b8cec555bdd522f79088455215209949c973
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/divadretlaw/EmojiText.git at 4.3.0
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.2
Building package at path:  $PWD
https://github.com/divadretlaw/EmojiText.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64
Building for debugging...
[0/38] Write swift-version-1EA4D86E10B52AF.txt
[1/38] Compiling cmark-gfm cmark_ctype.c
[2/38] Compiling cmark-gfm blocks.c
[3/38] Compiling cmark-gfm syntax_extension.c
[4/38] Compiling cmark-gfm utf8.c
[5/38] Compiling cmark-gfm render.c
[6/38] Compiling cmark-gfm-extensions ext_scanners.c
[7/38] Compiling cmark-gfm-extensions strikethrough.c
[8/38] Compiling cmark-gfm-extensions table.c
[9/38] Compiling cmark-gfm-extensions tagfilter.c
[10/38] Compiling cmark-gfm registry.c
[11/38] Compiling cmark-gfm references.c
[12/38] Compiling cmark-gfm scanners.c
[13/38] Compiling cmark-gfm plugin.c
[14/38] Compiling cmark-gfm map.c
[15/38] Compiling cmark-gfm plaintext.c
[16/38] Compiling cmark-gfm man.c
[17/38] Compiling cmark-gfm linked_list.c
[18/38] Compiling cmark-gfm node.c
[19/38] Compiling cmark-gfm xml.c
[20/38] Compiling cmark-gfm latex.c
[21/38] Compiling cmark-gfm iterator.c
[22/38] Compiling cmark-gfm html.c
[23/38] Compiling cmark-gfm houdini_html_e.c
[24/38] Compiling cmark-gfm houdini_href_e.c
[25/38] Compiling cmark-gfm footnotes.c
[26/38] Write sources
[28/38] Compiling cmark-gfm houdini_html_u.c
[29/38] Compiling cmark-gfm commonmark.c
[30/38] Compiling cmark-gfm inlines.c
[31/38] Compiling cmark-gfm-extensions tasklist.c
[32/38] Compiling cmark-gfm cmark.c
[33/38] Compiling cmark-gfm arena.c
[34/38] Compiling cmark-gfm buffer.c
[35/38] Compiling cmark-gfm-extensions core-extensions.c
[36/38] Compiling CAtomic CAtomic.c
[37/38] Compiling cmark-gfm-extensions autolink.c
[39/102] Emitting module Markdown
[40/108] Compiling Markdown HTMLBlock.swift
[41/108] Compiling Markdown Heading.swift
[42/108] Compiling Markdown ThematicBreak.swift
[43/108] Compiling Markdown Table.swift
[44/108] Compiling Markdown TableBody.swift
[45/108] Compiling Markdown TableCell.swift
[46/108] Compiling Markdown TableCellContainer.swift
[47/108] Compiling Markdown ParseOptions.swift
[48/108] Compiling Markdown RangeAdjuster.swift
[49/108] Compiling Markdown RangerTracker.swift
[50/108] Compiling Markdown MarkupRewriter.swift
[51/108] Compiling Markdown BasicBlockContainer.swift
[52/108] Compiling Markdown BasicInlineContainer.swift
[53/108] Compiling Markdown BlockContainer.swift
[54/108] Compiling Markdown BlockMarkup.swift
[55/108] Compiling Markdown InlineContainer.swift
[56/108] Compiling Markdown InlineMarkup.swift
[57/108] Compiling Markdown ListItemContainer.swift
[58/108] Compiling Markdown AtomicCounter.swift
[59/108] Compiling Markdown CharacterExtensions.swift
[60/108] Compiling Markdown CollectionExtensions.swift
[61/108] Compiling Markdown PlainTextConvertibleMarkup.swift
[62/108] Compiling Markdown RawMarkup.swift
[63/108] Compiling Markdown BlockDirective.swift
[64/108] Compiling Markdown BlockQuote.swift
[65/108] Compiling Markdown CustomBlock.swift
[66/108] Compiling Markdown DoxygenDiscussion.swift
[67/108] Compiling Markdown DoxygenNote.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 StringExtensions.swift
[76/108] Compiling Markdown MarkupVisitor.swift
[77/108] Compiling Markdown MarkupWalker.swift
[78/108] Compiling Markdown HTMLFormatter.swift
[79/108] Compiling Markdown MarkupFormatter.swift
[80/108] Compiling Markdown MarkupTreeDumper.swift
[81/108] Compiling Markdown ChildIndexPath.swift
[82/108] Compiling Markdown DirectiveArgument.swift
[83/108] Compiling Markdown Document.swift
[84/108] Compiling Markdown LiteralMarkup.swift
[85/108] Compiling Markdown Markup.swift
[86/108] Compiling Markdown MarkupChildren.swift
[87/108] Compiling Markdown MarkupData.swift
[88/108] Compiling Markdown TableHead.swift
[89/108] Compiling Markdown TableRow.swift
[90/108] Compiling Markdown Replacement.swift
[91/108] Compiling Markdown SourceLocation.swift
[92/108] Compiling Markdown Emphasis.swift
[93/108] Compiling Markdown Image.swift
[94/108] Compiling Markdown InlineAttributes.swift
[95/108] Compiling Markdown SoftBreak.swift
[96/108] Compiling Markdown SymbolLink.swift
[97/108] Compiling Markdown Text.swift
[98/108] Compiling Markdown Aside.swift
[99/108] Compiling Markdown BlockDirectiveParser.swift
[100/108] Compiling Markdown CommonMarkConverter.swift
[101/108] Compiling Markdown LazySplitLines.swift
[102/108] Compiling Markdown Link.swift
[103/108] Compiling Markdown Strikethrough.swift
[104/108] Compiling Markdown Strong.swift
[105/108] Compiling Markdown CustomInline.swift
[106/108] Compiling Markdown InlineCode.swift
[107/108] Compiling Markdown InlineHTML.swift
[108/108] Compiling Markdown LineBreak.swift
[109/154] Emitting module EmojiText
[110/159] Compiling EmojiText AsyncEmojiProvider.swift
/Users/admin/builder/spi-builder-workspace/Sources/EmojiText/Provider/AsyncEmojiProvider.swift:54:31: warning: 'lazyEmojiCached(emoji:height:)' is deprecated: renamed to 'cachedEmojiImage(emoji:height:)' [#DeprecatedDeclaration]
52 |         if let data = cachedEmojiData(emoji: emoji, height: height) {
53 |             return EmojiImage(data: data)
54 |         } else if let image = lazyEmojiCached(emoji: emoji, height: height) {
   |                               |- warning: 'lazyEmojiCached(emoji:height:)' is deprecated: renamed to 'cachedEmojiImage(emoji:height:)' [#DeprecatedDeclaration]
   |                               `- note: use 'cachedEmojiImage(emoji:height:)' instead
55 |             Logger.emojiText.error("Loaded image from 'lazyEmojiCached(emoji:height:)' which is deprecated. Please switch to new implementations.")
56 |             return image
/Users/admin/builder/spi-builder-workspace/Sources/EmojiText/Provider/AsyncEmojiProvider.swift:80:26: warning: 'lazyEmojiData(emoji:height:)' is deprecated: renamed to 'fetchEmojiData(emoji:height:)' [#DeprecatedDeclaration]
78 |             Logger.emojiText.error("Fetched data from 'lazyEmojiData(emoji:height:)' which is deprecated. Please switch to new implementations.")
79 |         }
80 |         return try await lazyEmojiData(emoji: emoji, height: height)
   |                          |- warning: 'lazyEmojiData(emoji:height:)' is deprecated: renamed to 'fetchEmojiData(emoji:height:)' [#DeprecatedDeclaration]
   |                          `- note: use 'fetchEmojiData(emoji:height:)' instead
81 |     }
82 | }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[111/159] Compiling EmojiText DefaultAsyncEmojiProvider.swift
/Users/admin/builder/spi-builder-workspace/Sources/EmojiText/Provider/AsyncEmojiProvider.swift:54:31: warning: 'lazyEmojiCached(emoji:height:)' is deprecated: renamed to 'cachedEmojiImage(emoji:height:)' [#DeprecatedDeclaration]
52 |         if let data = cachedEmojiData(emoji: emoji, height: height) {
53 |             return EmojiImage(data: data)
54 |         } else if let image = lazyEmojiCached(emoji: emoji, height: height) {
   |                               |- warning: 'lazyEmojiCached(emoji:height:)' is deprecated: renamed to 'cachedEmojiImage(emoji:height:)' [#DeprecatedDeclaration]
   |                               `- note: use 'cachedEmojiImage(emoji:height:)' instead
55 |             Logger.emojiText.error("Loaded image from 'lazyEmojiCached(emoji:height:)' which is deprecated. Please switch to new implementations.")
56 |             return image
/Users/admin/builder/spi-builder-workspace/Sources/EmojiText/Provider/AsyncEmojiProvider.swift:80:26: warning: 'lazyEmojiData(emoji:height:)' is deprecated: renamed to 'fetchEmojiData(emoji:height:)' [#DeprecatedDeclaration]
78 |             Logger.emojiText.error("Fetched data from 'lazyEmojiData(emoji:height:)' which is deprecated. Please switch to new implementations.")
79 |         }
80 |         return try await lazyEmojiData(emoji: emoji, height: height)
   |                          |- warning: 'lazyEmojiData(emoji:height:)' is deprecated: renamed to 'fetchEmojiData(emoji:height:)' [#DeprecatedDeclaration]
   |                          `- note: use 'fetchEmojiData(emoji:height:)' instead
81 |     }
82 | }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[112/159] Compiling EmojiText DefaultSyncEmojiProvider.swift
/Users/admin/builder/spi-builder-workspace/Sources/EmojiText/Provider/AsyncEmojiProvider.swift:54:31: warning: 'lazyEmojiCached(emoji:height:)' is deprecated: renamed to 'cachedEmojiImage(emoji:height:)' [#DeprecatedDeclaration]
52 |         if let data = cachedEmojiData(emoji: emoji, height: height) {
53 |             return EmojiImage(data: data)
54 |         } else if let image = lazyEmojiCached(emoji: emoji, height: height) {
   |                               |- warning: 'lazyEmojiCached(emoji:height:)' is deprecated: renamed to 'cachedEmojiImage(emoji:height:)' [#DeprecatedDeclaration]
   |                               `- note: use 'cachedEmojiImage(emoji:height:)' instead
55 |             Logger.emojiText.error("Loaded image from 'lazyEmojiCached(emoji:height:)' which is deprecated. Please switch to new implementations.")
56 |             return image
/Users/admin/builder/spi-builder-workspace/Sources/EmojiText/Provider/AsyncEmojiProvider.swift:80:26: warning: 'lazyEmojiData(emoji:height:)' is deprecated: renamed to 'fetchEmojiData(emoji:height:)' [#DeprecatedDeclaration]
78 |             Logger.emojiText.error("Fetched data from 'lazyEmojiData(emoji:height:)' which is deprecated. Please switch to new implementations.")
79 |         }
80 |         return try await lazyEmojiData(emoji: emoji, height: height)
   |                          |- warning: 'lazyEmojiData(emoji:height:)' is deprecated: renamed to 'fetchEmojiData(emoji:height:)' [#DeprecatedDeclaration]
   |                          `- note: use 'fetchEmojiData(emoji:height:)' instead
81 |     }
82 | }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[113/159] Compiling EmojiText SyncEmojiProvider.swift
/Users/admin/builder/spi-builder-workspace/Sources/EmojiText/Provider/AsyncEmojiProvider.swift:54:31: warning: 'lazyEmojiCached(emoji:height:)' is deprecated: renamed to 'cachedEmojiImage(emoji:height:)' [#DeprecatedDeclaration]
52 |         if let data = cachedEmojiData(emoji: emoji, height: height) {
53 |             return EmojiImage(data: data)
54 |         } else if let image = lazyEmojiCached(emoji: emoji, height: height) {
   |                               |- warning: 'lazyEmojiCached(emoji:height:)' is deprecated: renamed to 'cachedEmojiImage(emoji:height:)' [#DeprecatedDeclaration]
   |                               `- note: use 'cachedEmojiImage(emoji:height:)' instead
55 |             Logger.emojiText.error("Loaded image from 'lazyEmojiCached(emoji:height:)' which is deprecated. Please switch to new implementations.")
56 |             return image
/Users/admin/builder/spi-builder-workspace/Sources/EmojiText/Provider/AsyncEmojiProvider.swift:80:26: warning: 'lazyEmojiData(emoji:height:)' is deprecated: renamed to 'fetchEmojiData(emoji:height:)' [#DeprecatedDeclaration]
78 |             Logger.emojiText.error("Fetched data from 'lazyEmojiData(emoji:height:)' which is deprecated. Please switch to new implementations.")
79 |         }
80 |         return try await lazyEmojiData(emoji: emoji, height: height)
   |                          |- warning: 'lazyEmojiData(emoji:height:)' is deprecated: renamed to 'fetchEmojiData(emoji:height:)' [#DeprecatedDeclaration]
   |                          `- note: use 'fetchEmojiData(emoji:height:)' instead
81 |     }
82 | }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[114/159] Compiling EmojiText EmojiRenderer.swift
/Users/admin/builder/spi-builder-workspace/Sources/EmojiText/Provider/AsyncEmojiProvider.swift:54:31: warning: 'lazyEmojiCached(emoji:height:)' is deprecated: renamed to 'cachedEmojiImage(emoji:height:)' [#DeprecatedDeclaration]
52 |         if let data = cachedEmojiData(emoji: emoji, height: height) {
53 |             return EmojiImage(data: data)
54 |         } else if let image = lazyEmojiCached(emoji: emoji, height: height) {
   |                               |- warning: 'lazyEmojiCached(emoji:height:)' is deprecated: renamed to 'cachedEmojiImage(emoji:height:)' [#DeprecatedDeclaration]
   |                               `- note: use 'cachedEmojiImage(emoji:height:)' instead
55 |             Logger.emojiText.error("Loaded image from 'lazyEmojiCached(emoji:height:)' which is deprecated. Please switch to new implementations.")
56 |             return image
/Users/admin/builder/spi-builder-workspace/Sources/EmojiText/Provider/AsyncEmojiProvider.swift:80:26: warning: 'lazyEmojiData(emoji:height:)' is deprecated: renamed to 'fetchEmojiData(emoji:height:)' [#DeprecatedDeclaration]
78 |             Logger.emojiText.error("Fetched data from 'lazyEmojiData(emoji:height:)' which is deprecated. Please switch to new implementations.")
79 |         }
80 |         return try await lazyEmojiData(emoji: emoji, height: height)
   |                          |- warning: 'lazyEmojiData(emoji:height:)' is deprecated: renamed to 'fetchEmojiData(emoji:height:)' [#DeprecatedDeclaration]
   |                          `- note: use 'fetchEmojiData(emoji:height:)' instead
81 |     }
82 | }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[115/159] Compiling EmojiText LoadedEmoji.swift
[116/159] Compiling EmojiText LocalEmoji.swift
[117/159] Compiling EmojiText AsyncCustomEmoji.swift
[118/159] Compiling EmojiText CustomEmoji.swift
[119/159] Compiling EmojiText SyncCustomEmoji.swift
[120/159] Compiling EmojiText RemoteEmoji.swift
[121/159] Compiling EmojiText SFSymbolEmoji.swift
[122/159] Compiling EmojiText RawImage.swift
[123/159] Compiling EmojiText RenderedImage.swift
[124/159] Compiling EmojiText Preview.swift
[125/159] Compiling EmojiText EmojiLabel.swift
[126/159] Compiling EmojiText EmojiLoader.swift
[127/159] Compiling EmojiText EmojiText.swift
[128/159] Compiling EmojiText EmojiTextField.swift
[129/159] Compiling EmojiText EmojiTextPresenter.swift
[130/159] Compiling EmojiText MarkdownEmojiRenderer.swift
[131/159] Compiling EmojiText MarkdownEmojiReplacer.swift
[132/159] Compiling EmojiText MarkdownEmojiVisitor.swift
[133/159] Compiling EmojiText VerbatimEmojiRenderer.swift
[134/159] Compiling EmojiText Typealiases.swift
[135/159] Compiling EmojiText Text+Extensions.swift
[136/159] Compiling EmojiText UIContentSizeCategory+Extensions.swift
[137/159] Compiling EmojiText Lock.swift
[138/159] Compiling EmojiText Logger.swift
[139/159] Compiling EmojiText AttributedPartialstring.swift
[140/159] Compiling EmojiText EmojiTextView.swift
[141/159] Compiling EmojiText EmojiTextEnvironmentValues.swift
[142/159] Compiling EmojiText EmojiTextNamespace.swift
[143/159] Compiling EmojiText Environment+Helpers.swift
[144/159] Compiling EmojiText Environment.swift
[145/159] Compiling EmojiText CADisplayLinkPublisher.swift
[146/159] Compiling EmojiText AnimatedEmojiMode.swift
[147/159] Compiling EmojiText AnimatedImageType.swift
[148/159] Compiling EmojiText EmojiError.swift
[149/159] Compiling EmojiText EmojiProviderError.swift
[150/159] Compiling EmojiText AttributedString+Extensions.swift
[151/159] Compiling EmojiText CGImageSource+Extensions.swift
[152/159] Compiling EmojiText Data+Extensions.swift
[153/159] Compiling EmojiText FloatingPoint+Extensions.swift
[154/159] Compiling EmojiText Font+Extensions.swift
[155/159] Compiling EmojiText Image+Extensions.swift
[156/159] Compiling EmojiText Integer+Extensions.swift
[157/159] Compiling EmojiText NSAttributedString+Extensions.swift
[158/159] Compiling EmojiText Publisher+Extensions.swift
[159/159] Compiling EmojiText String+Extensions.swift
Build complete! (19.78s)
Fetching https://github.com/swiftlang/swift-markdown
[1/6867] Fetching swift-markdown
Fetched https://github.com/swiftlang/swift-markdown from cache (1.24s)
Computing version for https://github.com/swiftlang/swift-markdown
Computed https://github.com/swiftlang/swift-markdown at 0.6.0 (3.88s)
Fetching https://github.com/swiftlang/swift-cmark.git
[1/18193] Fetching swift-cmark
Fetched https://github.com/swiftlang/swift-cmark.git from cache (1.57s)
Computing version for https://github.com/swiftlang/swift-cmark.git
Computed https://github.com/swiftlang/swift-cmark.git at 0.6.0 (2.12s)
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/swiftlang/swift-cmark.git
Working copy of https://github.com/swiftlang/swift-cmark.git resolved at 0.6.0
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",
        "EmojiLabel.swift",
        "EmojiLoader.swift",
        "EmojiText.swift",
        "EmojiTextField.swift",
        "EmojiTextPresenter.swift",
        "EmojiTextView.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/NSAttributedString+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/LoadedEmoji.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/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/Markdown/MarkdownEmojiRenderer.swift",
        "Render/Markdown/MarkdownEmojiReplacer.swift",
        "Render/Markdown/MarkdownEmojiVisitor.swift",
        "Render/VerbatimEmojiRenderer.swift",
        "Typealiases.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.0"
}
Done.