Package.swift 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. // swift-tools-version:6.1
  2. // The swift-tools-version declares the minimum version of Swift required to build this package.
  3. import PackageDescription
  4. let swiftSettings: Array<SwiftSetting> = [
  5. .swiftLanguageMode(.v6),
  6. .enableUpcomingFeature("ExistentialAny"),
  7. .enableUpcomingFeature("InternalImportsByDefault"),
  8. ]
  9. let package = Package(
  10. name: "CocoaLumberjack",
  11. platforms: [
  12. .macOS(.v10_13),
  13. .iOS(.v12),
  14. .tvOS(.v12),
  15. .watchOS(.v5),
  16. .visionOS(.v1),
  17. ],
  18. products: [
  19. // Products define the executables and libraries produced by a package, and make them visible to other packages.
  20. .library(
  21. name: "CocoaLumberjack",
  22. targets: ["CocoaLumberjack"]),
  23. .library(
  24. name: "CocoaLumberjackSwift",
  25. targets: ["CocoaLumberjackSwift"]),
  26. .library(
  27. name: "CocoaLumberjackSwiftLogBackend",
  28. targets: ["CocoaLumberjackSwiftLogBackend"]),
  29. ],
  30. dependencies: [
  31. .package(url: "https://github.com/apple/swift-log", from: "1.5.0"),
  32. ],
  33. targets: [
  34. // Targets are the basic building blocks of a package. A target can define a module or a test suite.
  35. // Targets can depend on other targets in this package, and on products in packages which this package depends on.
  36. .target(
  37. name: "CocoaLumberjack",
  38. exclude: ["Supporting Files"],
  39. resources: [
  40. .process("PrivacyInfo.xcprivacy"),
  41. ]),
  42. .target(
  43. name: "CocoaLumberjackSwiftSupport",
  44. dependencies: ["CocoaLumberjack"]),
  45. .target(
  46. name: "CocoaLumberjackSwift",
  47. dependencies: [
  48. "CocoaLumberjack",
  49. "CocoaLumberjackSwiftSupport",
  50. ],
  51. exclude: ["Supporting Files"],
  52. swiftSettings: swiftSettings),
  53. .target(
  54. name: "CocoaLumberjackSwiftLogBackend",
  55. dependencies: [
  56. "CocoaLumberjack",
  57. .product(name: "Logging", package: "swift-log"),
  58. ],
  59. swiftSettings: swiftSettings),
  60. .testTarget(
  61. name: "CocoaLumberjackTests",
  62. dependencies: ["CocoaLumberjack"]),
  63. .testTarget(
  64. name: "CocoaLumberjackSwiftTests",
  65. dependencies: ["CocoaLumberjackSwift"],
  66. swiftSettings: swiftSettings),
  67. .testTarget(
  68. name: "CocoaLumberjackSwiftLogBackendTests",
  69. dependencies: ["CocoaLumberjackSwiftLogBackend"],
  70. swiftSettings: swiftSettings),
  71. ]
  72. )