Skip to content

Commit 0a8babc

Browse files
committed
feat(serialization): Add graalvm metadata. Move metadata for tests to test package.
1 parent 984036c commit 0a8babc

File tree

6 files changed

+119
-110
lines changed

6 files changed

+119
-110
lines changed

powertools-serialization/pom.xml

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,26 @@
7070
<scope>test</scope>
7171
</dependency>
7272
</dependencies>
73+
74+
<build>
75+
<resources>
76+
<!-- GraalVM Native Image Configuration Files -->
77+
<resource>
78+
<directory>src/main/resources</directory>
79+
</resource>
80+
</resources>
81+
<plugins>
82+
<plugin>
83+
<groupId>dev.aspectj</groupId>
84+
<artifactId>aspectj-maven-plugin</artifactId>
85+
<version>${aspectj-maven-plugin.version}</version>
86+
<configuration>
87+
<skip>true</skip>
88+
</configuration>
89+
</plugin>
90+
</plugins>
91+
</build>
92+
7393
<profiles>
7494
<profile>
7595
<id>generate-graalvm-files</id>
@@ -159,23 +179,5 @@
159179
</build>
160180
</profile>
161181
</profiles>
162-
<build>
163-
<resources>
164-
<!-- GraalVM Native Image Configuration Files -->
165-
<resource>
166-
<directory>src/main/resources</directory>
167-
</resource>
168-
</resources>
169-
<plugins>
170-
<plugin>
171-
<groupId>dev.aspectj</groupId>
172-
<artifactId>aspectj-maven-plugin</artifactId>
173-
<version>${aspectj-maven-plugin.version}</version>
174-
<configuration>
175-
<skip>true</skip>
176-
</configuration>
177-
</plugin>
178-
</plugins>
179-
</build>
180182

181183
</project>

powertools-serialization/src/main/resources/META-INF/native-image/software.amazon.lambda/powertools-serialization/jni-config.json

Lines changed: 0 additions & 18 deletions
This file was deleted.

powertools-serialization/src/main/resources/META-INF/native-image/software.amazon.lambda/powertools-serialization/reflect-config.json

Lines changed: 1 addition & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -309,7 +309,7 @@
309309
"allDeclaredFields":true,
310310
"queryAllDeclaredMethods":true,
311311
"queryAllDeclaredConstructors":true,
312-
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"setAttributes","parameterTypes":["java.util.Map"] }, {"name":"setAwsRegion","parameterTypes":["java.lang.String"] }, {"name":"setBody","parameterTypes":["java.lang.String"] }, {"name":"setEventSource","parameterTypes":["java.lang.String"] }, {"name":"setEventSourceArn","parameterTypes":["java.lang.String"] }, {"name":"setMd5OfBody","parameterTypes":["java.lang.String"] }, {"name":"setMessageAttributes","parameterTypes":["java.util.Map"] }, {"name":"setMessageId","parameterTypes":["java.lang.String"] }, {"name":"setReceiptHandle","parameterTypes":["java.lang.String"] }]
312+
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"setAttributes","parameterTypes":["java.util.Map"] }, {"name":"setAwsRegion","parameterTypes":["java.lang.String"] }, {"name":"setBody","parameterTypes":["java.lang.String"] }, {"name":"setEventSource","parameterTypes":["java.lang.String"] }, {"name":"setEventSourceArn","parameterTypes":["java.lang.String"] }, {"name":"setMd5OfBody","parameterTypes":["java.lang.String"] }, {"name":"setMd5OfMessageAttributes","parameterTypes":["java.lang.String"] },{"name":"setMessageAttributes","parameterTypes":["java.util.Map"] }, {"name":"setMessageId","parameterTypes":["java.lang.String"] }, {"name":"setReceiptHandle","parameterTypes":["java.lang.String"] }]
313313
},
314314
{
315315
"name":"com.amazonaws.services.lambda.runtime.events.ScheduledEvent",
@@ -423,48 +423,5 @@
423423
{
424424
"name":"org.joda.time.DateTime",
425425
"methods":[{"name":"parse","parameterTypes":["java.lang.String"] }]
426-
},
427-
{
428-
"name":"software.amazon.lambda.powertools.utilities.EventDeserializerTest",
429-
"allDeclaredFields":true,
430-
"allDeclaredClasses":true,
431-
"queryAllDeclaredMethods":true,
432-
"queryAllPublicMethods":true,
433-
"queryAllDeclaredConstructors":true,
434-
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"testDeserializeALBEventMessageAsObjectShouldReturnObject","parameterTypes":["com.amazonaws.services.lambda.runtime.events.ApplicationLoadBalancerRequestEvent"] }, {"name":"testDeserializeAMQEventMessageAsListShouldReturnList","parameterTypes":["com.amazonaws.services.lambda.runtime.events.ActiveMQEvent"] }, {"name":"testDeserializeAPIGWEventBodyAsObject_shouldReturnObject","parameterTypes":["com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent"] }, {"name":"testDeserializeAPIGatewayEventAsList_shouldThrowException","parameterTypes":["com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent"] }, {"name":"testDeserializeAPIGatewayMapEventAsList_shouldThrowException","parameterTypes":["java.util.Map"] }, {"name":"testDeserializeAPIGatewayNoBodyAsList_shouldThrowException","parameterTypes":[] }, {"name":"testDeserializeAPIGatewayNoBody_shouldThrowException","parameterTypes":["com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent"] }, {"name":"testDeserializeApiGWV2EventMessageAsObjectShouldReturnObject","parameterTypes":["com.amazonaws.services.lambda.runtime.events.APIGatewayV2HTTPEvent"] }, {"name":"testDeserializeCWLEventMessageAsObjectShouldReturnObject","parameterTypes":["com.amazonaws.services.lambda.runtime.events.CloudWatchLogsEvent"] }, {"name":"testDeserializeCfcrEventMessageAsObjectShouldReturnObject","parameterTypes":["com.amazonaws.services.lambda.runtime.events.CloudFormationCustomResourceEvent"] }, {"name":"testDeserializeEmptyEventAsList_shouldThrowException","parameterTypes":[] }, {"name":"testDeserializeKFEventMessageAsListShouldReturnList","parameterTypes":["com.amazonaws.services.lambda.runtime.events.KinesisFirehoseEvent"] }, {"name":"testDeserializeKafipEventMessageAsListShouldReturnList","parameterTypes":["com.amazonaws.services.lambda.runtime.events.KinesisAnalyticsFirehoseInputPreprocessingEvent"] }, {"name":"testDeserializeKafkaEventMessageAsList_shouldReturnList","parameterTypes":["com.amazonaws.services.lambda.runtime.events.KafkaEvent"] }, {"name":"testDeserializeKasipEventMessageAsListShouldReturnList","parameterTypes":["com.amazonaws.services.lambda.runtime.events.KinesisAnalyticsStreamsInputPreprocessingEvent"] }, {"name":"testDeserializeKinesisEventMessageAsList_shouldReturnList","parameterTypes":["com.amazonaws.services.lambda.runtime.events.KinesisEvent"] }, {"name":"testDeserializeMapAsObject_shouldReturnObject","parameterTypes":[] }, {"name":"testDeserializeProductAsProduct_shouldReturnProduct","parameterTypes":[] }, {"name":"testDeserializeRabbitMQEventMessageAsListShouldReturnList","parameterTypes":["com.amazonaws.services.lambda.runtime.events.RabbitMQEvent"] }, {"name":"testDeserializeSNSEventMessageAsObject_shouldReturnObject","parameterTypes":["com.amazonaws.services.lambda.runtime.events.SNSEvent"] }, {"name":"testDeserializeSQSEventMessageAsList_shouldReturnList","parameterTypes":["com.amazonaws.services.lambda.runtime.events.SQSEvent"] }, {"name":"testDeserializeSQSEventMessageAsObject_shouldThrowException","parameterTypes":["com.amazonaws.services.lambda.runtime.events.SQSEvent"] }, {"name":"testDeserializeSQSEventNoBody_shouldThrowException","parameterTypes":["com.amazonaws.services.lambda.runtime.events.SQSEvent"] }, {"name":"testDeserializeScheduledEventMessageAsObject_shouldReturnObject","parameterTypes":["com.amazonaws.services.lambda.runtime.events.ScheduledEvent"] }, {"name":"testDeserializeStringArrayAsList_shouldReturnList","parameterTypes":[] }, {"name":"testDeserializeStringAsList_shouldThrowException","parameterTypes":[] }, {"name":"testDeserializeStringAsObject_shouldReturnObject","parameterTypes":[] }, {"name":"testDeserializeStringAsString_shouldReturnString","parameterTypes":[] }]
435-
},
436-
{
437-
"name":"software.amazon.lambda.powertools.utilities.jmespath.Base64FunctionTest",
438-
"allDeclaredFields":true,
439-
"allDeclaredClasses":true,
440-
"queryAllDeclaredMethods":true,
441-
"queryAllPublicMethods":true,
442-
"queryAllDeclaredConstructors":true,
443-
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"testPowertoolsBase64","parameterTypes":[] }]
444-
},
445-
{
446-
"name":"software.amazon.lambda.powertools.utilities.jmespath.Base64GZipFunctionTest",
447-
"allDeclaredFields":true,
448-
"allDeclaredClasses":true,
449-
"queryAllDeclaredMethods":true,
450-
"queryAllPublicMethods":true,
451-
"queryAllDeclaredConstructors":true,
452-
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"testBase64GzipDecompressNull","parameterTypes":[] }, {"name":"testConstructor","parameterTypes":[] }, {"name":"testPowertoolsGzip","parameterTypes":[] }, {"name":"testPowertoolsGzipEmptyJsonAttribute","parameterTypes":[] }, {"name":"testPowertoolsGzipNotCompressedJsonAttribute","parameterTypes":[] }, {"name":"testPowertoolsGzipWrongArgumentType","parameterTypes":[] }]
453-
},
454-
{
455-
"name":"software.amazon.lambda.powertools.utilities.jmespath.JsonFunctionTest",
456-
"allDeclaredFields":true,
457-
"allDeclaredClasses":true,
458-
"queryAllDeclaredMethods":true,
459-
"queryAllPublicMethods":true,
460-
"queryAllDeclaredConstructors":true,
461-
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"testJsonFunction","parameterTypes":[] }, {"name":"testJsonFunctionChild","parameterTypes":[] }]
462-
},
463-
{
464-
"name":"software.amazon.lambda.powertools.utilities.model.Product",
465-
"allDeclaredFields":true,
466-
"queryAllDeclaredMethods":true,
467-
"queryAllDeclaredConstructors":true,
468-
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"setId","parameterTypes":["long"] }, {"name":"setName","parameterTypes":["java.lang.String"] }, {"name":"setPrice","parameterTypes":["double"] }]
469426
}
470427
]

powertools-serialization/src/main/resources/META-INF/native-image/software.amazon.lambda/powertools-serialization/resource-config.json

Lines changed: 2 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -6,36 +6,10 @@
66
"pattern":"\\QMETA-INF/services/java.time.zone.ZoneRulesProvider\\E"
77
}, {
88
"pattern":"\\QMETA-INF/services/org.apache.maven.surefire.spi.MasterProcessChannelProcessorFactory\\E"
9-
}, {
10-
"pattern":"\\QMETA-INF/services/org.assertj.core.configuration.Configuration\\E"
11-
}, {
12-
"pattern":"\\QMETA-INF/services/org.assertj.core.presentation.Representation\\E"
13-
}, {
14-
"pattern":"\\QMETA-INF/services/org.junit.platform.engine.TestEngine\\E"
15-
}, {
16-
"pattern":"\\QMETA-INF/services/org.junit.platform.launcher.LauncherDiscoveryListener\\E"
17-
}, {
18-
"pattern":"\\QMETA-INF/services/org.junit.platform.launcher.LauncherSessionListener\\E"
19-
}, {
20-
"pattern":"\\QMETA-INF/services/org.junit.platform.launcher.PostDiscoveryFilter\\E"
21-
}, {
22-
"pattern":"\\QMETA-INF/services/org.junit.platform.launcher.TestExecutionListener\\E"
239
}, {
2410
"pattern":"\\QMETA-INF/services/org.slf4j.spi.SLF4JServiceProvider\\E"
2511
}, {
26-
"pattern":"\\Qalb_event.json\\E"
27-
}, {
28-
"pattern":"\\Qamq_event.json\\E"
29-
}, {
30-
"pattern":"\\Qapigw_event.json\\E"
31-
}, {
32-
"pattern":"\\Qapigw_event_no_body.json\\E"
33-
}, {
34-
"pattern":"\\Qapigwv2_event.json\\E"
35-
}, {
36-
"pattern":"\\Qcfcr_event.json\\E"
37-
}, {
38-
"pattern":"\\Qcom/amazonaws/lambda/thirdparty/org/joda/time/tz/data/Europe/Berlin\\E"
12+
"pattern":"\\Qcom/amazonaws/lambda/thirdparty/org/joda/time/tz/data/Europe/Amsterdam\\E"
3913
}, {
4014
"pattern":"\\Qcom/amazonaws/lambda/thirdparty/org/joda/time/tz/data/ZoneInfoMap\\E"
4115
}, {
@@ -75,11 +49,9 @@
7549
}, {
7650
"pattern":"\\Qcom/amazonaws/services/lambda/runtime/serialization/factories/sqs_event_no_body.json\\E"
7751
}, {
78-
"pattern":"\\Qorg/joda/time/tz/data/Europe/Berlin\\E"
52+
"pattern":"\\Qorg/joda/time/tz/data/Europe/Amsterdam\\E"
7953
}, {
8054
"pattern":"\\Qorg/joda/time/tz/data/ZoneInfoMap\\E"
81-
}, {
82-
"pattern":"\\Qorg/slf4j/impl/StaticLoggerBinder.class\\E"
8355
}]},
8456
"bundles":[]
8557
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
[
2+
{
3+
"name":"software.amazon.lambda.powertools.utilities.EventDeserializerTest",
4+
"allDeclaredFields":true,
5+
"allDeclaredClasses":true,
6+
"queryAllDeclaredMethods":true,
7+
"queryAllPublicMethods":true,
8+
"queryAllDeclaredConstructors":true,
9+
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"testDeserializeALBEventMessageAsObjectShouldReturnObject","parameterTypes":["com.amazonaws.services.lambda.runtime.events.ApplicationLoadBalancerRequestEvent"] }, {"name":"testDeserializeAMQEventMessageAsListShouldReturnList","parameterTypes":["com.amazonaws.services.lambda.runtime.events.ActiveMQEvent"] }, {"name":"testDeserializeAPIGWEventBodyAsObject_shouldReturnObject","parameterTypes":["com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent"] }, {"name":"testDeserializeAPIGatewayEventAsList_shouldThrowException","parameterTypes":["com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent"] }, {"name":"testDeserializeAPIGatewayMapEventAsList_shouldThrowException","parameterTypes":["java.util.Map"] }, {"name":"testDeserializeAPIGatewayNoBodyAsList_shouldThrowException","parameterTypes":[] }, {"name":"testDeserializeAPIGatewayNoBody_shouldThrowException","parameterTypes":["com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent"] }, {"name":"testDeserializeApiGWV2EventMessageAsObjectShouldReturnObject","parameterTypes":["com.amazonaws.services.lambda.runtime.events.APIGatewayV2HTTPEvent"] }, {"name":"testDeserializeCWLEventMessageAsObjectShouldReturnObject","parameterTypes":["com.amazonaws.services.lambda.runtime.events.CloudWatchLogsEvent"] }, {"name":"testDeserializeCfcrEventMessageAsObjectShouldReturnObject","parameterTypes":["com.amazonaws.services.lambda.runtime.events.CloudFormationCustomResourceEvent"] }, {"name":"testDeserializeEmptyEventAsList_shouldThrowException","parameterTypes":[] }, {"name":"testDeserializeKFEventMessageAsListShouldReturnList","parameterTypes":["com.amazonaws.services.lambda.runtime.events.KinesisFirehoseEvent"] }, {"name":"testDeserializeKafipEventMessageAsListShouldReturnList","parameterTypes":["com.amazonaws.services.lambda.runtime.events.KinesisAnalyticsFirehoseInputPreprocessingEvent"] }, {"name":"testDeserializeKafkaEventMessageAsList_shouldReturnList","parameterTypes":["com.amazonaws.services.lambda.runtime.events.KafkaEvent"] }, {"name":"testDeserializeKasipEventMessageAsListShouldReturnList","parameterTypes":["com.amazonaws.services.lambda.runtime.events.KinesisAnalyticsStreamsInputPreprocessingEvent"] }, {"name":"testDeserializeKinesisEventMessageAsList_shouldReturnList","parameterTypes":["com.amazonaws.services.lambda.runtime.events.KinesisEvent"] }, {"name":"testDeserializeMapAsObject_shouldReturnObject","parameterTypes":[] }, {"name":"testDeserializeProductAsProduct_shouldReturnProduct","parameterTypes":[] }, {"name":"testDeserializeRabbitMQEventMessageAsListShouldReturnList","parameterTypes":["com.amazonaws.services.lambda.runtime.events.RabbitMQEvent"] }, {"name":"testDeserializeSNSEventMessageAsObject_shouldReturnObject","parameterTypes":["com.amazonaws.services.lambda.runtime.events.SNSEvent"] }, {"name":"testDeserializeSQSEventMessageAsList_shouldReturnList","parameterTypes":["com.amazonaws.services.lambda.runtime.events.SQSEvent"] }, {"name":"testDeserializeSQSEventMessageAsObject_shouldThrowException","parameterTypes":["com.amazonaws.services.lambda.runtime.events.SQSEvent"] }, {"name":"testDeserializeSQSEventNoBody_shouldThrowException","parameterTypes":["com.amazonaws.services.lambda.runtime.events.SQSEvent"] }, {"name":"testDeserializeScheduledEventMessageAsObject_shouldReturnObject","parameterTypes":["com.amazonaws.services.lambda.runtime.events.ScheduledEvent"] }, {"name":"testDeserializeStringArrayAsList_shouldReturnList","parameterTypes":[] }, {"name":"testDeserializeStringAsList_shouldThrowException","parameterTypes":[] }, {"name":"testDeserializeStringAsObject_shouldReturnObject","parameterTypes":[] }, {"name":"testDeserializeStringAsString_shouldReturnString","parameterTypes":[] }]
10+
},
11+
{
12+
"name":"software.amazon.lambda.powertools.utilities.jmespath.Base64FunctionTest",
13+
"allDeclaredFields":true,
14+
"allDeclaredClasses":true,
15+
"queryAllDeclaredMethods":true,
16+
"queryAllPublicMethods":true,
17+
"queryAllDeclaredConstructors":true,
18+
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"testPowertoolsBase64","parameterTypes":[] }]
19+
},
20+
{
21+
"name":"software.amazon.lambda.powertools.utilities.jmespath.Base64GZipFunctionTest",
22+
"allDeclaredFields":true,
23+
"allDeclaredClasses":true,
24+
"queryAllDeclaredMethods":true,
25+
"queryAllPublicMethods":true,
26+
"queryAllDeclaredConstructors":true,
27+
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"testBase64GzipDecompressNull","parameterTypes":[] }, {"name":"testConstructor","parameterTypes":[] }, {"name":"testPowertoolsGzip","parameterTypes":[] }, {"name":"testPowertoolsGzipEmptyJsonAttribute","parameterTypes":[] }, {"name":"testPowertoolsGzipNotCompressedJsonAttribute","parameterTypes":[] }, {"name":"testPowertoolsGzipWrongArgumentType","parameterTypes":[] }]
28+
},
29+
{
30+
"name":"software.amazon.lambda.powertools.utilities.jmespath.JsonFunctionTest",
31+
"allDeclaredFields":true,
32+
"allDeclaredClasses":true,
33+
"queryAllDeclaredMethods":true,
34+
"queryAllPublicMethods":true,
35+
"queryAllDeclaredConstructors":true,
36+
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"testJsonFunction","parameterTypes":[] }, {"name":"testJsonFunctionChild","parameterTypes":[] }]
37+
},
38+
{
39+
"name":"software.amazon.lambda.powertools.utilities.model.Product",
40+
"allDeclaredFields":true,
41+
"queryAllDeclaredMethods":true,
42+
"queryAllDeclaredConstructors":true,
43+
"methods":[{"name":"<init>","parameterTypes":[] }, {"name":"setId","parameterTypes":["long"] }, {"name":"setName","parameterTypes":["java.lang.String"] }, {"name":"setPrice","parameterTypes":["double"] }]
44+
}
45+
]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
{
2+
"resources":{
3+
"includes":[{
4+
"pattern":"\\Qalb_event.json\\E"
5+
}, {
6+
"pattern":"\\Qamq_event.json\\E"
7+
}, {
8+
"pattern":"\\Qapigw_event.json\\E"
9+
}, {
10+
"pattern":"\\Qapigw_event_no_body.json\\E"
11+
}, {
12+
"pattern":"\\Qapigwv2_event.json\\E"
13+
}, {
14+
"pattern":"\\Qcfcr_event.json\\E"
15+
}, {
16+
"pattern":"\\Qcustom_event.json\\E"
17+
}, {
18+
"pattern":"\\Qcustom_event_gzip.json\\E"
19+
}, {
20+
"pattern":"\\Qcustom_event_json.json\\E"
21+
}, {
22+
"pattern":"\\Qcustom_event_map.json\\E"
23+
}, {
24+
"pattern":"\\Qcwl_event.json\\E"
25+
}, {
26+
"pattern":"\\Qjunit-platform.properties\\E"
27+
}, {
28+
"pattern":"\\Qkafip_event.json\\E"
29+
}, {
30+
"pattern":"\\Qkafka_event.json\\E"
31+
}, {
32+
"pattern":"\\Qkasip_event.json\\E"
33+
}, {
34+
"pattern":"\\Qkf_event.json\\E"
35+
}, {
36+
"pattern":"\\Qkinesis_event.json\\E"
37+
}, {
38+
"pattern":"\\Qrabbitmq_event.json\\E"
39+
}, {
40+
"pattern":"\\Qscheduled_event.json\\E"
41+
}, {
42+
"pattern":"\\Qsimplelogger.properties\\E"
43+
}, {
44+
"pattern":"\\Qsns_event.json\\E"
45+
}, {
46+
"pattern":"\\Qsqs_event.json\\E"
47+
}, {
48+
"pattern":"\\Qsqs_event_no_body.json\\E"
49+
}]},
50+
"bundles":[]
51+
}

0 commit comments

Comments
 (0)