Package@swift-5.10.swift 2.9 KB

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