| #!/bin/bash -e | 
 |  | 
 | readonly SDK_VERSION='1.11.297' | 
 | readonly MVN_REPO='repo1.maven.org/maven2' | 
 |  | 
 | fetch_artifact() { | 
 |   local artifact="$1" | 
 |   local src_jar="$artifact-$SDK_VERSION-sources.jar" | 
 |  | 
 |   wget "https://$MVN_REPO/com/amazonaws/$artifact/$SDK_VERSION/$src_jar" | 
 |   echo "$src_jar" | 
 | } | 
 |  | 
 | fetch_and_unpack() { | 
 |   local out_dir="$1" | 
 |   local core_jar | 
 |   local s3_jar | 
 |  | 
 |   core_jar="$(fetch_artifact 'aws-java-sdk-core')" | 
 |   s3_jar="$(fetch_artifact 'aws-java-sdk-s3')" | 
 |  | 
 |   # Unpack the core source first | 
 |   unzip "$core_jar" -x 'META-INF/*' -d "$out_dir" | 
 |   rm "$core_jar" | 
 |  | 
 |   # Grab Region from the S3 jar | 
 |   unzip "$s3_jar" 'com/amazonaws/services/s3/model/Region.java' -d "$out_dir" | 
 |   rm "$s3_jar" | 
 | } | 
 |  | 
 | patch_upstream() { | 
 |   echo "Applying (or attempting to apply) bazel patches against AWS SDK" | 
 |  | 
 |   while read -r patch; do | 
 |     echo "Patch: $patch" | 
 |     patch -p0 < "$patch" | 
 |   done < <(find patches-vs-$SDK_VERSION -name '*.patch') | 
 | } | 
 |  | 
 | update_sdk() { | 
 |   mkdir -p ./src/main/java | 
 |   fetch_and_unpack ./src/main/java | 
 |   patch_upstream | 
 | } | 
 |  | 
 | update_sdk |