)]}'
{
  "log": [
    {
      "commit": "1263402b99713aab1cd18303c41a3f3b17aa1f0f",
      "tree": "20c372994f5cafc09d61ff3990b660118ef3b15a",
      "parents": [
        "cd616d0fa2f11ced7f979d60cc686c86c7e74d9a"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Fri Aug 28 17:13:43 2020 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Tue Sep 08 23:07:32 2020 +0000"
      },
      "message": "clean up statsd public libraries\n\nJNI library(libstat_jni) from statsd apex is handled via the build\nsystem and linkerconfig.\n\nBug: 150767721\nTest: presubmit\nTest: atest libnativeloader_test\nChange-Id: Ia7527f053508d5992c3eef209f77260f0d210e81\n"
    },
    {
      "commit": "cd616d0fa2f11ced7f979d60cc686c86c7e74d9a",
      "tree": "a5a930782fbaf542d66bc9eccf9d59a241cf0ca2",
      "parents": [
        "d78be00e7bc1daf0a1db07ba3944a2924bba8e26"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Tue Sep 01 14:53:23 2020 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Tue Sep 08 23:07:32 2020 +0000"
      },
      "message": "libnativeloader: clean-up hard-coded public libs\n\nart, nn, i18n apexes provide some of libs listed in\npublic.libraries.txt. The list of these apexes are now read from\n/linkerconfig/apex.libraries.config.txt generated by\n/system/bin/linkerconfig.\n\nBug: 150767721\nTest: cuttlefish boots\nTest: atest libnativeloader_test\nChange-Id: Ic603b42669dff89d5d3da2f6822312e827eddd86\n"
    },
    {
      "commit": "d20e51dcd0fc4b2b229c5b6a5e9b500ae042bc61",
      "tree": "2ef7925b2e89c77cee31144a25932a198cd4b65e",
      "parents": [
        "a6653d304faa3bbd981507570a4ac1107760c6a7"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Tue May 05 16:01:19 2020 +0100"
      },
      "committer": {
        "name": "vichang",
        "email": "vichang@google.com",
        "time": "Thu May 07 09:34:47 2020 +0000"
      },
      "message": "\"Move ICU from ART APEX to i18n APEX\" Attempt 2\n\nThe change was previously submitted in https://r.android.com/1283897\n\n\"Calling @IntraCoreApi from core-icu4j should not cause Core platform API violation\"\nhttps://r.android.com/1299494\n\nBug: 138994281\nTest: m checkbuild on aosp_x86-userdebug\nTest: device boots\nChange-Id: Idb3e2450fca5d8300aef353fc1e4e99e24f04372\n"
    },
    {
      "commit": "4a48775376a4c0b180a7d32ad2cdf00bd0dca140",
      "tree": "ef0bbb1281f6d4785e60f26cb420646c83eb6f6d",
      "parents": [
        "b5146a3b70b9bf15532d25d3b876354938976bc9"
      ],
      "author": {
        "name": "vichang",
        "email": "vichang@google.com",
        "time": "Tue May 05 11:11:30 2020 +0000"
      },
      "committer": {
        "name": "vichang",
        "email": "vichang@google.com",
        "time": "Tue May 05 11:11:30 2020 +0000"
      },
      "message": "Revert \"Move ICU from ART APEX to i18n APEX\"\n\nRevert \"Move v8 and libpac into i18n APEX\"\n\nRevert \"Move core-icu4j into I18n APEX\"\n\nRevert \"Move ICU from ART APEX into i18n APEX\"\n\nRevert \"Move core-icu4j into i18n APEX\"\n\nRevert \"Move libpac into i18n APEX\"\n\nRevert \"Add shared library into i18n APEX and add the required s...\"\n\nRevert \"Make com_android_i18n namespace visible\"\n\nRevert submission 1299494-i18nApex\n\nReason for revert: Breaking aosp_x86-eng on aosp-master\nReverted Changes:\nI30fc3735b:Move ICU from ART APEX to i18n APEX\nIcb7e98b5c:Calling @IntraCoreApi from core-icu4j should not c...\nIc7de63fe3:Move core-icu4j into I18n APEX\nI65b97bdba:Make com_android_i18n namespace visible\nIa4c83bc15:Move v8 and libpac into i18n APEX\nI10e6d4948:Move core-icu4j into i18n APEX\nI8d989cad7:Move ICU from ART APEX into i18n APEX\nI72216ca12:Move ICU into i18n APEX\nIef9dace85:Add shared library into i18n APEX and add the requ...\nI7d97a10ba:Move libpac into i18n APEX\nI90fff9c55:Move ICU from ART APEX into i18n APEX\n\nChange-Id: I516a8d290e3a3cc2b45d71ba5400364b0478a57a\n"
    },
    {
      "commit": "8419b82fa8d46362eb1369ec1876ee2d3c4bc29d",
      "tree": "dca0a5f4cd30c2882e404532eb06691a19624306",
      "parents": [
        "b6f4c79b06bb97651a7be1ac828d18ed18356603"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Mon Apr 06 20:42:07 2020 +0100"
      },
      "committer": {
        "name": "vichang",
        "email": "vichang@google.com",
        "time": "Tue May 05 08:52:20 2020 +0000"
      },
      "message": "Move ICU from ART APEX to i18n APEX\n\nIt involves a change of boot class path to use core-icu4j\nfrom i18n APEX.\n\nBug: 138994281\nTest: device boots\nTest: m build-art-target-tests\nTest: CtsJniTestCases\nTest: atest libnativeloader_test\nTest: ./art/test/testrunner/run_build_test_target.py -j80 art-test\nTest: art/build/apex/runtests.sh\nChange-Id: I30fc3735be760cba48856cd102852d2a6c796374\n"
    },
    {
      "commit": "e33dca6d44463606168330d2f84bc616e8c147f6",
      "tree": "f0e96613fb9b24355dc2675b505651f20bc5a346",
      "parents": [
        "315f1b21a51a67e5d9c9ec3a04f1887931061e10"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Apr 28 14:07:58 2020 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon May 04 07:23:15 2020 +0000"
      },
      "message": "Add libnativehelper.so to public libraries\n\nExposes one copy libnativehelper to apps and everywhere else.\n\nBug: 150252746\nBug: 151443957\nTest: m \u0026 boot\nTest: art/tools/run-gtests.sh -j4\nTest: art/test.py --target -r\nChange-Id: I20b3c5b722bb54a2d4aca74819bd38f801324452\n"
    },
    {
      "commit": "7ca8b67c21513d3cd236f47332afdd1be1cb1569",
      "tree": "4e226c25734451053b85d24e5176abcc299e3986",
      "parents": [
        "5c25e537f59c2f87a57097ad3eb2f70d8c54de23"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 24 15:43:48 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Apr 27 09:34:03 2020 +0000"
      },
      "message": "Use ART_TARGET_ANDROID instead of __ANDROID__\n\nOn golem, we build for ART_TARGET_LINUX, which doesn\u0027t have support for\nlinkerconfig. Therefore, guard all linker namespace code on\nART_TARGET_ANDROID instead of __ANDROID__ (which is unfortunately not\nunder ART\u0027s control).\n\nTest: build for golem and run\nBug: 154074847\nChange-Id: I7a2b81918177704b42d8aafbd6d7e9d06d34e5f4\n"
    },
    {
      "commit": "72d7e965f8f70d79fa1c4d5f09ae59652c9c24de",
      "tree": "d0ff9a95a6988beda4177db727eccf192b5e4660",
      "parents": [
        "9a625b53532db4c05d2a97e55c3a62f7dfbe385d"
      ],
      "author": {
        "name": "Chris Wailes",
        "email": "chriswailes@google.com",
        "time": "Wed Apr 15 09:37:38 2020 -0700"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 15 20:00:04 2020 +0000"
      },
      "message": "Replaced dangerous uses of sizeof()\n\nThis patch replaces several uses of sizeof with calls to std::array\u0027s\nsize method.\n\nBug: 153655228\nTest: Compiled with changed static asserts\nTest: Treehugger\nChange-Id: I4cf87f2d7fffe0d7c81e0652688bedd4d5c9c5c2\n"
    },
    {
      "commit": "696882f2728dc634fa84d232be11db522727b03c",
      "tree": "9b2761f3772719ddc1a0aea46a61be221fb8090b",
      "parents": [
        "2d18719c47854cee595ea3b9b9817db9ba76c9a7"
      ],
      "author": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Tue Mar 24 13:31:19 2020 +0900"
      },
      "committer": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Tue Mar 24 13:31:19 2020 +0900"
      },
      "message": "Skip reading VNDK libs for product if not available\n\nIf a device do not define \"ro.product.vndk.version\", we don\u0027t need to\ninitialize the VNDK libraries for them. In that case, return emtpy\nstring.\n\nBug: 151992099\nTest: atest libnativeloader_test\nChange-Id: Ic4d5e0e1162d367e919b5381e3a6c7d048a5e103\n"
    },
    {
      "commit": "735ab4ef26c250510f21fc2070e08d4ae7867916",
      "tree": "0e6e3f6873e32a3bd07bf4ae5f1b199a7e437a58",
      "parents": [
        "538f99ab285c1440969b9b3331fc0ce750c0d316"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Tue Mar 03 01:07:37 2020 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Wed Mar 04 06:08:15 2020 +0000"
      },
      "message": "libnativeloader: Remove hard-coded cronet\n\nBecause cronet apex sets its jni_libs, its classloader-namespace is\nlinked automatically via jni.config.txt.\n\nBug: 143733063\nBug: 146420818\nTest: atest CronetApiTest\nChange-Id: I7ae0f7bc60f09e7e384abd1f0a1e4f8f90f64052\n"
    },
    {
      "commit": "538f99ab285c1440969b9b3331fc0ce750c0d316",
      "tree": "018e9cbfc08ba39b3f35e457a8658fcc4cc8db75",
      "parents": [
        "6fc471e510d6a4e9c31fcab6c0542e2efdf50099"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Tue Mar 03 00:46:50 2020 +0900"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 04 05:56:39 2020 +0000"
      },
      "message": "Loading JNI libraries in an APEX\n\nTo load JNI libraries in an APEX, libnativeloader relies on\njni.config.txt file which contains available JNI libraries for\nAPEX namespaces:\n\n  com_android_foo libfoo_jni.so:...\n  com_android_bar libbar_jni.so:...\n\nThis file is generated by linkerconfig.\n\nBug: 143733063\nTest: cuttlestone boots\n      (For now, no behavioral changes because jni.config.txt is empty)\nChange-Id: I066de90a73875118be53972e50d076061922d762\n"
    },
    {
      "commit": "26f7d102394748f8ec5f8c5342bf55e21bfb8ba5",
      "tree": "e23223c9e2f1a4037fba92594fae0c9e34c0eb63",
      "parents": [
        "6a8e66c753abdb53847107c1cb2f13e9114c811d"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Sat Feb 22 23:39:23 2020 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Sun Feb 23 02:41:17 2020 +0900"
      },
      "message": "Use {llndk,vndksp}.libraries.txt from VNDK APEX\n\n/system/etc/{llndk,vndksp}.libraries.txt files will be deprecated.\nThese files can be read from VNDK APEX.\n\nBug: 145184886\nTest: build / boot\n\nChange-Id: If96fe7c75538e7fa94542e9b4d1d68a16cfa5f62\n"
    },
    {
      "commit": "eb4f08c577ca3d39d14ada321ea5f9c7444bd06a",
      "tree": "0018cd8ff6e7d0705d0662be909e0ff61b4d84f2",
      "parents": [
        "272b36d1b5cbab951239b32ed679a9dbc4ffdf1a"
      ],
      "author": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Tue Feb 18 11:29:07 2020 +0900"
      },
      "committer": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Fri Feb 21 10:40:23 2020 +0900"
      },
      "message": "Use a different VNDK namespace for product apps\n\nAs product partition may have a different VNDK version than that of\nvendor partition, they may not share the same VNDK namespace for\ntheir apps.\nDefine a new vndk_product namespace in the system section for product\napps that uses ro.product.vndk.version.\n\nBug: 149063221\nTest: atest libnativeloader_test\nChange-Id: I1bb76617104a49b0d11af13d2f116959a18390a3\n"
    },
    {
      "commit": "5257503fa58c8c9d79051a7c691bfba3a9ef1c02",
      "tree": "800e6efcf9258a32af1eeb10688854f233d96da3",
      "parents": [
        "0a5cad39cd1dbbfd6f335c5ff6f307a903bc5bf7"
      ],
      "author": {
        "name": "Jeffrey Huang",
        "email": "jeffreyhuang@google.com",
        "time": "Tue Feb 11 17:33:45 2020 -0800"
      },
      "committer": {
        "name": "Howard Ro",
        "email": "yro@google.com",
        "time": "Sun Feb 16 16:59:58 2020 -0800"
      },
      "message": "Add libstats_jni to linkerconfig/namespace\n\nAs part of statsd becoming a Mainline module, moving libstats_jni to the\napex requires adding it to the linker namespace here.\n\nBug: 145922701\nTest: m -j\nChange-Id: Ifcbea47cc36604e4a86df9af711d678b23012724\n"
    },
    {
      "commit": "c1375633bce5b5fa5df650541fb551368180cb9b",
      "tree": "c18b0f9c5e51c29fac7cbd2d28ccb3eecf05dc42",
      "parents": [
        "8ee6d8fa7071d60c0db95181603f9317b48bda3e"
      ],
      "author": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Thu Feb 13 10:37:03 2020 +0900"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 13 19:37:40 2020 +0000"
      },
      "message": "One more missing Result::ok() in native_loader_test.cpp\n\nTest: m checkbuild\nChange-Id: Ic7725afd2d0fd97ea0ced59e48455b92ae433047\n"
    },
    {
      "commit": "089c1357c6e5457a7bd5e76f70cead52517d9b0b",
      "tree": "6dcf1a604aa163515b5e04280bfe6188dab93eec",
      "parents": [
        "860ab3748c3d112eec41abb57c801bb4f150521d"
      ],
      "author": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Thu Feb 06 16:53:08 2020 +0900"
      },
      "committer": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Mon Feb 10 19:14:58 2020 +0000"
      },
      "message": "Use product vndk version for product apps\n\nro.vndk.version is only for vendor modules. Product modules use\ndifferent vndk version that is set in ro.product.vndk.version.\nUse product vndk version for creating namespaces for product apps.\n\nBug: 148823287\nTest: atest libnativeloader_test\nChange-Id: Iade4b3ca846f1e47e5138f2ceda81bf188276a91\n"
    },
    {
      "commit": "4bd58951456ac6082e23a1931293965852c24281",
      "tree": "dd263ff127686a283290ca8dd572a9d5f54879ee",
      "parents": [
        "22be0659402081b59d84d01ec3e7f8aec42d18ad"
      ],
      "author": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Thu Feb 06 15:43:57 2020 +0900"
      },
      "committer": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Fri Feb 07 11:41:44 2020 +0000"
      },
      "message": "Convert art/ to Result::ok()\n\nNo functionality changes, this is a mechanical cleanup.\n\nTest: m\nChange-Id: I10030314ad8a06d49a63f1e2f3c5aa5b484e34b6\n"
    },
    {
      "commit": "fea435cb042cd177ac42587dfb8f189b889bf944",
      "tree": "c8aee14c9ca2f81cd7616e2ea6d3e914d5d7651b",
      "parents": [
        "6dc0a434b8dd53b467838062ea110ee338c5f0a1"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Feb 05 10:26:12 2020 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Thu Feb 06 19:14:11 2020 +0000"
      },
      "message": "Remove extra using statements\n\nandroid::base::Errorf and android::base::ErrnoErrorf are now #define\u0027s\ninstead of functions, so remove their using statements.\n\nTest: build\nChange-Id: Ifc2f5cf3ccf4de0b089cfe6b38e1f9724f5ff617\n"
    },
    {
      "commit": "3db26d596bdc969b6d0e8646ac0ab64346b7ee21",
      "tree": "386588c223eebaeb3de168640ce2b63e299c1ae5",
      "parents": [
        "3a6ef94d9e756449c490a535962760744e94f458"
      ],
      "author": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Mon Dec 16 14:09:39 2019 +0900"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 07 04:55:22 2020 +0000"
      },
      "message": "Make product libs available to unbundled product apks.\n\nUnbundling product apps must be triggerred if the target is enforcing\nthe product interfaces. The device must have ro.product.vndk.version\nproperty if its product interface is enforced.\nUnbundled product apps can use product libraries.\n\nBug: 144534640\nBug: 127738095\nBug: 128557860\nTest: check boot and basic features\n\nChange-Id: I32b2a1bd3e4f62b6acdbfab6bd277ec1132478a2\n"
    },
    {
      "commit": "5c0177215ee88a9372b883d06661e25a8f6105de",
      "tree": "94beb530125654c1af9cd91ada6abc5d10bb6a7f",
      "parents": [
        "c99a2310f980bab0211799b47dcf191bc2bf0163"
      ],
      "author": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Tue Dec 17 10:54:26 2019 +0800"
      },
      "committer": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Tue Dec 17 15:57:03 2019 +0000"
      },
      "message": "Add public lib of Cronet apex mainline\n\nThis is a workaround since apex module library path is not\nsupported in jni\n\nBug: 139397529\nBug: 145474221\nTest: Build\nTest: manual test with Cronet\nTest: atest CtsJniTestCases\nTest: atest libnativeloader_test\nChange-Id: Ifd8aa85bd78e95131b2ce3eab0ad32c2bb19cee2\n"
    },
    {
      "commit": "0cc40277ffb5f59eac672d844723920ad5f12d85",
      "tree": "a5f0e03a4984052de4efea2e7b8d044f5ad6ca08",
      "parents": [
        "085f7408de57fedac4ec95d5b5e8b4fe809dbeba"
      ],
      "author": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Mon Dec 16 16:47:40 2019 +0900"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 17 01:40:59 2019 +0000"
      },
      "message": "Read system_ext partition for partner defined public libraries.\n\nLet partners define system libraries in system_ext for their apps.\nThey can list the libraries in\n/system_ext/etc/public.libraries-\u003ccompanyname\u003e.txt for their apps to\nuse.\n\nBug: 134909174\nBug: 134359158\nTest: build and boot\nChange-Id: I4edc6c19c4e23e2fec2d98aca7a1e4fd64fd5f2e\n"
    },
    {
      "commit": "9b16e344b246096d228dd4b41ff711884bcfcb3e",
      "tree": "ff93f416fcc59fb831202e80b5fb8c8ede99d500",
      "parents": [
        "e828ea0553b3106598071239e8215fca63b15c9b"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Oct 09 13:29:16 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 11 09:57:02 2019 +0000"
      },
      "message": "Move libnative{bridge,loader} to art/\n\nThis change moves system/core/libnative{bridge,loader} under art/.\n\nBug: 137364733\nTest: m\nChange-Id: I9be7333d00fcd3f36cd80520e50a30ea840187ad\n"
    }
  ]
}
