1// SPDX-FileCopyrightText: 2025 The Project Pterodactyl Developers 2// 3// SPDX-License-Identifier: MPL-2.0 4 5// swift-tools-version: 6.2 6// The swift-tools-version declares the minimum version of Swift required to build this package. 7 8import PackageDescription 9 10let package = Package( 11 name: "Pterodactyl", 12 platforms: [.macOS(.v15)], 13 products: [ 14 // Products define the executables and libraries a package produces, making them visible to other packages. 15 .library( 16 name: "PterodactylKernel", 17 targets: ["PterodactylKernel"] 18 ), 19 .library( 20 name: "PterodactylSyntax", 21 targets: ["PterodactylSyntax"] 22 ), 23 .library( 24 name: "PterodactylBuild", 25 targets: ["PterodactylBuild"] 26 ) 27 ], 28 dependencies: [ 29 // .package(url: "https://github.com/ChimeHQ/LanguageServer", branch: "main"), 30 .package(url: "https://github.com/ChimeHQ/LanguageServerProtocol", branch: "main"), 31 .package(url: "https://github.com/apple/swift-llbuild2.git", branch: "main"), 32 .package(url: "https://github.com/apple/swift-algorithms", from: "1.2.0") 33 ], 34 targets: [ 35 // Targets are the basic building blocks of a package, defining a module or a test suite. 36 // Targets can depend on other targets in this package and products from dependencies. 37 .target( 38 name: "PterodactylKernel", 39 ), 40 .target( 41 name: "PterodactylSyntax", 42 dependencies: [ 43 .product(name: "Algorithms", package: "swift-algorithms"), 44 "LanguageServerProtocol" 45 ] 46 ), 47 .target( 48 name: "PterodactylBuild", 49 dependencies: [ 50 "PterodactylSyntax", 51 .product(name: "llbuild2fx", package: "swift-llbuild2") 52 ] 53 ), 54 .testTarget( 55 name: "PterodactylBuildTests", 56 dependencies: [ 57 "PterodactylBuild", 58 "PterodactylSyntax", 59 .product(name: "llbuild2fx", package: "swift-llbuild2") 60 ] 61 ), 62 .testTarget( 63 name: "PterodactylKernelTests", 64 dependencies: ["PterodactylKernel"] 65 ) 66 ] 67)