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 LineBot, reference 2.0.2 (4ec163), with Swift 6.1 for macOS (SPM) on 24 Apr 2025 12:25:14 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

========================================
RunAll
========================================
Builder version: 4.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/happiness9721/line-bot-sdk-swift.git
Reference: 2.0.2
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/happiness9721/line-bot-sdk-swift
 * tag               2.0.2      -> FETCH_HEAD
HEAD is now at 4ec1638 Merge pull request #6 from happiness9721/develop
Cloned https://github.com/happiness9721/line-bot-sdk-swift.git
Revision (git rev-parse @):
4ec16382ba1ee0b94802a1a5aac1735846fb2002
SUCCESS checkout https://github.com/happiness9721/line-bot-sdk-swift.git at 2.0.2
Fetching https://github.com/IBM-Swift/BlueCryptor.git
[1/1654] Fetching bluecryptor
Fetched https://github.com/IBM-Swift/BlueCryptor.git from cache (0.86s)
Computing version for https://github.com/IBM-Swift/BlueCryptor.git
Computed https://github.com/IBM-Swift/BlueCryptor.git at 1.0.200 (1.57s)
Creating working copy for https://github.com/IBM-Swift/BlueCryptor.git
Working copy of https://github.com/IBM-Swift/BlueCryptor.git resolved at 1.0.200
========================================
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": "line-bot-sdk-swift",
      "name": "LineBot",
      "url": "https://github.com/happiness9721/line-bot-sdk-swift.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/line-bot-sdk-swift",
      "dependencies": [
        {
          "identity": "bluecryptor",
          "name": "Cryptor",
          "url": "https://github.com/IBM-Swift/BlueCryptor.git",
          "version": "1.0.200",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/BlueCryptor",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/happiness9721/line-bot-sdk-swift.git
[3/296] Fetching line-bot-sdk-swift
Fetched https://github.com/happiness9721/line-bot-sdk-swift.git from cache (0.67s)
Fetching https://github.com/IBM-Swift/BlueCryptor.git from cache
Fetched https://github.com/IBM-Swift/BlueCryptor.git from cache (0.43s)
Computing version for https://github.com/IBM-Swift/BlueCryptor.git
Computed https://github.com/IBM-Swift/BlueCryptor.git at 1.0.200 (0.50s)
Creating working copy for https://github.com/happiness9721/line-bot-sdk-swift.git
Working copy of https://github.com/happiness9721/line-bot-sdk-swift.git resolved at 2.0.2 (4ec1638)
Creating working copy for https://github.com/IBM-Swift/BlueCryptor.git
Working copy of https://github.com/IBM-Swift/BlueCryptor.git resolved at 1.0.200
warning: '.resolve-product-dependencies': dependency 'line-bot-sdk-swift' is not used by any target
Found 1 product dependencies
  - Cryptor
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/happiness9721/line-bot-sdk-swift.git
https://github.com/happiness9721/line-bot-sdk-swift.git
{
  "dependencies" : [
    {
      "identity" : "bluecryptor",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/IBM-Swift/BlueCryptor.git"
    }
  ],
  "manifest_display_name" : "LineBot",
  "name" : "LineBot",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "LineBot",
      "targets" : [
        "LineBot"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "LineBotTests",
      "module_type" : "SwiftTarget",
      "name" : "LineBotTests",
      "path" : "Tests/LineBotTests",
      "sources" : [
        "LineBotTests.swift",
        "LineEventTests/LineEventMessageTests.swift",
        "LineEventTests/LineWebhookTests.swift",
        "LineMessage/LineMessageTests.swift"
      ],
      "target_dependencies" : [
        "LineBot"
      ],
      "type" : "test"
    },
    {
      "c99name" : "LineBot",
      "module_type" : "SwiftTarget",
      "name" : "LineBot",
      "path" : "Sources/LineBot",
      "product_dependencies" : [
        "Cryptor"
      ],
      "product_memberships" : [
        "LineBot"
      ],
      "sources" : [
        "LineBot.swift",
        "LineEvent/LineEvent.swift",
        "LineEvent/LineEventMessage.swift",
        "LineEvent/LineWebhook.swift",
        "LineMessage/LineAction.swift",
        "LineMessage/LineArea.swift",
        "LineMessage/LineImagemapAction.swift",
        "LineMessage/LineMessage.swift",
        "LineMessage/LineTemplate.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "4.0"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version-2F0A5646E1D333AE.txt
[4/14] Compiling Cryptor HMAC.swift
[5/14] Emitting module Cryptor
[6/14] Compiling Cryptor Digest.swift
[7/14] Compiling Cryptor Crypto.swift
[8/14] Compiling Cryptor Cryptor.swift
[9/14] Compiling Cryptor KeyDerivation.swift
[10/15] Compiling Cryptor Status.swift
[11/15] Compiling Cryptor SSLPointerTricks.swift
[12/15] Compiling Cryptor Random.swift
[13/15] Compiling Cryptor Updatable.swift
[14/15] Compiling Cryptor StreamCryptor.swift
[15/15] Compiling Cryptor Utilities.swift
[16/25] Compiling LineBot LineEventMessage.swift
[17/25] Compiling LineBot LineBot.swift
/Users/admin/builder/spi-builder-workspace/Sources/LineBot/LineBot.swift:47:3: warning: 'public' modifier is redundant for instance method declared in a public extension
 45 | public extension LineBot {
 46 |
 47 |   public func reply(token: String, messages: [LineMessage], completionHandler: ((Data?) -> ())? = nil) {
    |   `- warning: 'public' modifier is redundant for instance method declared in a public extension
 48 |     let body: [String: Any] = [
 49 |       "replyToken": token,
/Users/admin/builder/spi-builder-workspace/Sources/LineBot/LineBot.swift:58:3: warning: 'public' modifier is redundant for instance method declared in a public extension
 56 |   }
 57 |
 58 |   public func push(userId: String, messages: [LineMessage], completionHandler: ((Data?) -> ())? = nil) {
    |   `- warning: 'public' modifier is redundant for instance method declared in a public extension
 59 |     let body: [String: Any] = [
 60 |       "to": userId,
/Users/admin/builder/spi-builder-workspace/Sources/LineBot/LineBot.swift:69:3: warning: 'public' modifier is redundant for instance method declared in a public extension
 67 |   }
 68 |
 69 |   public func multicast(to: [String], messages: [LineMessage], completionHandler: ((Data?) -> ())? = nil) {
    |   `- warning: 'public' modifier is redundant for instance method declared in a public extension
 70 |     let body: [String: Any] = [
 71 |       "to": to,
/Users/admin/builder/spi-builder-workspace/Sources/LineBot/LineBot.swift:80:3: warning: 'public' modifier is redundant for instance method declared in a public extension
 78 |   }
 79 |
 80 |   public func getMessageContent(identifier: String, completionHandler: ((Data?) -> ())? = nil) {
    |   `- warning: 'public' modifier is redundant for instance method declared in a public extension
 81 |     let request = makeRequest(method: "GET",
 82 |                               path: "/bot/message/\(identifier)/content")
/Users/admin/builder/spi-builder-workspace/Sources/LineBot/LineBot.swift:103:3: warning: 'public' modifier is redundant for instance method declared in a public extension
101 | public extension LineBot {
102 |
103 |   public func getProfile(userId: String, completionHandler: ((Data?) -> ())? = nil) {
    |   `- warning: 'public' modifier is redundant for instance method declared in a public extension
104 |     let request = makeRequest(method: "GET",
105 |                               path: "/bot/profile/\(userId)/content")
/Users/admin/builder/spi-builder-workspace/Sources/LineBot/LineBot.swift:114:3: warning: 'public' modifier is redundant for instance method declared in a public extension
112 | public extension LineBot {
113 |
114 |   public func getProfile(groupId: String, userId: String, completionHandler: ((Data?) -> ())? = nil) {
    |   `- warning: 'public' modifier is redundant for instance method declared in a public extension
115 |     let request = makeRequest(method: "GET",
116 |                               path: "/bot/group/\(groupId)/member/\(userId)")
/Users/admin/builder/spi-builder-workspace/Sources/LineBot/LineBot.swift:120:3: warning: 'public' modifier is redundant for instance method declared in a public extension
118 |   }
119 |
120 |   public func getMemberIds(groupId: String, continuationToken: String? = nil, completionHandler: ((Data?) -> ())? = nil) {
    |   `- warning: 'public' modifier is redundant for instance method declared in a public extension
121 |     var path = "/bot/group/\(groupId)/members/ids"
122 |     if let continuationToken = continuationToken {
/Users/admin/builder/spi-builder-workspace/Sources/LineBot/LineBot.swift:129:3: warning: 'public' modifier is redundant for instance method declared in a public extension
127 |   }
128 |
129 |   public func leave(groupId: String, completionHandler: ((Data?) -> ())? = nil) {
    |   `- warning: 'public' modifier is redundant for instance method declared in a public extension
130 |     let request = makeRequest(method: "POST",
131 |                               path: "/bot/group/\(groupId)/leave")
/Users/admin/builder/spi-builder-workspace/Sources/LineBot/LineBot.swift:140:3: warning: 'public' modifier is redundant for instance method declared in a public extension
138 | public extension LineBot {
139 |
140 |   public func getProfile(roomId: String, userId: String, completionHandler: ((Data?) -> ())? = nil) {
    |   `- warning: 'public' modifier is redundant for instance method declared in a public extension
141 |     let request = makeRequest(method: "GET",
142 |                               path: "/bot/room/\(roomId)/member/\(userId)")
/Users/admin/builder/spi-builder-workspace/Sources/LineBot/LineBot.swift:146:3: warning: 'public' modifier is redundant for instance method declared in a public extension
144 |   }
145 |
146 |   public func getMemberIds(roomId: String, continuationToken: String? = nil, completionHandler: ((Data?) -> ())? = nil) {
    |   `- warning: 'public' modifier is redundant for instance method declared in a public extension
147 |     var path = "/bot/room/\(roomId)/members/ids"
148 |     if let continuationToken = continuationToken {
/Users/admin/builder/spi-builder-workspace/Sources/LineBot/LineBot.swift:155:3: warning: 'public' modifier is redundant for instance method declared in a public extension
153 |   }
154 |
155 |   public func leave(roomId: String, completionHandler: ((Data?) -> ())? = nil) {
    |   `- warning: 'public' modifier is redundant for instance method declared in a public extension
156 |     let request = makeRequest(method: "POST",
157 |                               path: "/bot/room/\(roomId)/leave")
/Users/admin/builder/spi-builder-workspace/Sources/LineBot/LineBot.swift:165:3: warning: 'fileprivate' modifier is redundant for instance method declared in a fileprivate extension
163 | fileprivate extension URLSession {
164 |
165 |   fileprivate func sendRequest(request: URLRequest, completionHandler: ((Data?) -> ())? = nil) {
    |   `- warning: 'fileprivate' modifier is redundant for instance method declared in a fileprivate extension
166 |     let dataTask = self.dataTask(with: request) { data, response, error in
167 |       completionHandler?(data)
/Users/admin/builder/spi-builder-workspace/Sources/LineBot/LineBot.swift:167:7: warning: capture of 'completionHandler' with non-sendable type '((Data?) -> ())?' in a '@Sendable' closure
165 |   fileprivate func sendRequest(request: URLRequest, completionHandler: ((Data?) -> ())? = nil) {
166 |     let dataTask = self.dataTask(with: request) { data, response, error in
167 |       completionHandler?(data)
    |       |- warning: capture of 'completionHandler' with non-sendable type '((Data?) -> ())?' in a '@Sendable' closure
    |       `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
168 |     }
169 |     dataTask.resume()
[18/25] Compiling LineBot LineWebhook.swift
[19/25] Compiling LineBot LineMessage.swift
/Users/admin/builder/spi-builder-workspace/Sources/LineBot/LineMessage/LineMessage.swift:25:3: warning: 'internal' modifier is redundant for instance method declared in an internal extension
23 | internal extension LineMessage {
24 |
25 |   internal func toDict() -> [String: Any] {
   |   `- warning: 'internal' modifier is redundant for instance method declared in an internal extension
26 |     switch self {
27 |     case .text(let text):
[20/25] Compiling LineBot LineAction.swift
/Users/admin/builder/spi-builder-workspace/Sources/LineBot/LineMessage/LineAction.swift:29:3: warning: 'internal' modifier is redundant for instance method declared in an internal extension
27 | internal extension LineAction {
28 |
29 |   internal func toDict() -> [String: Any] {
   |   `- warning: 'internal' modifier is redundant for instance method declared in an internal extension
30 |     var dict = [String: Any]()
31 |     switch self {
[21/25] Compiling LineBot LineImagemapAction.swift
/Users/admin/builder/spi-builder-workspace/Sources/LineBot/LineMessage/LineImagemapAction.swift:19:3: warning: 'internal' modifier is redundant for instance method declared in an internal extension
17 | internal extension LineImagemapAction {
18 |
19 |   internal func toDict() -> [String: Any] {
   |   `- warning: 'internal' modifier is redundant for instance method declared in an internal extension
20 |     var dict = [String: Any]()
21 |     switch self {
[22/25] Compiling LineBot LineTemplate.swift
/Users/admin/builder/spi-builder-workspace/Sources/LineBot/LineMessage/LineTemplate.swift:129:3: warning: 'internal' modifier is redundant for instance method declared in an internal extension
127 | internal extension LineTemplate {
128 |
129 |   internal func toDict() -> [String: Any] {
    |   `- warning: 'internal' modifier is redundant for instance method declared in an internal extension
130 |     var dict = [String: Any]()
131 |     switch self {
[23/25] Compiling LineBot LineArea.swift
[24/25] Emitting module LineBot
/Users/admin/builder/spi-builder-workspace/Sources/LineBot/LineBot.swift:47:3: warning: 'public' modifier is redundant for instance method declared in a public extension
 45 | public extension LineBot {
 46 |
 47 |   public func reply(token: String, messages: [LineMessage], completionHandler: ((Data?) -> ())? = nil) {
    |   `- warning: 'public' modifier is redundant for instance method declared in a public extension
 48 |     let body: [String: Any] = [
 49 |       "replyToken": token,
/Users/admin/builder/spi-builder-workspace/Sources/LineBot/LineBot.swift:58:3: warning: 'public' modifier is redundant for instance method declared in a public extension
 56 |   }
 57 |
 58 |   public func push(userId: String, messages: [LineMessage], completionHandler: ((Data?) -> ())? = nil) {
    |   `- warning: 'public' modifier is redundant for instance method declared in a public extension
 59 |     let body: [String: Any] = [
 60 |       "to": userId,
/Users/admin/builder/spi-builder-workspace/Sources/LineBot/LineBot.swift:69:3: warning: 'public' modifier is redundant for instance method declared in a public extension
 67 |   }
 68 |
 69 |   public func multicast(to: [String], messages: [LineMessage], completionHandler: ((Data?) -> ())? = nil) {
    |   `- warning: 'public' modifier is redundant for instance method declared in a public extension
 70 |     let body: [String: Any] = [
 71 |       "to": to,
/Users/admin/builder/spi-builder-workspace/Sources/LineBot/LineBot.swift:80:3: warning: 'public' modifier is redundant for instance method declared in a public extension
 78 |   }
 79 |
 80 |   public func getMessageContent(identifier: String, completionHandler: ((Data?) -> ())? = nil) {
    |   `- warning: 'public' modifier is redundant for instance method declared in a public extension
 81 |     let request = makeRequest(method: "GET",
 82 |                               path: "/bot/message/\(identifier)/content")
/Users/admin/builder/spi-builder-workspace/Sources/LineBot/LineBot.swift:103:3: warning: 'public' modifier is redundant for instance method declared in a public extension
101 | public extension LineBot {
102 |
103 |   public func getProfile(userId: String, completionHandler: ((Data?) -> ())? = nil) {
    |   `- warning: 'public' modifier is redundant for instance method declared in a public extension
104 |     let request = makeRequest(method: "GET",
105 |                               path: "/bot/profile/\(userId)/content")
/Users/admin/builder/spi-builder-workspace/Sources/LineBot/LineBot.swift:114:3: warning: 'public' modifier is redundant for instance method declared in a public extension
112 | public extension LineBot {
113 |
114 |   public func getProfile(groupId: String, userId: String, completionHandler: ((Data?) -> ())? = nil) {
    |   `- warning: 'public' modifier is redundant for instance method declared in a public extension
115 |     let request = makeRequest(method: "GET",
116 |                               path: "/bot/group/\(groupId)/member/\(userId)")
/Users/admin/builder/spi-builder-workspace/Sources/LineBot/LineBot.swift:120:3: warning: 'public' modifier is redundant for instance method declared in a public extension
118 |   }
119 |
120 |   public func getMemberIds(groupId: String, continuationToken: String? = nil, completionHandler: ((Data?) -> ())? = nil) {
    |   `- warning: 'public' modifier is redundant for instance method declared in a public extension
121 |     var path = "/bot/group/\(groupId)/members/ids"
122 |     if let continuationToken = continuationToken {
/Users/admin/builder/spi-builder-workspace/Sources/LineBot/LineBot.swift:129:3: warning: 'public' modifier is redundant for instance method declared in a public extension
127 |   }
128 |
129 |   public func leave(groupId: String, completionHandler: ((Data?) -> ())? = nil) {
    |   `- warning: 'public' modifier is redundant for instance method declared in a public extension
130 |     let request = makeRequest(method: "POST",
131 |                               path: "/bot/group/\(groupId)/leave")
/Users/admin/builder/spi-builder-workspace/Sources/LineBot/LineBot.swift:140:3: warning: 'public' modifier is redundant for instance method declared in a public extension
138 | public extension LineBot {
139 |
140 |   public func getProfile(roomId: String, userId: String, completionHandler: ((Data?) -> ())? = nil) {
    |   `- warning: 'public' modifier is redundant for instance method declared in a public extension
141 |     let request = makeRequest(method: "GET",
142 |                               path: "/bot/room/\(roomId)/member/\(userId)")
/Users/admin/builder/spi-builder-workspace/Sources/LineBot/LineBot.swift:146:3: warning: 'public' modifier is redundant for instance method declared in a public extension
144 |   }
145 |
146 |   public func getMemberIds(roomId: String, continuationToken: String? = nil, completionHandler: ((Data?) -> ())? = nil) {
    |   `- warning: 'public' modifier is redundant for instance method declared in a public extension
147 |     var path = "/bot/room/\(roomId)/members/ids"
148 |     if let continuationToken = continuationToken {
/Users/admin/builder/spi-builder-workspace/Sources/LineBot/LineBot.swift:155:3: warning: 'public' modifier is redundant for instance method declared in a public extension
153 |   }
154 |
155 |   public func leave(roomId: String, completionHandler: ((Data?) -> ())? = nil) {
    |   `- warning: 'public' modifier is redundant for instance method declared in a public extension
156 |     let request = makeRequest(method: "POST",
157 |                               path: "/bot/room/\(roomId)/leave")
/Users/admin/builder/spi-builder-workspace/Sources/LineBot/LineBot.swift:165:3: warning: 'fileprivate' modifier is redundant for instance method declared in a fileprivate extension
163 | fileprivate extension URLSession {
164 |
165 |   fileprivate func sendRequest(request: URLRequest, completionHandler: ((Data?) -> ())? = nil) {
    |   `- warning: 'fileprivate' modifier is redundant for instance method declared in a fileprivate extension
166 |     let dataTask = self.dataTask(with: request) { data, response, error in
167 |       completionHandler?(data)
/Users/admin/builder/spi-builder-workspace/Sources/LineBot/LineMessage/LineAction.swift:29:3: warning: 'internal' modifier is redundant for instance method declared in an internal extension
27 | internal extension LineAction {
28 |
29 |   internal func toDict() -> [String: Any] {
   |   `- warning: 'internal' modifier is redundant for instance method declared in an internal extension
30 |     var dict = [String: Any]()
31 |     switch self {
/Users/admin/builder/spi-builder-workspace/Sources/LineBot/LineMessage/LineImagemapAction.swift:19:3: warning: 'internal' modifier is redundant for instance method declared in an internal extension
17 | internal extension LineImagemapAction {
18 |
19 |   internal func toDict() -> [String: Any] {
   |   `- warning: 'internal' modifier is redundant for instance method declared in an internal extension
20 |     var dict = [String: Any]()
21 |     switch self {
/Users/admin/builder/spi-builder-workspace/Sources/LineBot/LineMessage/LineMessage.swift:25:3: warning: 'internal' modifier is redundant for instance method declared in an internal extension
23 | internal extension LineMessage {
24 |
25 |   internal func toDict() -> [String: Any] {
   |   `- warning: 'internal' modifier is redundant for instance method declared in an internal extension
26 |     switch self {
27 |     case .text(let text):
/Users/admin/builder/spi-builder-workspace/Sources/LineBot/LineMessage/LineTemplate.swift:129:3: warning: 'internal' modifier is redundant for instance method declared in an internal extension
127 | internal extension LineTemplate {
128 |
129 |   internal func toDict() -> [String: Any] {
    |   `- warning: 'internal' modifier is redundant for instance method declared in an internal extension
130 |     var dict = [String: Any]()
131 |     switch self {
[25/25] Compiling LineBot LineEvent.swift
Build complete! (9.19s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "bluecryptor",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/IBM-Swift/BlueCryptor.git"
    }
  ],
  "manifest_display_name" : "LineBot",
  "name" : "LineBot",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "LineBot",
      "targets" : [
        "LineBot"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "LineBotTests",
      "module_type" : "SwiftTarget",
      "name" : "LineBotTests",
      "path" : "Tests/LineBotTests",
      "sources" : [
        "LineBotTests.swift",
        "LineEventTests/LineEventMessageTests.swift",
        "LineEventTests/LineWebhookTests.swift",
        "LineMessage/LineMessageTests.swift"
      ],
      "target_dependencies" : [
        "LineBot"
      ],
      "type" : "test"
    },
    {
      "c99name" : "LineBot",
      "module_type" : "SwiftTarget",
      "name" : "LineBot",
      "path" : "Sources/LineBot",
      "product_dependencies" : [
        "Cryptor"
      ],
      "product_memberships" : [
        "LineBot"
      ],
      "sources" : [
        "LineBot.swift",
        "LineEvent/LineEvent.swift",
        "LineEvent/LineEventMessage.swift",
        "LineEvent/LineWebhook.swift",
        "LineMessage/LineAction.swift",
        "LineMessage/LineArea.swift",
        "LineMessage/LineImagemapAction.swift",
        "LineMessage/LineMessage.swift",
        "LineMessage/LineTemplate.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "4.0"
}
Done.