#!/bin/bash

err() {
  errno=$?
  echo "error: $0:$1 exited with status $errno" >&2
  echo "error in command:" >&2
  sed -n -e "$1p" $0 >&2
  if [ "$errno" -ne 0 ]; then
    exit $errno
  else
    exit 1
  fi
}

trap 'err $LINENO' ERR

mkdir -p out/target/product/kebab/obj/APPS/TrichromeLibrary_intermediates/oat/arm64

rm -f out/target/product/kebab/obj/APPS/TrichromeLibrary_intermediates/oat/arm64/package.odex

target_sdk_version="$( out/host/linux-x86/bin/manifest_check --extract-target-sdk-version $1 --aapt out/host/linux-x86/bin/aapt2 )"

eval "$( out/host/linux-x86/bin/construct_context  --target-sdk-version ${target_sdk_version} --context-json='{"28":[{"Name":"org.apache.http.legacy","Optional":false,"Host":"out/target/common/obj/JAVA_LIBRARIES/org.apache.http.legacy_intermediates/javalib.jar","Device":"/system/framework/org.apache.http.legacy.jar","Subcontexts":[]}],"29":[{"Name":"android.hidl.manager-V1.0-java","Optional":false,"Host":"out/target/common/obj/JAVA_LIBRARIES/android.hidl.manager-V1.0-java_intermediates/javalib.jar","Device":"/system/framework/android.hidl.manager-V1.0-java.jar","Subcontexts":[]},{"Name":"android.hidl.base-V1.0-java","Optional":false,"Host":"out/target/common/obj/JAVA_LIBRARIES/android.hidl.base-V1.0-java_intermediates/javalib.jar","Device":"/system/framework/android.hidl.base-V1.0-java.jar","Subcontexts":[]}],"30":[{"Name":"android.test.base","Optional":false,"Host":"out/target/common/obj/JAVA_LIBRARIES/android.test.base_intermediates/javalib.jar","Device":"/system/framework/android.test.base.jar","Subcontexts":[]}],"any":[]}' --product-packages=out/target/product/kebab/obj/APPS/TrichromeLibrary_intermediates/product_packages.txt )"

ANDROID_LOG_TAGS="*:e" out/host/linux-x86/bin/dex2oatd --avoid-storing-invocation --write-invocation-to=out/target/product/kebab/obj/APPS/TrichromeLibrary_intermediates/oat/arm64/package.invocation --runtime-arg -Xms64m --runtime-arg -Xmx512m --runtime-arg -Xbootclasspath:out/soong/dexpreopt_arm64/dex_bootjars_input/core-oj.jar:out/soong/dexpreopt_arm64/dex_bootjars_input/core-libart.jar:out/soong/dexpreopt_arm64/dex_bootjars_input/okhttp.jar:out/soong/dexpreopt_arm64/dex_bootjars_input/bouncycastle.jar:out/soong/dexpreopt_arm64/dex_bootjars_input/apache-xml.jar:out/soong/dexpreopt_arm64/dex_bootjars_input/framework.jar:out/soong/dexpreopt_arm64/dex_bootjars_input/framework-graphics.jar:out/soong/dexpreopt_arm64/dex_bootjars_input/framework-location.jar:out/soong/dexpreopt_arm64/dex_bootjars_input/ext.jar:out/soong/dexpreopt_arm64/dex_bootjars_input/telephony-common.jar:out/soong/dexpreopt_arm64/dex_bootjars_input/voip-common.jar:out/soong/dexpreopt_arm64/dex_bootjars_input/ims-common.jar:out/soong/dexpreopt_arm64/dex_bootjars_input/framework-nfc.jar:out/soong/dexpreopt_arm64/dex_bootjars_input/telephony-ext.jar:out/soong/dexpreopt_arm64/dex_bootjars_input/oplus-fwk.jar:out/soong/dexpreopt_arm64/dex_bootjars_input/WfdCommon.jar:out/soong/dexpreopt_arm64/dex_bootjars_input/core-icu4j.jar:out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-adservices.jar:out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-sdksandbox.jar:out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-appsearch.jar:out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-bluetooth.jar:out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-configinfrastructure.jar:out/soong/dexpreopt_arm64/dex_mainlinejars_input/conscrypt.jar:out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-devicelock.jar:out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-healthfitness.jar:out/soong/dexpreopt_arm64/dex_mainlinejars_input/android.net.ipsec.ike.jar:out/soong/dexpreopt_arm64/dex_mainlinejars_input/updatable-media.jar:out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-mediaprovider.jar:out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-pdf.jar:out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-pdf-v.jar:out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-ondevicepersonalization.jar:out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-statsd.jar:out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-permission.jar:out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-permission-s.jar:out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-scheduling.jar:out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-sdkextensions.jar:out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-connectivity.jar:out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-connectivity-t.jar:out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-tethering.jar:out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-uwb.jar:out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-virtualization.jar:out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-wifi.jar --runtime-arg -Xbootclasspath-locations:/apex/com.android.art/javalib/core-oj.jar:/apex/com.android.art/javalib/core-libart.jar:/apex/com.android.art/javalib/okhttp.jar:/apex/com.android.art/javalib/bouncycastle.jar:/apex/com.android.art/javalib/apache-xml.jar:/system/framework/framework.jar:/system/framework/framework-graphics.jar:/system/framework/framework-location.jar:/system/framework/ext.jar:/system/framework/telephony-common.jar:/system/framework/voip-common.jar:/system/framework/ims-common.jar:/system/framework/framework-nfc.jar:/system/framework/telephony-ext.jar:/system/framework/oplus-fwk.jar:/system/framework/WfdCommon.jar:/apex/com.android.i18n/javalib/core-icu4j.jar:/apex/com.android.adservices/javalib/framework-adservices.jar:/apex/com.android.adservices/javalib/framework-sdksandbox.jar:/apex/com.android.appsearch/javalib/framework-appsearch.jar:/apex/com.android.btservices/javalib/framework-bluetooth.jar:/apex/com.android.configinfrastructure/javalib/framework-configinfrastructure.jar:/apex/com.android.conscrypt/javalib/conscrypt.jar:/apex/com.android.devicelock/javalib/framework-devicelock.jar:/apex/com.android.healthfitness/javalib/framework-healthfitness.jar:/apex/com.android.ipsec/javalib/android.net.ipsec.ike.jar:/apex/com.android.media/javalib/updatable-media.jar:/apex/com.android.mediaprovider/javalib/framework-mediaprovider.jar:/apex/com.android.mediaprovider/javalib/framework-pdf.jar:/apex/com.android.mediaprovider/javalib/framework-pdf-v.jar:/apex/com.android.ondevicepersonalization/javalib/framework-ondevicepersonalization.jar:/apex/com.android.os.statsd/javalib/framework-statsd.jar:/apex/com.android.permission/javalib/framework-permission.jar:/apex/com.android.permission/javalib/framework-permission-s.jar:/apex/com.android.scheduling/javalib/framework-scheduling.jar:/apex/com.android.sdkext/javalib/framework-sdkextensions.jar:/apex/com.android.tethering/javalib/framework-connectivity.jar:/apex/com.android.tethering/javalib/framework-connectivity-t.jar:/apex/com.android.tethering/javalib/framework-tethering.jar:/apex/com.android.uwb/javalib/framework-uwb.jar:/apex/com.android.virt/javalib/framework-virtualization.jar:/apex/com.android.wifi/javalib/framework-wifi.jar ${class_loader_context_arg} ${stored_class_loader_context_arg} --boot-image=out/soong/dexpreopt_arm64/dex_bootjars/android/system/framework/boot.art:out/soong/dexpreopt_arm64/dex_mainlinejars/android/system/framework/boot-framework-adservices.art --dex-file=$1 --dex-location=/product/app/TrichromeLibrary/TrichromeLibrary.apk --oat-file=out/target/product/kebab/obj/APPS/TrichromeLibrary_intermediates/oat/arm64/package.odex --android-root=out/empty --instruction-set=arm64 --instruction-set-variant=generic --instruction-set-features=default --no-generate-debug-info --generate-build-id --abort-on-hard-verifier-error --force-determinism --no-inline-from=core-oj.jar $(cat out/soong/dexpreopt/uffd_gc_flag.txt ) --compiler-filter=$(if test -s  out/target/product/kebab/obj/APPS/TrichromeLibrary_intermediates/enforce_uses_libraries.status  ; then echo verify ; else echo quicken ; fi) --generate-mini-debug-info --compilation-reason=prebuilt

rm -rf out/target/product/kebab/obj/APPS/TrichromeLibrary_intermediates/dexpreopt_install

mkdir -p out/target/product/kebab/obj/APPS/TrichromeLibrary_intermediates/dexpreopt_install

mkdir -p out/target/product/kebab/obj/APPS/TrichromeLibrary_intermediates/dexpreopt_install/product/app/TrichromeLibrary/oat/arm64

cp -f out/target/product/kebab/obj/APPS/TrichromeLibrary_intermediates/oat/arm64/package.odex out/target/product/kebab/obj/APPS/TrichromeLibrary_intermediates/dexpreopt_install/product/app/TrichromeLibrary/oat/arm64/TrichromeLibrary.odex

mkdir -p out/target/product/kebab/obj/APPS/TrichromeLibrary_intermediates/dexpreopt_install/product/app/TrichromeLibrary/oat/arm64

cp -f out/target/product/kebab/obj/APPS/TrichromeLibrary_intermediates/oat/arm64/package.vdex out/target/product/kebab/obj/APPS/TrichromeLibrary_intermediates/dexpreopt_install/product/app/TrichromeLibrary/oat/arm64/TrichromeLibrary.vdex

out/host/linux-x86/bin/soong_zip -o $2 -C out/target/product/kebab/obj/APPS/TrichromeLibrary_intermediates/dexpreopt_install -D out/target/product/kebab/obj/APPS/TrichromeLibrary_intermediates/dexpreopt_install

rm -f $2.d
echo -n $2 > $2.d
cat >> $2.d <<'EOF'
: \
    out/host/linux-x86/bin/construct_context \
    out/host/linux-x86/bin/dex2oatd \
    out/host/linux-x86/bin/manifest_check \
    out/host/linux-x86/bin/soong_zip \
    out/host/linux-x86/bin/aapt2 \
    out/soong/dexpreopt/uffd_gc_flag.txt \
    out/soong/dexpreopt_arm64/dex_bootjars_input/WfdCommon.jar \
    out/soong/dexpreopt_arm64/dex_bootjars_input/apache-xml.jar \
    out/soong/dexpreopt_arm64/dex_bootjars_input/bouncycastle.jar \
    out/soong/dexpreopt_arm64/dex_bootjars_input/core-icu4j.jar \
    out/soong/dexpreopt_arm64/dex_bootjars_input/core-libart.jar \
    out/soong/dexpreopt_arm64/dex_bootjars_input/core-oj.jar \
    out/soong/dexpreopt_arm64/dex_bootjars_input/ext.jar \
    out/soong/dexpreopt_arm64/dex_bootjars_input/framework-graphics.jar \
    out/soong/dexpreopt_arm64/dex_bootjars_input/framework-location.jar \
    out/soong/dexpreopt_arm64/dex_bootjars_input/framework-nfc.jar \
    out/soong/dexpreopt_arm64/dex_bootjars_input/framework.jar \
    out/soong/dexpreopt_arm64/dex_bootjars_input/ims-common.jar \
    out/soong/dexpreopt_arm64/dex_bootjars_input/okhttp.jar \
    out/soong/dexpreopt_arm64/dex_bootjars_input/oplus-fwk.jar \
    out/soong/dexpreopt_arm64/dex_bootjars_input/telephony-common.jar \
    out/soong/dexpreopt_arm64/dex_bootjars_input/telephony-ext.jar \
    out/soong/dexpreopt_arm64/dex_bootjars_input/voip-common.jar \
    out/soong/dexpreopt_arm64/dex_mainlinejars_input/android.net.ipsec.ike.jar \
    out/soong/dexpreopt_arm64/dex_mainlinejars_input/conscrypt.jar \
    out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-adservices.jar \
    out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-appsearch.jar \
    out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-bluetooth.jar \
    out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-configinfrastructure.jar \
    out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-connectivity-t.jar \
    out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-connectivity.jar \
    out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-devicelock.jar \
    out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-healthfitness.jar \
    out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-mediaprovider.jar \
    out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-ondevicepersonalization.jar \
    out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-pdf-v.jar \
    out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-pdf.jar \
    out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-permission-s.jar \
    out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-permission.jar \
    out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-scheduling.jar \
    out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-sdkextensions.jar \
    out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-sdksandbox.jar \
    out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-statsd.jar \
    out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-tethering.jar \
    out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-uwb.jar \
    out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-virtualization.jar \
    out/soong/dexpreopt_arm64/dex_mainlinejars_input/framework-wifi.jar \
    out/soong/dexpreopt_arm64/dex_mainlinejars_input/updatable-media.jar \
    out/target/common/obj/JAVA_LIBRARIES/android.hidl.base-V1.0-java_intermediates/javalib.jar \
    out/target/common/obj/JAVA_LIBRARIES/android.hidl.manager-V1.0-java_intermediates/javalib.jar \
    out/target/common/obj/JAVA_LIBRARIES/android.test.base_intermediates/javalib.jar \
    out/target/common/obj/JAVA_LIBRARIES/org.apache.http.legacy_intermediates/javalib.jar \
    out/target/product/kebab/obj/APPS/TrichromeLibrary_intermediates/enforce_uses_libraries.status \
    out/target/product/kebab/obj/APPS/TrichromeLibrary_intermediates/product_packages.txt \

EOF
