#!/bin/bash
[% c("var/set_default_env") -%]

mkdir -p /var/tmp/dist
tar -C /var/tmp/dist -xf $rootdir/[% c('input_files_by_name/rust') %]
tar -C /var/tmp/dist -xf $rootdir/[% c('input_files_by_name/cbindgen') %]
tar -C /var/tmp/dist -xf $rootdir/[% c('input_files_by_name/nasm') %]
tar -C /var/tmp/dist -xf $rootdir/[% c('input_files_by_name/clang') %]
export LLVM_CONFIG="/var/tmp/dist/clang-linux/bin/llvm-config"
export PATH="/var/tmp/dist/rust/bin:/var/tmp/dist/cbindgen:/var/tmp/dist/nasm/bin:/var/tmp/dist/clang-linux/bin:$PATH"

[% IF c("var/rlbox") -%]
  tar -C /var/tmp/dist -xf $rootdir/[% c('input_files_by_name/wasi-sysroot') %]
  export WASI_SYSROOT=/var/tmp/dist/wasi-sysroot/
[% END -%]

[% INCLUDE 'build_common.sh' %]

echo "Starting ./mach build $(date)"
./mach build --verbose [% IF c('var/generate_gradle_dependencies_list') %]2>&1 | tee -a $gradle_logs[% END %]

[% IF c("var/dev_artifacts") -%]
  echo "Building development artifacts"

  # Package the browser and also create all the test artifacts.
  #
  # MOZ_SIMPLE_PACKAGE_NAME will force all artifact files to start with "target",
  # instead of the name of the package, which would be something like: firefox-140.4.0.en-US.linux-x86_64.
  # This is the same convention used by upstream
  MOZ_SIMPLE_PACKAGE_NAME="target" ./mach build package package-tests

  artifactsdir=$outdir/[% IF !c("var/android_single_arch") -%]artifacts[% ELSE -%]geckoview/artifacts/[% c("var/abi") %][% END -%]

  mkdir -p $artifactsdir

  # Copy the artifacts to the target directory
  # Naming convention is the same as Mozilla uses for their artifacts
  mv obj-*/gradle/build/mobile/android/geckoview_example/outputs/apk/*/geckoview_example-*.apk $artifactsdir/geckoview_example.apk
  mv obj-*/dist/target.* $artifactsdir

  ./mach python -m mozbuild.action.test_archive mozharness mozharness.zip
  mv mozharness.zip $artifactsdir
[% END %]

echo "Build finished, copying the AAR to the to the destination directory $(date)"

[% IF !c("var/android_single_arch") -%]
  mkdir -p "$outdir/[% project %]"
  cp obj-*/gradle/target.maven.zip $outdir/[% project %]/
[% ELSE -%]
[% INCLUDE 'build_ac_fenix.sh' %]
[% END -%]
