)]}'
{
  "commit": "a93d177f03e3f2baaff5f7d7696dd78090f00b48",
  "tree": "4ad2b6a995e4e953304a3a5866bd19a7ce6bc8f3",
  "parents": [
    "1829495c61b294123b7889f4192f01d9b63529f8"
  ],
  "author": {
    "name": "Dan Willemsen",
    "email": "dwillemsen@google.com",
    "time": "Fri Apr 07 14:12:18 2017 -0700"
  },
  "committer": {
    "name": "Steven Moreland",
    "email": "smoreland@google.com",
    "time": "Tue Apr 11 18:27:33 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: I5aa9e3463c53a2c13110d6fffb61a2bbc09892f2\nChange-Id: I5aa9e3463c53a2c13110d6fffb61a2bbc09892f2\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "bb120a7d9899a6deac32c7cb7d6acf9ddffaddc7",
      "old_mode": 33188,
      "old_path": "Android.bp",
      "new_id": "17942821db118085a45b636d5f80d0c32b807131",
      "new_mode": 33188,
      "new_path": "Android.bp"
    }
  ]
}
