1
- // swift-tools-version:5.4
1
+ // swift-tools-version:5.6
2
2
3
3
import PackageDescription
4
4
@@ -9,6 +9,8 @@ let package = Package(
9
9
. library( name: " AWSLambdaRuntime " , targets: [ " AWSLambdaRuntime " ] ) ,
10
10
// this has all the main functionality for lambda and it does not link Foundation
11
11
. 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 " ] ) ,
12
14
// for testing only
13
15
. library( name: " AWSLambdaTesting " , targets: [ " AWSLambdaTesting " ] ) ,
14
16
] ,
@@ -31,6 +33,15 @@ let package = Package(
31
33
. product( name: " NIOConcurrencyHelpers " , package : " swift-nio " ) ,
32
34
. product( name: " NIOPosix " , package : " swift-nio " ) ,
33
35
] ) ,
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
+ ) ,
34
45
. testTarget( name: " AWSLambdaRuntimeCoreTests " , dependencies: [
35
46
. byName( name: " AWSLambdaRuntimeCore " ) ,
36
47
. product( name: " NIOTestUtils " , package : " swift-nio " ) ,
@@ -47,7 +58,7 @@ let package = Package(
47
58
] ) ,
48
59
. testTarget( name: " AWSLambdaTestingTests " , dependencies: [ " AWSLambdaTesting " ] ) ,
49
60
// for perf testing
50
- . target ( name: " MockServer " , dependencies: [
61
+ . executableTarget ( name: " MockServer " , dependencies: [
51
62
. product( name: " NIOHTTP1 " , package : " swift-nio " ) ,
52
63
. product( name: " NIO " , package : " swift-nio " ) ,
53
64
] ) ,
0 commit comments