1
+ #! /bin/bash
2
+ set -euo pipefail
3
+
4
+ SCRIPT_DIR=" $( cd " $( dirname " ${BASH_SOURCE[0]} " ) " && pwd) "
5
+ PROJECT_ROOT=" $( dirname " $SCRIPT_DIR " ) "
6
+ SERIALIZATION_ROOT=" $( dirname " $PROJECT_ROOT " ) /aws-lambda-java-serialization"
7
+
8
+ if ! ls " $PROJECT_ROOT " /target/aws-lambda-java-runtime-interface-client-* .jar > /dev/null 2>&1 ; then
9
+ echo " RIC jar not found. Please build the project first with 'mvn package'."
10
+ exit 1
11
+ fi
12
+
13
+ IMAGE_TAG=" java-ric-rie-test"
14
+
15
+ HANDLER=" ${1:- EchoHandler:: handleRequest} "
16
+
17
+ echo " Starting RIE test setup for Java..."
18
+
19
+ # Download required dependencies if not present
20
+ if ! ls " $PROJECT_ROOT " /target/aws-lambda-java-core-* .jar > /dev/null 2>&1 ; then
21
+ echo " Downloading aws-lambda-java-core..."
22
+ (cd " $PROJECT_ROOT " && mvn dependency:copy -Dartifact=com.amazonaws:aws-lambda-java-core:1.3.0 -DoutputDirectory=target)
23
+ fi
24
+
25
+ if ! ls " $PROJECT_ROOT " /target/aws-lambda-java-serialization-* .jar > /dev/null 2>&1 ; then
26
+ echo " Downloading aws-lambda-java-serialization..."
27
+ (cd " $PROJECT_ROOT " && mvn dependency:copy -Dartifact=com.amazonaws:aws-lambda-java-serialization:1.1.6 -DoutputDirectory=target)
28
+ fi
29
+
30
+ echo " Compiling EchoHandler..."
31
+ javac -source 11 -target 11 -cp " $( ls " $PROJECT_ROOT " /target/aws-lambda-java-runtime-interface-client-* .jar) :$( ls " $PROJECT_ROOT " /target/aws-lambda-java-core-* .jar) :$( ls " $PROJECT_ROOT " /target/aws-lambda-java-serialization-* .jar) " \
32
+ -d " $PROJECT_ROOT /test-handlers/" " $PROJECT_ROOT /test-handlers/EchoHandler.java"
33
+
34
+ echo " Building test Docker image..."
35
+ docker build -t " $IMAGE_TAG " -f " $PROJECT_ROOT /Dockerfile.rie" " $PROJECT_ROOT "
36
+
37
+ echo " Starting test container on port 9000..."
38
+ echo " "
39
+ echo " In another terminal, invoke with:"
40
+ echo " curl -s -X POST -H 'Content-Type: application/json' \" http://localhost:9000/2015-03-31/functions/function/invocations\" -d '{\" message\" :\" test\" }'"
41
+ echo " "
42
+
43
+ exec docker run -it -p 9000:8080 " $IMAGE_TAG " " $HANDLER "
0 commit comments