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 YouTubeKit, reference main (6bdaf2), with Swift 5.10 for macOS (SPM) on 27 Jun 2025 23:35:36 UTC.

Swift 6 data race errors: 0

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 4.64.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/b5i/YouTubeKit.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/b5i/YouTubeKit
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 6bdaf25 chore: update client for formats
Cloned https://github.com/b5i/YouTubeKit.git
Revision (git rev-parse @):
6bdaf256c7ac7fb4406e28d07afcbeee36f97707
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/b5i/YouTubeKit.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             5.10
Building package at path:  $PWD
https://github.com/b5i/YouTubeKit.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.4.0.app xcrun swift build --arch arm64
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-33747A42983211AE.txt
[3/99] Emitting module YouTubeKit
[4/109] Compiling YouTubeKit YouTubeVideo+fetchAllPossibleHostPlaylists.swift
[5/109] Compiling YouTubeKit YouTubeVideo+fetchMoreInfos.swift
[6/109] Compiling YouTubeKit YouTubeVideo+fetchStreamingInfos.swift
[7/109] Compiling YouTubeKit YouTubeVideo+fetchStreamingInfosWithDownloadFormats.swift
[8/109] Compiling YouTubeKit YouTubeVideo+getCaptions.swift
[9/109] Compiling YouTubeKit YouTubeVideo+likeActions.swift
[10/109] Compiling YouTubeKit YouTubeVideo.swift
[11/109] Compiling YouTubeKit YTCaption.swift
[12/109] Compiling YouTubeKit YTChannel.swift
[13/109] Compiling YouTubeKit YTComment+actions.swift
[14/109] Compiling YouTubeKit YTComment.swift
[15/109] Compiling YouTubeKit YTLittleChannelInfos.swift
[16/109] Compiling YouTubeKit YTPlaylist+canShowBeDecoded.swift
[17/109] Compiling YouTubeKit YTPlaylist+decodeShowFromJSON.swift
[18/109] Compiling YouTubeKit YTPlaylist+fetchVideos.swift
[19/109] Compiling YouTubeKit YTPlaylist.swift
[20/109] Compiling YouTubeKit YTThumbnail.swift
[21/109] Compiling YouTubeKit YTVideo+decodeShortFromJSON.swift
[22/109] Compiling YouTubeKit YTVideo+decodeVideoFromPlaylist.swift
[23/109] Compiling YouTubeKit YTVideo.swift
[24/109] Compiling YouTubeKit BadRequestDataError.swift
[25/109] Compiling YouTubeKit NetworkError.swift
[26/109] Compiling YouTubeKit YTLikeStatus.swift
[27/109] Compiling YouTubeKit YTPrivacy.swift
[28/109] Compiling YouTubeKit YouTubeChannel+fetchInfos.swift
[29/109] Compiling YouTubeKit YouTubeChannel+subscribeActions.swift
[30/109] Compiling YouTubeKit YouTubeChannel.swift
[31/109] Compiling YouTubeKit AuthenticatedContinuableResponse+fetchContinuation.swift
[32/109] Compiling YouTubeKit AuthenticatedContinuableResponse.swift
[33/109] Compiling YouTubeKit ContinuableResponse+fetchContinuation.swift
[34/109] Compiling YouTubeKit ContinuableResponse+mergeContinuation.swift
[35/109] Compiling YouTubeKit ContinuableResponse.swift
[36/109] Compiling YouTubeKit ResponseContinuation.swift
[37/109] Compiling YouTubeKit SimpleOperationAuthenticatedResponse.swift
[38/109] Compiling YouTubeKit DislikeVideoResponse.swift
[39/109] Compiling YouTubeKit LikeVideoResponse.swift
[40/109] Compiling YouTubeKit RemoveLikeFromVideoResponse.swift
[41/109] Compiling YouTubeKit AutoCompletionResponse.swift
[42/109] Compiling YouTubeKit ChannelContent+canDecode.swift
[43/109] Compiling YouTubeKit ChannelContent+decodeJSONFromTab.swift
[44/109] Compiling YouTubeKit ChannelContent+getContinuationFromTab.swift
[45/109] Compiling YouTubeKit ChannelContent.swift
[46/109] Compiling YouTubeKit ChannelInfosResponse.swift
[47/109] Compiling YouTubeKit ListableChannelContent+addChannelInfos.swift
[48/109] Compiling YouTubeKit ListableChannelContent.swift
[49/109] Compiling YouTubeKit HomeScreenResponse.swift
[50/109] Compiling YouTubeKit PlaylistInfosResponse.swift
[51/109] Compiling YouTubeKit SearchResponse.swift
[52/109] Compiling YouTubeKit YTSearchResult+canBeDecoded.swift
[53/109] Compiling YouTubeKit YTSearchResult+decodeJSON.swift
[54/109] Compiling YouTubeKit YTSearchResult+filterTypes.swift
[55/109] Compiling YouTubeKit YTSearchResult.swift
[56/109] Compiling YouTubeKit YTSearchResultType.swift
[57/109] Compiling YouTubeKit UnsubscribeChannelResponse.swift
[58/109] Compiling YouTubeKit CreateCommentResponse.swift
[59/109] Compiling YouTubeKit DeleteCommentResponse.swift
[60/109] Compiling YouTubeKit DislikeCommentResponse.swift
[61/109] Compiling YouTubeKit EditCommentResponse.swift
[62/109] Compiling YouTubeKit EditReplyCommandResponse.swift
[63/109] Compiling YouTubeKit LikeCommentResponse.swift
[64/109] Compiling YouTubeKit RemoveDislikeCommentResponse.swift
[65/109] Compiling YouTubeKit RemoveLikeCommentResponse.swift
[66/109] Compiling YouTubeKit ReplyCommentResponse.swift
[67/109] Compiling YouTubeKit HistoryBlockContent.swift
[68/109] Compiling YouTubeKit ResponseExtractionError.swift
[69/109] Compiling YouTubeKit ParameterValidator+commonValidators.swift
[70/109] Compiling YouTubeKit ParameterValidator.swift
[71/109] Compiling YouTubeKit HeaderTypes+Hashable.swift
[72/109] Compiling YouTubeKit HeaderTypes+RawRepresentable.swift
[73/109] Compiling YouTubeKit HeaderTypes.swift
[74/109] Compiling YouTubeKit HeadersList.swift
[75/109] Compiling YouTubeKit RequestLog.swift
[76/109] Compiling YouTubeKit RequestLogger+defaultImplementations.swift
[77/109] Compiling YouTubeKit RequestsLogger.swift
[78/109] Compiling YouTubeKit SwiftyJSON.swift
[79/109] Compiling YouTubeKit URL+AppendQueryItems.swift
[80/109] Compiling YouTubeKit String+ytkRegexMatches.swift
[81/109] Compiling YouTubeKit YouTubeModel.swift
[82/109] Compiling YouTubeKit YouTubeResponse.swift
[83/109] Compiling YouTubeKit AccountInfosResponse.swift
[84/109] Compiling YouTubeKit AccountLibraryResponse.swift
[85/109] Compiling YouTubeKit AccountPlaylistsResponse.swift
[86/109] Compiling YouTubeKit AccountSubscriptionsFeedResponse.swift
[87/109] Compiling YouTubeKit AccountSubscriptionsResponse.swift
[88/109] Compiling YouTubeKit AuthenticatedResponse.swift
[89/109] Compiling YouTubeKit SubscribeChannelResponse.swift
[90/109] Compiling YouTubeKit HistoryReponse+removeVideo.swift
[91/109] Compiling YouTubeKit HistoryResponse.swift
[92/109] Compiling YouTubeKit RemoveVideoFromHistroryResponse.swift
[93/109] Compiling YouTubeKit AddVideoToPlaylistResponse.swift
[94/109] Compiling YouTubeKit AllPossibleHostPlaylistsResponse.swift
[95/109] Compiling YouTubeKit CreatePlaylistResponse.swift
[96/109] Compiling YouTubeKit DeletePlaylistResponse.swift
[97/109] Compiling YouTubeKit MoveVideoInPlaylistResponse.swift
[98/109] Compiling YouTubeKit RemoveVideoByIdFromPlaylistResponse.swift
[99/109] Compiling YouTubeKit RemoveVideoFromPlaylistResponse.swift
[100/109] Compiling YouTubeKit TrendingVideosResponse.swift
[101/109] Compiling YouTubeKit CommentTranslationResponse.swift
[102/109] Compiling YouTubeKit DownloadFormat.swift
[103/109] Compiling YouTubeKit MediaType.swift
[104/109] Compiling YouTubeKit MoreVideoInfosResponse.swift
[105/109] Compiling YouTubeKit VideoCaptionsResponse.swift
[106/109] Compiling YouTubeKit VideoCommentsResponse.swift
[107/109] Compiling YouTubeKit VideoInfosResponse.swift
[108/109] Compiling YouTubeKit VideoInfosWithDownloadFormatsResponse.swift
[109/109] Compiling YouTubeKit [URLQueryItem]+makeUnique.swift
Build complete! (7.34s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "YouTubeKit",
  "name" : "YouTubeKit",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "YouTubeKit",
      "targets" : [
        "YouTubeKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "YouTubeKitTests",
      "module_type" : "SwiftTarget",
      "name" : "YouTubeKitTests",
      "path" : "Tests/YouTubeKitTests",
      "sources" : [
        "YouTubeKitTests.swift"
      ],
      "target_dependencies" : [
        "YouTubeKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "YouTubeKit",
      "module_type" : "SwiftTarget",
      "name" : "YouTubeKit",
      "path" : "Sources/YouTubeKit",
      "product_memberships" : [
        "YouTubeKit"
      ],
      "sources" : [
        "BaseEnums/YTLikeStatus.swift",
        "BaseEnums/YTPrivacy.swift",
        "BaseProtocols/Channel/YouTubeChannel+fetchInfos.swift",
        "BaseProtocols/Channel/YouTubeChannel+subscribeActions.swift",
        "BaseProtocols/Channel/YouTubeChannel.swift",
        "BaseProtocols/Continuation/AuthenticatedContinuableResponse+fetchContinuation.swift",
        "BaseProtocols/Continuation/AuthenticatedContinuableResponse.swift",
        "BaseProtocols/Continuation/ContinuableResponse+fetchContinuation.swift",
        "BaseProtocols/Continuation/ContinuableResponse+mergeContinuation.swift",
        "BaseProtocols/Continuation/ContinuableResponse.swift",
        "BaseProtocols/Continuation/ResponseContinuation.swift",
        "BaseProtocols/Video/YouTubeVideo+fetchAllPossibleHostPlaylists.swift",
        "BaseProtocols/Video/YouTubeVideo+fetchMoreInfos.swift",
        "BaseProtocols/Video/YouTubeVideo+fetchStreamingInfos.swift",
        "BaseProtocols/Video/YouTubeVideo+fetchStreamingInfosWithDownloadFormats.swift",
        "BaseProtocols/Video/YouTubeVideo+getCaptions.swift",
        "BaseProtocols/Video/YouTubeVideo+likeActions.swift",
        "BaseProtocols/Video/YouTubeVideo.swift",
        "BaseStructs/YTCaption.swift",
        "BaseStructs/YTChannel.swift",
        "BaseStructs/YTComment+actions.swift",
        "BaseStructs/YTComment.swift",
        "BaseStructs/YTLittleChannelInfos.swift",
        "BaseStructs/YTPlaylist+canShowBeDecoded.swift",
        "BaseStructs/YTPlaylist+decodeShowFromJSON.swift",
        "BaseStructs/YTPlaylist+fetchVideos.swift",
        "BaseStructs/YTPlaylist.swift",
        "BaseStructs/YTThumbnail.swift",
        "BaseStructs/YTVideo+decodeShortFromJSON.swift",
        "BaseStructs/YTVideo+decodeVideoFromPlaylist.swift",
        "BaseStructs/YTVideo.swift",
        "ErrorHandling/ErrorTypes/BadRequestDataError.swift",
        "ErrorHandling/ErrorTypes/NetworkError.swift",
        "ErrorHandling/ErrorTypes/ResponseExtractionError.swift",
        "ErrorHandling/ParameterValidator+commonValidators.swift",
        "ErrorHandling/ParameterValidator.swift",
        "HeaderTypes+Hashable.swift",
        "HeaderTypes+RawRepresentable.swift",
        "HeaderTypes.swift",
        "HeadersList.swift",
        "Logging/RequestLog.swift",
        "Logging/RequestLogger+defaultImplementations.swift",
        "Logging/RequestsLogger.swift",
        "SwiftyJSON/SwiftyJSON.swift",
        "URL+AppendQueryItems.swift",
        "Utils/String+ytkRegexMatches.swift",
        "YouTubeModel.swift",
        "YouTubeResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/AccountResponses/AccountInfosResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/AccountResponses/AccountLibraryResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/AccountResponses/AccountPlaylistsResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/AccountResponses/AccountSubscriptionsFeedResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/AccountResponses/AccountSubscriptionsResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/AuthenticatedResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/ChannelsActions/SubscribeChannelResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/ChannelsActions/UnsubscribeChannelResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/CommentsActions/CreateCommentResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/CommentsActions/DeleteCommentResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/CommentsActions/DislikeCommentResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/CommentsActions/EditCommentResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/CommentsActions/EditReplyCommandResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/CommentsActions/LikeCommentResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/CommentsActions/RemoveDislikeCommentResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/CommentsActions/RemoveLikeCommentResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/CommentsActions/ReplyCommentResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/HistoryActions/HistoryBlockContent.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/HistoryActions/HistoryReponse+removeVideo.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/HistoryActions/HistoryResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/HistoryActions/RemoveVideoFromHistroryResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/PlaylistsActions/AddVideoToPlaylistResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/PlaylistsActions/AllPossibleHostPlaylistsResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/PlaylistsActions/CreatePlaylistResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/PlaylistsActions/DeletePlaylistResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/PlaylistsActions/MoveVideoInPlaylistResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/PlaylistsActions/RemoveVideoByIdFromPlaylistResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/PlaylistsActions/RemoveVideoFromPlaylistResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/SimpleOperationAuthenticatedResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/VideosActions/DislikeVideoResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/VideosActions/LikeVideoResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/VideosActions/RemoveLikeFromVideoResponse.swift",
        "YouTubeResponseTypes/AutoCompletion/AutoCompletionResponse.swift",
        "YouTubeResponseTypes/ChannelInfos/ChannelContent+canDecode.swift",
        "YouTubeResponseTypes/ChannelInfos/ChannelContent+decodeJSONFromTab.swift",
        "YouTubeResponseTypes/ChannelInfos/ChannelContent+getContinuationFromTab.swift",
        "YouTubeResponseTypes/ChannelInfos/ChannelContent.swift",
        "YouTubeResponseTypes/ChannelInfos/ChannelInfosResponse.swift",
        "YouTubeResponseTypes/ChannelInfos/ListableChannelContent+addChannelInfos.swift",
        "YouTubeResponseTypes/ChannelInfos/ListableChannelContent.swift",
        "YouTubeResponseTypes/Home/HomeScreenResponse.swift",
        "YouTubeResponseTypes/PlaylistInfos/PlaylistInfosResponse.swift",
        "YouTubeResponseTypes/Search/SearchResponse.swift",
        "YouTubeResponseTypes/Search/YTSearchResult+canBeDecoded.swift",
        "YouTubeResponseTypes/Search/YTSearchResult+decodeJSON.swift",
        "YouTubeResponseTypes/Search/YTSearchResult+filterTypes.swift",
        "YouTubeResponseTypes/Search/YTSearchResult.swift",
        "YouTubeResponseTypes/Search/YTSearchResultType.swift",
        "YouTubeResponseTypes/Trending/TrendingVideosResponse.swift",
        "YouTubeResponseTypes/VideoInfos/CommentTranslationResponse.swift",
        "YouTubeResponseTypes/VideoInfos/DownloadFormat.swift",
        "YouTubeResponseTypes/VideoInfos/MediaType.swift",
        "YouTubeResponseTypes/VideoInfos/MoreVideoInfosResponse.swift",
        "YouTubeResponseTypes/VideoInfos/VideoCaptionsResponse.swift",
        "YouTubeResponseTypes/VideoInfos/VideoCommentsResponse.swift",
        "YouTubeResponseTypes/VideoInfos/VideoInfosResponse.swift",
        "YouTubeResponseTypes/VideoInfos/VideoInfosWithDownloadFormatsResponse.swift",
        "[URLQueryItem]+makeUnique.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.6"
}
Done.