)]}'
{
  "commit": "c86ec64f26681f849282ebd20b5767bf97cecc6b",
  "tree": "64bb0c050c4db9ad9d721e05e3e199bfd02e60b0",
  "parents": [
    "c9b51f66c918b8d06bbdd26b60ffbad5063d9348"
  ],
  "author": {
    "name": "Dan Willemsen",
    "email": "dwillemsen@google.com",
    "time": "Fri Apr 07 14:12:51 2017 -0700"
  },
  "committer": {
    "name": "Steven Moreland",
    "email": "smoreland@google.com",
    "time": "Tue Apr 11 18:25:24 2017 +0000"
  },
  "message": "Mark as vendor_available\n\nBy setting vendor_available, the following may become true:\n\n* a prebuilt library from this release may be used at runtime by\n  in a later releasse (by vendor code compiled against this release).\n  so this library shouldn\u0027t depend on runtime state that may change\n  in the future.\n* this library may be loaded twice into a single process (potentially\n  an old version and a newer version). The symbols will be isolated\n  using linker namespaces, but this may break assumptions about 1\n  library in 1 process (your singletons will run twice).\n\nBackground:\n\nThis means that these modules may be built and installed twice --\nonce for the system partition and once for the vendor partition. The\nsystem version will build just like today, and will be used by the\nframework components on /system. The vendor version will build\nagainst a reduced set of exports and libraries -- similar to, but\nseparate from, the NDK. This means that all your dependencies must\nalso mark vendor_available.\n\nAt runtime, /system binaries will load libraries from /system/lib*,\nwhile /vendor binaries will load libraries from /vendor/lib*. There\nare some exceptions in both directions -- bionic(libc,etc) and liblog\nare always loaded from /system. And SP-HALs (OpenGL, etc) may load\n/vendor code into /system processes, but the dependencies of those\nlibraries will load from /vendor until it reaches a library that\u0027s\nalways on /system. In the SP-HAL case, if both framework and vendor\nlibraries depend on a library of the same name, both versions will be\nloaded, but they will be isolated from each other.\n\nIt\u0027s possible to compile differently -- reducing your source files,\nexporting different include directories, etc. For details see:\n\nhttps://android-review.googlesource.com/368372\n\nNone of this is enabled unless the device opts into the system/vendor\nsplit with BOARD_VNDK_VERSION :\u003d current.\n\nBug: 36426473\nBug: 36079834\nTest: Android-aosp_arm.mk is the same before/after\nTest: build.ninja is the same before/after\nTest: build-aosp_arm.ninja is the same before/after\nTest: attempt to compile with BOARD_VNDK_VERSION :\u003d current\nMerged-In: I3aef3b8f6b7e5eba3e6036a460faf0ca6fc301d3\nChange-Id: I3aef3b8f6b7e5eba3e6036a460faf0ca6fc301d3\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1e7cb37ed27fb3ddb7795e120af01089764f2f26",
      "old_mode": 33188,
      "old_path": "Android.bp",
      "new_id": "4f159c89cc23000338a9559ec8941b12aed95d28",
      "new_mode": 33188,
      "new_path": "Android.bp"
    }
  ]
}
