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