)]}'
{
  "commit": "2b774d9781e0eb25237e625faa7f9ced70eac704",
  "tree": "96830dfb3235120cdc0b91487d8c6f0074b8c6ee",
  "parents": [
    "889e744ec70b8caa5a82008c572e4e42d8b282a8"
  ],
  "author": {
    "name": "Kojo Acquah",
    "email": "KoolJBlack@users.noreply.github.com",
    "time": "Tue Oct 05 17:08:19 2021 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Oct 05 17:08:19 2021 -0700"
  },
  "message": "Implementation of the gradle-android Docker file and build_android_library github action. (#7143)\n\nThis implements a new Github action `.github/workflows/build_android_library.yml` that runs our workflow to build IREE\u0027s TFLite Java bindings via  `build_tools/gradle/build_tflite_android_library.sh`.\r\n\r\nThe Github Action uses a new `gradle-android/Docker` file to produce consistent repeatable builds locally and remote. \r\n\r\nOn some systems, gradle fails to run the `externalNativeBuild` task with an unexplained NullPointer error. To get around this. We manually build the native IREE TFLite compatibility shim with [Android cross-compilation](https://google.github.io/iree/building-from-source/android/). The resulting library is copied into the `jniLibs` folder to be included directly in the final library, while native build tasks are skipped by gradle. \r\n\r\nAdditional changes to fix recent issues with the gradle build: \r\n* Switching to the support Android library for  the `NonNull` annotation\r\n* Encapsulating `mlir-tablegen` target with the `IREE_BUILD_COMPILER ` in `build_tools/cmake/iree_copts.cmake`. This caused build failure when compiling the host-tooling without compiler targets (avoid building all of LLVM) since tablegen targets can\u0027t compile without other compiler dependencies hidden behind this flag. ",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1c48213d156c027b3926aa23434a6395e9636a9d",
      "new_mode": 33188,
      "new_path": ".github/workflows/android_tflite_oneshot_build.yml"
    },
    {
      "type": "modify",
      "old_id": "fe521a14af80c4e312052203eeea5f6e32bbaefa",
      "old_mode": 33188,
      "old_path": "bindings/tflite/java/build.gradle",
      "new_id": "325f6f159bae7c3f9ce22ea894799f33f71bed13",
      "new_mode": 33188,
      "new_path": "bindings/tflite/java/build.gradle"
    },
    {
      "type": "modify",
      "old_id": "80c0b055e368f366e3951f7fbc96809c1cedc274",
      "old_mode": 33188,
      "old_path": "bindings/tflite/java/org/tensorflow/lite/Interpreter.java",
      "new_id": "4500939831dbf1bff92ab83d4b564fdfa17eb396",
      "new_mode": 33188,
      "new_path": "bindings/tflite/java/org/tensorflow/lite/Interpreter.java"
    },
    {
      "type": "modify",
      "old_id": "5a92b6fe79b62b407ecdbd84e7a6f878811a97b4",
      "old_mode": 33188,
      "old_path": "build_tools/cmake/iree_copts.cmake",
      "new_id": "e477eeaf901ddef68233f69a30aa3ae9084900ae",
      "new_mode": 33188,
      "new_path": "build_tools/cmake/iree_copts.cmake"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fb7b98b81b041a9d45ce9e9df2719edbac9fd517",
      "new_mode": 33188,
      "new_path": "build_tools/docker/gradle-android/Dockerfile"
    },
    {
      "type": "modify",
      "old_id": "cce0114b32b3d0d1116b8ab42bcb8bd06186ac91",
      "old_mode": 33261,
      "old_path": "build_tools/docker/manage_images.py",
      "new_id": "03dfbbedce5d376811fa71a8a993d360c3efa264",
      "new_mode": 33261,
      "new_path": "build_tools/docker/manage_images.py"
    },
    {
      "type": "modify",
      "old_id": "a5ec71859f005f7c3a3cfc352218b746e05df91a",
      "old_mode": 33188,
      "old_path": "build_tools/docker/prod_digests.txt",
      "new_id": "c7e88ecd6be4e0cd0a6230448d5bed2003a87f84",
      "new_mode": 33188,
      "new_path": "build_tools/docker/prod_digests.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e49c6da609120ffa9a13ee33c169f590b67c5dee",
      "new_mode": 33261,
      "new_path": "build_tools/gradle/build_tflite_android_library.sh"
    }
  ]
}
