1- // swift-tools-version:5.7
1+ // swift-tools-version:5.9
22// The swift-tools-version declares the minimum version of Swift required to build this package.
33
44import PackageDescription
5+ import CompilerPluginSupport
56
67let package = Package (
78 name: " GoodExtensions " ,
89 platforms: [
10+ . macOS( . v12) ,
911 . iOS( . v13)
1012 ] ,
1113 products: [
@@ -22,10 +24,15 @@ let package = Package(
2224 name: " GoodCombineExtensions " ,
2325 targets: [ " GoodCombineExtensions " ]
2426 ) ,
27+ . library(
28+ name: " GoodMacros " ,
29+ targets: [ " GoodMacros " ]
30+ )
2531 ] ,
2632 dependencies: [
2733 // Dependencies declare other packages that this package depends on.
28- . package ( url: " https://github.com/CombineCommunity/CombineExt.git " , from: " 1.0.0 " )
34+ . package ( url: " https://github.com/CombineCommunity/CombineExt.git " , from: " 1.0.0 " ) ,
35+ . package ( url: " https://github.com/apple/swift-syntax.git " , from: " 509.0.2 " )
2936 ] ,
3037 targets: [
3138 // Targets are the basic building blocks of a package. A target can define a module or a test suite.
@@ -50,6 +57,19 @@ let package = Package(
5057 dependencies: [ ] ,
5158 path: " ./Sources/GoodStructs "
5259 ) ,
60+ . target(
61+ name: " GoodMacros " ,
62+ dependencies: [ " MacroCollection " ] ,
63+ path: " ./Sources/GoodMacros "
64+ ) ,
65+ . macro(
66+ name: " MacroCollection " ,
67+ dependencies: [
68+ . product( name: " SwiftSyntaxMacros " , package : " swift-syntax " ) ,
69+ . product( name: " SwiftCompilerPlugin " , package : " swift-syntax " )
70+ ] ,
71+ path: " ./Sources/MacroCollection "
72+ ) ,
5373 . testTarget(
5474 name: " GoodExtensionsTests " ,
5575 dependencies: [ " GoodExtensions " ] ,
0 commit comments