From 4285e0a90dec0d916aa3ea6c480a5bb76a8f8b58 Mon Sep 17 00:00:00 2001
From: Alexander Smirnov <75367056+smirnoal@users.noreply.github.com>
Date: Fri, 13 Jan 2023 15:39:02 +0000
Subject: [PATCH 1/5] install buildx from docker/buildx-bin:latest
---
.../codebuild-local/Dockerfile.agent | 22 +++++++------------
.../scripts/configure_multi_arch_env.sh | 12 ++--------
2 files changed, 10 insertions(+), 24 deletions(-)
diff --git a/aws-lambda-java-runtime-interface-client/test/integration/codebuild-local/Dockerfile.agent b/aws-lambda-java-runtime-interface-client/test/integration/codebuild-local/Dockerfile.agent
index 9b31c16b..3dbdb3c6 100644
--- a/aws-lambda-java-runtime-interface-client/test/integration/codebuild-local/Dockerfile.agent
+++ b/aws-lambda-java-runtime-interface-client/test/integration/codebuild-local/Dockerfile.agent
@@ -1,20 +1,14 @@
FROM public.ecr.aws/amazoncorretto/amazoncorretto:8
-ARG ARCHITECTURE="amd64"
-
-ENV DOCKER_CLI_PLUGIN_DIR="/root/.docker/cli-plugins"
-ENV PATH="$PATH:/tmp/apache-maven-3.8.7/bin"
-
+# Install docker and buildx extension
RUN amazon-linux-extras enable docker && \
yum clean metadata && \
- yum install -y docker tar gzip unzip file wget
+ yum install -y docker tar gzip unzip file
-RUN mkdir -p "${DOCKER_CLI_PLUGIN_DIR}"
-RUN wget \
- "$(curl https://api.github.com/repos/docker/buildx/releases/latest | grep browser_download_url | grep "linux-${ARCHITECTURE}" | cut -d '"' -f 4)" \
- -O "${DOCKER_CLI_PLUGIN_DIR}"/docker-buildx
-RUN chmod +x "${DOCKER_CLI_PLUGIN_DIR}"/docker-buildx
+COPY --from=docker/buildx-bin:latest /buildx /usr/libexec/docker/cli-plugins/docker-buildx
-WORKDIR /tmp
-RUN curl -O https://archive.apache.org/dist/maven/maven-3/3.8.7/binaries/apache-maven-3.8.7-bin.tar.gz && \
- tar xf apache-maven-3.8.7-bin.tar.gz
\ No newline at end of file
+# Install maven from apache.org, as version in the yum repository doesn't support latest maven plugins
+ENV PATH="$PATH:/apache-maven/bin"
+RUN mkdir /apache-maven && \
+ curl https://archive.apache.org/dist/maven/maven-3/3.8.7/binaries/apache-maven-3.8.7-bin.tar.gz | \
+ tar -xz -C /apache-maven --strip-components 1
\ No newline at end of file
diff --git a/aws-lambda-java-runtime-interface-client/test/integration/codebuild/scripts/configure_multi_arch_env.sh b/aws-lambda-java-runtime-interface-client/test/integration/codebuild/scripts/configure_multi_arch_env.sh
index c4554805..76153f18 100755
--- a/aws-lambda-java-runtime-interface-client/test/integration/codebuild/scripts/configure_multi_arch_env.sh
+++ b/aws-lambda-java-runtime-interface-client/test/integration/codebuild/scripts/configure_multi_arch_env.sh
@@ -6,25 +6,17 @@ set -euo pipefail
echo "Setting up multi-arch build environment"
ARCHITECTURE=$(arch)
if [[ "$ARCHITECTURE" == "x86_64" ]]; then
- ARCHITECTURE_ALIAS="amd64"
TARGET_EMULATOR="arm64"
elif [[ "$ARCHITECTURE" == "aarch64" ]]; then
- ARCHITECTURE_ALIAS="arm64"
TARGET_EMULATOR="amd64"
else
echo "Architecture $ARCHITECTURE is not currently supported."
exit 1
fi
+
echo "Installing ${TARGET_EMULATOR} emulator"
docker pull public.ecr.aws/eks-distro-build-tooling/binfmt-misc:qemu-v6.1.0
docker run --rm --privileged public.ecr.aws/eks-distro-build-tooling/binfmt-misc:qemu-v6.1.0 --install ${TARGET_EMULATOR}
-# Install buildx plugin only if not already present (i.e. it's installed for the local-agent)
-if [[ ! -f "${DOCKER_CLI_PLUGIN_DIR}/docker-buildx" ]]; then
- echo "docker-buildx not found, installing now"
- mkdir -p "${DOCKER_CLI_PLUGIN_DIR}"
- BUILDX_URL=$(curl https://api.github.com/repos/docker/buildx/releases/latest | grep browser_download_url | grep "linux-${ARCHITECTURE_ALIAS}" | cut -d '"' -f 4)
- wget "${BUILDX_URL}" -O "${DOCKER_CLI_PLUGIN_DIR}"/docker-buildx
- chmod +x "${DOCKER_CLI_PLUGIN_DIR}"/docker-buildx
-fi
echo "Setting docker build command to default to buildx"
+echo "Docker buildx version: $(docker buildx version)"
docker buildx install
From c75c9dff9388ec5da47f227e1889e4e02d34f7b0 Mon Sep 17 00:00:00 2001
From: Andrea Culot <95755271+andclt@users.noreply.github.com>
Date: Thu, 9 Feb 2023 09:42:05 +0000
Subject: [PATCH 2/5] 1.0.2 lambda-java-serialization release (#9)
* Update gson to 2.10.1
---
aws-lambda-java-serialization/RELEASE.CHANGELOG.md | 4 ++++
aws-lambda-java-serialization/pom.xml | 4 ++--
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/aws-lambda-java-serialization/RELEASE.CHANGELOG.md b/aws-lambda-java-serialization/RELEASE.CHANGELOG.md
index 76400917..f188ae7c 100644
--- a/aws-lambda-java-serialization/RELEASE.CHANGELOG.md
+++ b/aws-lambda-java-serialization/RELEASE.CHANGELOG.md
@@ -1,3 +1,7 @@
+### February 09, 2023
+`1.0.2`:
+- Updated `gson` dependency from 2.8.9 to 2.10.1
+
### November 21, 2022
`1.0.1`:
- Updated `jackson-databind` dependency from 2.12.6.1 to 2.13.4.1
diff --git a/aws-lambda-java-serialization/pom.xml b/aws-lambda-java-serialization/pom.xml
index 468bf1a2..75c1ffef 100644
--- a/aws-lambda-java-serialization/pom.xml
+++ b/aws-lambda-java-serialization/pom.xml
@@ -4,7 +4,7 @@
com.amazonaws
aws-lambda-java-serialization
- 1.0.1
+ 1.0.2
jar
AWS Lambda Java Runtime Serialization
@@ -46,7 +46,7 @@
com.google.code.gson
gson
- 2.8.9
+ 2.10.1
org.json
From 232eb6b99709478ad68538cd122acf570a3e4ba4 Mon Sep 17 00:00:00 2001
From: Andrea Culot
Date: Thu, 9 Feb 2023 18:10:01 +0000
Subject: [PATCH 3/5] Consume aws-lambda-java-serialization 1.0.2 version
---
aws-lambda-java-runtime-interface-client/pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/aws-lambda-java-runtime-interface-client/pom.xml b/aws-lambda-java-runtime-interface-client/pom.xml
index 48a16dfe..5c680d65 100644
--- a/aws-lambda-java-runtime-interface-client/pom.xml
+++ b/aws-lambda-java-runtime-interface-client/pom.xml
@@ -56,7 +56,7 @@
com.amazonaws
aws-lambda-java-serialization
- 1.0.0
+ 1.0.2
From 3d6fb0ebbcfbfab5a45449d1a1c2a412c87dae80 Mon Sep 17 00:00:00 2001
From: Andrea Culot <95755271+andclt@users.noreply.github.com>
Date: Mon, 20 Feb 2023 18:58:57 +0000
Subject: [PATCH 4/5] Add ServiceLoader logic to load custom serializers (#10)
* Add ServiceLoader logic to load custom serializers
* 1.1.0 lambda-java-serialization release
---
.../pom.xml | 4 +-
.../api/client/EventHandlerLoader.java | 5 +
.../api/client/PojoSerializerLoader.java | 77 ++++++++++
.../client/SerializersNotFoundException.java | 21 +++
...TooManyServiceProvidersFoundException.java | 21 +++
aws-lambda-java-serialization/pom.xml | 18 ++-
.../factories/JacksonFactory.java | 137 ++++++++++--------
7 files changed, 218 insertions(+), 65 deletions(-)
create mode 100644 aws-lambda-java-runtime-interface-client/src/main/java/com/amazonaws/services/lambda/runtime/api/client/PojoSerializerLoader.java
create mode 100644 aws-lambda-java-runtime-interface-client/src/main/java/com/amazonaws/services/lambda/runtime/api/client/SerializersNotFoundException.java
create mode 100644 aws-lambda-java-runtime-interface-client/src/main/java/com/amazonaws/services/lambda/runtime/api/client/TooManyServiceProvidersFoundException.java
diff --git a/aws-lambda-java-runtime-interface-client/pom.xml b/aws-lambda-java-runtime-interface-client/pom.xml
index 5c680d65..7e87d099 100644
--- a/aws-lambda-java-runtime-interface-client/pom.xml
+++ b/aws-lambda-java-runtime-interface-client/pom.xml
@@ -51,12 +51,12 @@
com.amazonaws
aws-lambda-java-core
- 1.2.1
+ 1.2.2
com.amazonaws
aws-lambda-java-serialization
- 1.0.2
+ 1.1.0
diff --git a/aws-lambda-java-runtime-interface-client/src/main/java/com/amazonaws/services/lambda/runtime/api/client/EventHandlerLoader.java b/aws-lambda-java-runtime-interface-client/src/main/java/com/amazonaws/services/lambda/runtime/api/client/EventHandlerLoader.java
index fc16d43f..65b95fcb 100644
--- a/aws-lambda-java-runtime-interface-client/src/main/java/com/amazonaws/services/lambda/runtime/api/client/EventHandlerLoader.java
+++ b/aws-lambda-java-runtime-interface-client/src/main/java/com/amazonaws/services/lambda/runtime/api/client/EventHandlerLoader.java
@@ -69,6 +69,11 @@ private EventHandlerLoader() { }
*/
@SuppressWarnings({"unchecked", "rawtypes"})
private static PojoSerializer