1- // swift-tools-version:5.4
1+ // swift-tools-version:5.6
22
33import PackageDescription
44
@@ -9,6 +9,8 @@ let package = Package(
99 . library( name: " AWSLambdaRuntime " , targets: [ " AWSLambdaRuntime " ] ) ,
1010 // this has all the main functionality for lambda and it does not link Foundation
1111 . library( name: " AWSLambdaRuntimeCore " , targets: [ " AWSLambdaRuntimeCore " ] ) ,
12+ // plugin to package the lambda, creating an archive that can be uploaded to AWS
13+ . plugin( name: " AWSLambdaPackager " , targets: [ " AWSLambdaPackager " ] ) ,
1214 // for testing only
1315 . library( name: " AWSLambdaTesting " , targets: [ " AWSLambdaTesting " ] ) ,
1416 ] ,
@@ -31,6 +33,15 @@ let package = Package(
3133 . product( name: " NIOConcurrencyHelpers " , package : " swift-nio " ) ,
3234 . product( name: " NIOPosix " , package : " swift-nio " ) ,
3335 ] ) ,
36+ . plugin(
37+ name: " AWSLambdaPackager " ,
38+ capability: . command(
39+ intent: . custom(
40+ verb: " archive " ,
41+ description: " Archive the Lambda binary and prepare it for uploading to AWS. Requires docker on macOS. "
42+ )
43+ )
44+ ) ,
3445 . testTarget( name: " AWSLambdaRuntimeCoreTests " , dependencies: [
3546 . byName( name: " AWSLambdaRuntimeCore " ) ,
3647 . product( name: " NIOTestUtils " , package : " swift-nio " ) ,
@@ -47,7 +58,7 @@ let package = Package(
4758 ] ) ,
4859 . testTarget( name: " AWSLambdaTestingTests " , dependencies: [ " AWSLambdaTesting " ] ) ,
4960 // for perf testing
50- . target ( name: " MockServer " , dependencies: [
61+ . executableTarget ( name: " MockServer " , dependencies: [
5162 . product( name: " NIOHTTP1 " , package : " swift-nio " ) ,
5263 . product( name: " NIO " , package : " swift-nio " ) ,
5364 ] ) ,
0 commit comments