1#!/usr/bin/env bash 2 3set -ex 4 5cd `dirname $0`/../.. 6 7git submodule update --init 8 9AWS_CRT_HOST=`uname | tr '[:upper:]' '[:lower:]'`-`uname -m` 10 11if [ -z "$AWS_CRT_TARGET" ]; then 12 AWS_CRT_TARGET=$AWS_CRT_HOST 13fi 14 15SKIP_INSTALL= 16 17if [[ "$AWS_CRT_TARGET" != "$AWS_CRT_HOST" ]]; then 18 SKIP_INSTALL=--skip-install 19fi 20 21 22if [[ $AWS_CRT_TARGET == linux-armv8 ]]; then 23 CLASSIFIER=linux-aarch_64 24else 25 CLASSIFIER=$AWS_CRT_TARGET 26fi 27 28# Pry the builder version this CRT is using out of ci.yml 29BUILDER_VERSION=$(cat .github/workflows/ci.yml | grep 'BUILDER_VERSION:' | sed 's/\s*BUILDER_VERSION:\s*\(.*\)/\1/') 30echo "Using builder version ${BUILDER_VERSION}" 31 32aws s3 cp s3://aws-crt-builder/releases/${BUILDER_VERSION}/builder.pyz ./builder 33chmod a+x builder 34 35# Upload the lib to S3 36GIT_TAG=$(git describe --tags) 37 38./builder build -p aws-crt-java --target=$AWS_CRT_TARGET run_tests=false 39# Builder corss-compiles the shared lib to `target/cmake-build/aws-crt-java/`, move it to the expected path for mvn to generate the jar. 40mv target/cmake-build/aws-crt-java/* target/cmake-build/ 41 42JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 mvn -B package -DskipTests -Dshared-lib.skip=true -Dcrt.classifier=$CLASSIFIER 43 44aws s3 cp --recursive --include "*.so" target/cmake-build/lib s3://aws-crt-java-pipeline/${GIT_TAG}/lib 45aws s3 cp target/ s3://aws-crt-java-pipeline/${GIT_TAG}/jar/ --recursive --exclude "*" --include "aws-crt*.jar" 46