# vim: filetype=yaml sw=2
# FIXME: Rework this whole mess
filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]'
version: 36.0.0
var:
  setup: |
    mkdir -p /var/tmp/dist
    tar -C /var/tmp/dist -xf $rootdir/[% c("compiler_tarfile") %]
    export ANDROID_HOME=/var/tmp/dist/[% project %]/android-sdk-linux
    export PATH=$PATH:$ANDROID_HOME/build-tools/[% c("version") %]
    # By default we use the old NDK which is the one GeckoView is using.
    # However, we can overwrite that per project if needed (e.g.
    # application-services is currently on a newer NDK).
    # But an NDK is more than 1.5GB, so it does not make sense to copy one that
    # is not even used in all containers. Instead, we download the additional
    # NDK only in application-services, and adjust the other variables here.
    [% IF c("ndk_version") -%]
      export ANDROID_NDK_HOME=$ANDROID_HOME/ndk/android-ndk-r[% c("ndk_version") %]
    [% ELSE -%]
      export ANDROID_NDK_HOME=$ANDROID_HOME/ndk/android-ndk-r[% c("var/android_ndk_version") %][% c('var/android_ndk_revision') %]
    [% END -%]
    export ANDROID_NDK_ROOT=$ANDROID_NDK_HOME
    export NDK_HOST_TAG=linux-x86_64
    export PATH=$PATH:$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin
    [% IF c("gradle_tarfile") -%]
      tar -C /var/tmp/dist/[% project %] -xf $rootdir/[% c("gradle_tarfile") %]
      export GRADLE_HOME=/var/tmp/dist/[% project %]/gradle
      export GRADLE_USER_HOME=$GRADLE_HOME
      export PATH=$PATH:$GRADLE_HOME/bin
    [% END -%]
  google_repo: https://dl.google.com/android/repository
  android_api_level: 36
  android_release_dir: android-16
  android_platform_revision: '01'
  android_ndk_version: 28
  android_ndk_revision: b
  android_ndk_version_build: 28.1.13356709
  # We need the following two variables for get_build_tools, used by signing
  # scripts.
  build_tools_version: 36
  build_tools_filename: 'build-tools_r[% c("var/build_tools_version") %]_linux.zip'
  build_tools_sha512sum: 277c08c2dcced3c1cc46ce0349e18adc6d6d4b8739868eab5d469f9fb4e9c6b79aa9d2a6592cfc5db0ccb8690fcc75a44db4b18b03dcf349efd0eb54025ef5ca
  commandlinetools_version: 13114758
  commandlinetools_version_string: 19.0
input_files:
  # Hashes can be compared with https://gitlab.com/fdroid/android-sdk-transparency-log/-/blob/master/checksums.json
  - URL: '[% c("var/google_repo") %]/commandlinetools-linux-[% c("var/commandlinetools_version") %]_latest.zip'
    name: android_commandlinetools
    sha256sum: 7ec965280a073311c339e571cd5de778b9975026cfcbe79f2b1cdcb1e15317ee
  - URL: '[% c("var/google_repo") %]/android-ndk-r[% c("var/android_ndk_version") %][% c("var/android_ndk_revision") %]-linux.zip'
    name: android_ndk_compiler
    sha256sum: e9f2759862cecfd48c20bbb7d8cfedbb020f4d91b5f78d9a2fc106f7db3c27ed
  - URL: '[% c("var/google_repo") %]/[% c("var/build_tools_filename") %]'
    name: build_tools
    sha512sum: '[% c("var/build_tools_sha512sum") %]'
  - URL: '[% c("var/google_repo") %]/platform-[% c("var/android_api_level") %]_r[% c("var/android_platform_revision") %].zip'
    name: platform
    sha256sum: a5273f7d68de0a6a58032b26c24965634bc14ed3839e70a3a9759369f3f6c02a
  # ./mach bootstrap is fetching the latest version, so it does not seem to
  # matter which particular version we are using. Pin to the one fitting best to
  # SDK version/build-tools version.
  - URL: '[% c("var/google_repo") %]/platform-tools_r[% c("version") %]-linux.zip'
    name: platform_tools
    sha256sum: 0ead642c943ffe79701fccca8f5f1c69c4ce4f43df2eefee553f6ccb27cbfbe8
steps:
  # The get_build_tools step is used by tools/signing/android-signing
  get_build_tools:
    filename: 'android-[% c("var/build_tools_filename") %]'
    get_build_tools: |
      #!/bin/bash
      set -e
      mv -v [% c("input_files_by_name/build_tools") %] [% dest_dir _ '/' _ c('filename') %]
    container:
      use_container: 0
    input_files:
      - URL: '[% c("var/google_repo") %]/[% c("var/build_tools_filename") %]'
        name: build_tools
        sha512sum: '[% c("var/build_tools_sha512sum") %]'
