| #!/usr/bin/env bash |
| |
| set -ex |
| |
| cd `dirname $0`/../.. |
| |
| git submodule update --init |
| |
| AWS_CRT_HOST=`uname | tr '[:upper:]' '[:lower:]'`-`uname -m` |
| |
| if [ -z "$AWS_CRT_TARGET" ]; then |
| AWS_CRT_TARGET=$AWS_CRT_HOST |
| fi |
| |
| SKIP_INSTALL= |
| |
| if [[ "$AWS_CRT_TARGET" != "$AWS_CRT_HOST" ]]; then |
| SKIP_INSTALL=--skip-install |
| fi |
| |
| |
| if [[ $AWS_CRT_TARGET == linux-armv8 ]]; then |
| CLASSIFIER=linux-aarch_64 |
| else |
| CLASSIFIER=$AWS_CRT_TARGET |
| fi |
| |
| # Pry the builder version this CRT is using out of ci.yml |
| BUILDER_VERSION=$(cat .github/workflows/ci.yml | grep 'BUILDER_VERSION:' | sed 's/\s*BUILDER_VERSION:\s*\(.*\)/\1/') |
| echo "Using builder version ${BUILDER_VERSION}" |
| |
| aws s3 cp s3://aws-crt-builder/releases/${BUILDER_VERSION}/builder.pyz ./builder |
| chmod a+x builder |
| |
| # Upload the lib to S3 |
| GIT_TAG=$(git describe --tags) |
| |
| ./builder build -p aws-crt-java --target=$AWS_CRT_TARGET run_tests=false |
| # 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. |
| mv target/cmake-build/aws-crt-java/* target/cmake-build/ |
| |
| JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 mvn -B package -DskipTests -Dshared-lib.skip=true -Dcrt.classifier=$CLASSIFIER |
| |
| aws s3 cp --recursive --include "*.so" target/cmake-build/lib s3://aws-crt-java-pipeline/${GIT_TAG}/lib |
| aws s3 cp target/ s3://aws-crt-java-pipeline/${GIT_TAG}/jar/ --recursive --exclude "*" --include "aws-crt*.jar" |