at main 2.6 kB view raw
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 .executable( 28 name: "PterodactylLanguageServer", 29 targets: ["PterodactylLanguageServer"] 30 ) 31 ], 32 dependencies: [ 33 .package(url: "https://github.com/ChimeHQ/LanguageServer", branch: "main"), 34 .package(url: "https://github.com/ChimeHQ/LanguageServerProtocol", branch: "main"), 35 .package(url: "https://github.com/apple/swift-llbuild2.git", branch: "main"), 36 .package(url: "https://github.com/apple/swift-algorithms", from: "1.2.0"), 37 .package(url: "https://github.com/apple/swift-log", from: "1.6.0") 38 ], 39 targets: [ 40 // Targets are the basic building blocks of a package, defining a module or a test suite. 41 // Targets can depend on other targets in this package and products from dependencies. 42 .target( 43 name: "PterodactylKernel", 44 ), 45 .target( 46 name: "PterodactylSyntax", 47 dependencies: [ 48 .product(name: "Algorithms", package: "swift-algorithms"), 49 "LanguageServerProtocol" 50 ] 51 ), 52 .target( 53 name: "PterodactylBuild", 54 dependencies: [ 55 "PterodactylSyntax", 56 .product(name: "llbuild2fx", package: "swift-llbuild2") 57 ] 58 ), 59 .executableTarget( 60 name: "PterodactylLanguageServer", 61 dependencies: [ 62 "LanguageServer", 63 .product(name: "llbuild2fx", package: "swift-llbuild2"), 64 .product(name: "Logging", package: "swift-log"), 65 "PterodactylBuild", 66 "PterodactylSyntax" 67 ] 68 ), 69 .testTarget( 70 name: "PterodactylBuildTests", 71 dependencies: [ 72 "PterodactylBuild", 73 "PterodactylSyntax", 74 .product(name: "llbuild2fx", package: "swift-llbuild2") 75 ] 76 ), 77 .testTarget( 78 name: "PterodactylLanguageServerTests", 79 dependencies: [ 80 "PterodactylBuild", 81 "PterodactylSyntax", 82 "PterodactylLanguageServer", 83 .product(name: "llbuild2fx", package: "swift-llbuild2") 84 ] 85 ), 86 .testTarget( 87 name: "PterodactylKernelTests", 88 dependencies: ["PterodactylKernel"] 89 ) 90 ] 91)