)]}'
{
  "log": [
    {
      "commit": "2d457e1cc8d0a364603b8e2f68334fc83bb00b15",
      "tree": "1dc405318975c2f45cd4411101d9fbd7cabbc605",
      "parents": [
        "fee8cf36e3f5c3280b470c8829c9f9a9d4594337"
      ],
      "author": {
        "name": "Victor Chang",
        "email": "vichang@google.com",
        "time": "Tue Jun 29 22:05:58 2021 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Thu Jul 01 10:57:26 2021 +0100"
      },
      "message": "\"module_current\" and \"system_server_current\" should contain ART\u0027s @SystemApi(MODULE_LIBRARIES)\n\nBefore this fix, compiling a java_library against sdk_version:\n\"module_current\" can\u0027t use the @SystemApi(MODULE_LIBRARIES) provided\nby the ART module because the system module \"core-current-stubs-system-modules\"\ncontains only the public APIs.\n\nUse the new system module with module lib APIs.\n\n(cherry picked from commit b54f5aa3599196cfed8c32d3e52e1c35b51b8473)\n\nBug: 183097033\nTest: m droid\nMerged-In: I274e2710d1ff34e896aa620bfafb4481180c53b5\nChange-Id: I374bc4899ef8f60344e37a94ad3cb8492f47fb4d\n"
    },
    {
      "commit": "79abe57f534771027ca77ea01a274d306a82f394",
      "tree": "b0da7e491abcce753965221956083dab86913d5a",
      "parents": [
        "4814bb814a15ce7cb23df06e2e573a4e23c9cce0"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Mar 29 02:16:14 2021 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Apr 01 10:33:20 2021 +0100"
      },
      "message": "Remove FixturePreparer.Extend()\n\nUse GroupFixturePreparers instead.\n\nBug: 182885307\nTest: m nothing\nChange-Id: Idc01d3cc5a57576a4cf417e9105d1ab851126e10\n"
    },
    {
      "commit": "a71a67a4f5b6e5cdaa1dea65465770412fd9e25d",
      "tree": "73c4cdecb6667f5ce8e81d32559c15cca5c97b85",
      "parents": [
        "e8366da1f61cbff804cefe3b69f6293b4bad0c98"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Mar 29 00:42:57 2021 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Mar 30 20:03:22 2021 +0100"
      },
      "message": "Remove extraneous calls to TestingBuildParams.RelativeToTop()\n\nDeprecated the method to try and prevent any other uses being added.\n\nBug: 183650682\nTest: m nothing\nChange-Id: Ia6f43851e5a00c9d96af780e3bd21e03175e1a2f\n"
    },
    {
      "commit": "71ae59412b6667210e11d3fb21971153ecbf3183",
      "tree": "0080bb5bfbba01f12ee4d65780656eb77a0463d9",
      "parents": [
        "d6339af0b6220586edc92872e1d93fa0a7e9c3da"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Mar 22 15:36:52 2021 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Mar 24 01:07:12 2021 +0000"
      },
      "message": "Remove javaFixtureFactory\n\nReplaces uses of javaFixtureFactory with prepareForJavaTest and removes\nthe unused javaFixtureFactory.\n\nBug: 182885307\nTest: m nothing\nChange-Id: I809772d14af2af211b9e15ad676fbdc06b07cd46\n"
    },
    {
      "commit": "414ea5eb73acf15c37e3e3057f903e73cd3e2094",
      "tree": "6ab19ddbf9036dbd287f30c3a4ed36948d306314",
      "parents": [
        "fb0fe9f5cbb98c468b7aa82c4034ccf6b877d61a"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Mar 22 17:31:52 2021 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Mar 24 01:07:12 2021 +0000"
      },
      "message": "Remove uses of buildDir from java/java_test.go and java/sdk_test.go\n\nRemove any uses, either direct (or indirect via testJavaConfig or\nsimilar methods), of the package level buildDir variable from this\nfile.\n\nBug: 182885307\nTest: m nothing\nChange-Id: I4d9dc39d3b1e5c37ba1f9e72da94048949c0fd17\n"
    },
    {
      "commit": "171de3ef7c891d542b907a9257252164de0dc989",
      "tree": "5371a020ed4ab5c4f388d604c803f6a2854e05f4",
      "parents": [
        "76101fa5ece8e74a3b5a409185af00c9fa25c4d6"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Sat Mar 13 10:18:26 2021 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Mar 18 08:02:38 2021 +0000"
      },
      "message": "Fix TestClasspath to work without javaMockFS()\n\nBug: 182638834\nTest: m nothing\nChange-Id: Icd6fe93cbda418cb4eaf5e99800894d4c4cc5e6f\n"
    },
    {
      "commit": "76101fa5ece8e74a3b5a409185af00c9fa25c4d6",
      "tree": "489e12a237b88098c79c5cceed057035f01d941a",
      "parents": [
        "e26e597fc86f9959bc79e9c7b6cc069144fd1a7a"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Sat Mar 13 09:55:25 2021 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Mar 18 08:02:38 2021 +0000"
      },
      "message": "Convert TestClasspath to test fixtures\n\nThe main complication with this change was that many of the tests check\npaths that are provided by the default java modules. The location of\nthem is different in the test fixtures that it is when using\ntestConfig() and so the test needed to be changed.\n\nBug: 182638834\nTest: m nothing\nChange-Id: I6d325dbd3ba39e5de7e53c576d7cfe07bd95a965\n"
    },
    {
      "commit": "ae8600b507416192f5134dfc068cd0eea4c4dc9e",
      "tree": "3ab3ab614e28c71f461534f0969c39aa5c4edd8b",
      "parents": [
        "45e0c95f859d6ae3743a9971be8b43b91c3bd68f"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Oct 29 17:09:13 2020 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Nov 12 10:07:49 2020 -0800"
      },
      "message": "Pass Config to NewTestContext instead of ctx.Register\n\nPrepare for using Config when adding singletons by passing\nConfig to NewTestContext and NewContext instead of to ctx.Register.\nThis will enable a followup change to store SingletonMakeVarsProviders\nregistered on the Context in the Config, which is necessary to run\nmultiple tests in parallel without data races.\n\nTest: all soong tests\nChange-Id: Id229629a4e42ff4487d317241673837726c075fc\n"
    },
    {
      "commit": "405af0785923a6e5042f9f69f41ebc46c713537a",
      "tree": "712819e0893abab5f99dde3e910f65fe7ce0ccc6",
      "parents": [
        "6682ef42a497e5fdf48d0ade03efd23dbf8379dd"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sat Oct 10 01:30:30 2020 +0000"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Oct 09 18:34:24 2020 -0700"
      },
      "message": "Revert \"Make lots of tests run in parallel\"\n\nThis reverts commit 323dc60712491c71ccdc5363c42df61f0a192487.\n\nReason for revert: Possible cause of test instability\nBug: 170513220\nTest: soong tests\n\nChange-Id: Iee168e9fbb4210569e6cffcc23e60d111403abb8\n"
    },
    {
      "commit": "323dc60712491c71ccdc5363c42df61f0a192487",
      "tree": "5ba86007fb0f7d2536671cbc64e91b1eac304270",
      "parents": [
        "56a8321c210bf73c7b9f177849ff4a6b6192d237"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Sep 18 14:25:31 2020 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Oct 06 15:12:22 2020 -0700"
      },
      "message": "Make lots of tests run in parallel\n\nPutting t.Parallel() in each test makes them run in parallel.\nAdditional t.Parallel() could be added to each subtest, although\nthat requires making a local copy of the loop variable for\ntable driven tests.\n\nTest: m checkbuild\nChange-Id: I5d9869ead441093f4d7c5757f2447385333a95a4\n"
    },
    {
      "commit": "9f43597ff7349c4facd9e338e5b4b277e625e518",
      "tree": "563333b446401903f78258ab679ab6e344868b12",
      "parents": [
        "a57e56a684cb0d250a4f9060c59f7cc5ae607ec3"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Thu May 28 15:28:00 2020 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Aug 11 01:11:44 2020 +0000"
      },
      "message": "Remove obsolete PDK build functionality\n\nThis hasn\u0027t worked for a couple years, and continues to bitrot. Just\nremove it.\n\nAdds a bpfix rule so that we can eventually remove the\nproduct_variables.pdk definition, which is now always a no-op.\n\nTest: treehugger\nChange-Id: I830b54d419b59f6db1d4617b45e61a78234f57a7\nMerged-In: I830b54d419b59f6db1d4617b45e61a78234f57a7\n"
    },
    {
      "commit": "816a23a50d3dc4ef600583fb58854c3d1b293d09",
      "tree": "bee44a4d4f69c16840225fe9f4c7d1d5e13a8e18",
      "parents": [
        "79dcf732cc673b788df9974062b97aa9731b9168"
      ],
      "author": {
        "name": "Jeongik Cha",
        "email": "jeongik@google.com",
        "time": "Wed Jul 08 01:09:23 2020 +0900"
      },
      "committer": {
        "name": "Jeongik Cha",
        "email": "jeongik@google.com",
        "time": "Fri Aug 07 12:15:52 2020 +0900"
      },
      "message": "Introduce AlwaysUsePrebuiltSdks\n\nInstead of UnbundledBuild, use AlwaysUsePrebuiltSdks\nto determine if java modules needs to be built against prebuilt sdks.\nAnd rename UnbundledBuildUsePrebuiltSdks to AlwaysUsePrebuiltSdks to\nexpress its behavior more correctly.(It can be orthgonal to \"Unbundled\")\n\nBug: 160390776\nTest: TARGET_BUILD_UNBUNDLED_IMAGE\u003dtrue m vendorimage\n\nChange-Id: I0be7265c1959d8774c295372cd7a9250169f6df9\n"
    },
    {
      "commit": "84c3807b9929e221085f76a78dea920a0b500d42",
      "tree": "8ccee440f76a8ce6cca7f4ccfb4e18fef99582d8",
      "parents": [
        "0bcda81dd540fe78ffe5cf19da8e92a56133d7df"
      ],
      "author": {
        "name": "Pete Gillin",
        "email": "peteg@google.com",
        "time": "Thu Jul 09 18:03:41 2020 +0100"
      },
      "committer": {
        "name": "Pete Gillin",
        "email": "peteg@google.com",
        "time": "Thu Jul 23 09:06:52 2020 +0100"
      },
      "message": "Enforce the legacy core/platform API restriction.\n\nThis change silently decides whether modules which depend on either\nsdkPrivate or sdkCorePlatform get the legacy or the stable version of\nthe core/platform API, based on whether the module\u0027s name is on a\nhard-coded list or not.\n\nTest: m java\nTest: make a target from the list when its entry is commented out, which correctly fails\nBug: 157640067\nChange-Id: I15e5a6c2f07e73718803501d705de0d7ab9bec90\nMerged-In: I15e5a6c2f07e73718803501d705de0d7ab9bec90\nMerged-In: Iaa97ddaa015e8079fcb3426585c5101c7ec9e22a\n(cherry picked from commit c0f4373106d6c205d11e3bbd61085736de7ec2df)\n"
    },
    {
      "commit": "880f964f168916f518ac47c964173ad3a167348b",
      "tree": "d65df5eadcd457a74dd5ba5e0dfe3caf9ff09ab0",
      "parents": [
        "7b0bdce69eef1b950662a7b493b4cc350da718c0"
      ],
      "author": {
        "name": "Pete Gillin",
        "email": "peteg@google.com",
        "time": "Wed Jul 01 13:17:16 2020 +0100"
      },
      "committer": {
        "name": "Pete Gillin",
        "email": "peteg@google.com",
        "time": "Wed Jul 01 13:17:16 2020 +0100"
      },
      "message": "Tidy up the definition of sdkCore.\n\nCompared to the effect of the toModule function, this (a) sets\nnoFrameworkLibs to true, which seems logically correct, and (b) stops\nsetting java9Classpath, which was redundant since the same stubs are\navailable in 1.9+ builds via the systemModules setting. (This brings\nsdkCore into line with sdkCorePlatform in both cases.)\n\nTest: m art.module.api.annotations\nChange-Id: I61a868bc363a3bf174725b78c0a1657021cfe08a\n"
    },
    {
      "commit": "0638dfcf944c68c56f21b1c2ca9382443e034d04",
      "tree": "a29ff68cab00af359fd894e09d9a0a1f390ee9f2",
      "parents": [
        "40a064238503f0fbe739ce7f1f68f959307c4a0e"
      ],
      "author": {
        "name": "Pete Gillin",
        "email": "peteg@google.com",
        "time": "Wed Jul 01 10:48:14 2020 +0100"
      },
      "committer": {
        "name": "Pete Gillin",
        "email": "peteg@google.com",
        "time": "Wed Jul 01 12:40:58 2020 +0100"
      },
      "message": "Rename the Default* constants in java/config.\n\nThese values are used in two out of the many possible sdk_version\nconfigurations, and therefore weren\u0027t really defaults in any\nmeaningful sense. Giving them more descriptive names makes the code\neasier to follow.\n\nBug: 157640067\nTest: m nothing\nChange-Id: Icf38a9c0be2606ad0478929e1b40dfcee36cddef\n"
    },
    {
      "commit": "1f41dbff6434deac5c41047f34ed7d5d288e5497",
      "tree": "feb35830f2e80e4c5113eb42c4300bb290f44f16",
      "parents": [
        "8a624337b308f70151a9f50f8ef29fd636f7e98c"
      ],
      "author": {
        "name": "Pete Gillin",
        "email": "peteg@google.com",
        "time": "Tue Jun 02 15:59:45 2020 +0100"
      },
      "committer": {
        "name": "Pete Gillin",
        "email": "peteg@google.com",
        "time": "Mon Jun 08 10:53:51 2020 +0100"
      },
      "message": "Split the core/platform API into stable and legacy versions.\n\nFor now, everything outside libcore still uses the legacy version.\n\nTest: treehugger\nBug: 157640067\nChange-Id: If5234e9ee533ff537926801a0af045d36b1caf01\n"
    },
    {
      "commit": "3f07ab2d63e2a0892b45d9200a15b2fbba6c33e9",
      "tree": "8da9e150c8a73c02e5728d15a2c226af91ea091b",
      "parents": [
        "2ebae3e9365a5ff55608387917d260aa5a9a31d7"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Thu Apr 09 13:29:59 2020 +0100"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Jun 05 15:16:16 2020 +0100"
      },
      "message": "Create a framework.aidl for non-updatable platform\n\nframework.aidl includes the parcelables from the non-updatable\npart of the framework as well as the modules. This causes a\ndependency cycle when building module stubs:\nmodule_stub -\u003e module_sdk -\u003e framework.aidl -\u003e public_sdk -\u003e module_stub\n\nThe module_sdk only includes the the stubs for the non-updatable\npart of the framework, so it should also only contain the non-updatable\nparcelables. This change creates a framework_non_updatable.aidl with\nthose parcelables, and updates module_current to use that.\n\nBug: 144149403\nTest: m\nTest: m \u0026\u0026 diff out/soong/framework{,_non_updatable}.aidl\n      (the diff contains just TestApi + module parcelables)\nChange-Id: I224117a0ff695c22d4a4317a51a9b775ed73066b\nMerged-In: I224117a0ff695c22d4a4317a51a9b775ed73066b\n(cherry picked from commit 85c151c3f3aa64c140524de23493c39ea5822292)\n"
    },
    {
      "commit": "17dec171b4e6e260ac9925dca620afe2912c3617",
      "tree": "804e07960d98c03609913fdf4118c4703eaaa94b",
      "parents": [
        "61b5e26f27f7d106177308289437b769722a1548"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu May 14 18:05:32 2020 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri May 15 17:21:58 2020 -0700"
      },
      "message": "Use system modules for prebuilt SDKs \u003e\u003d30\n\nPrebuilt SDKs \u003e\u003d30 now contain core-for-system-modules.jar,\nconvert them to system modules and use them when compiling against\nthe SDK to allow using javac -source 1.9 -target 1.9.\n\nBug: 117069453\nTest: TestClasspath\nChange-Id: Iebadad5980b952ed91c3ffd56cff1ce1827d3247\nMerged-In: Iebadad5980b952ed91c3ffd56cff1ce1827d3247\n"
    },
    {
      "commit": "ba6ab2e791f81d1c54f10d2bd986d25a9693f3eb",
      "tree": "d6367a869685a28838afd63d39ea6821f7e88f05",
      "parents": [
        "85f227eed73d98cff60946eb7a450f53e9d362d0"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Thu Mar 19 15:23:38 2020 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Wed Mar 25 14:18:02 2020 +0000"
      },
      "message": "Make system_server stubs consistent with other stubs\n\nInclude the module_api stubs in system_server one instead of\nputting both of these jars on the classpath. Also rename it\nto be in line with the other stubs.\n\nBug: 149293194\nTest: m\nExempt-From-Owner-Approval: approved internally\nChange-Id: Iead5af4152a49cd59a4fd7afc0312c2f0c872c1e\nMerged-In: Iead5af4152a49cd59a4fd7afc0312c2f0c872c1e\n(cherry picked from commit bbd78556daf4a7e015f2e3ddfe9539909e9ebf40)\n"
    },
    {
      "commit": "aae9bd11c2e911807686c6bb0be0b9fa96dfcbb0",
      "tree": "86debb93a921ae9380310d65ca0aa5c2f6340f85",
      "parents": [
        "2b2aee33a77e2da23da6bfa8f3d355b21dcb4cd4"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed Feb 12 04:36:43 2020 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed Feb 12 04:36:43 2020 +0900"
      },
      "message": "sdk_version: \"system_server_current\"\n\nThe new sdk version \"system_server_current\" is for system server\ncomponents that needs to use all public APIs, system APIs, module APIs,\nand the system server APIs.\n\nBug: 146757305\nTest: m\nChange-Id: I24fd5af010532a110393676607dc90889f2ec17e\n"
    },
    {
      "commit": "50146e9c8eadac8f71ab4e1ae689a0545aaed5a4",
      "tree": "846325f7e029db0e72ab150a32495ecfb2627311",
      "parents": [
        "67edce7adbe4bbaeced39bc10df6157ede6b3826"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Jan 30 18:00:15 2020 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Jan 31 23:01:34 2020 +0900"
      },
      "message": "sdk_version: \"module_current\" is supported\n\nmodule_* is a new API surface for OS modules (e.g. APEXes). It has\nslightly bigger API surface than the system_* SDK. Specifically, APIs\nwith @SystemApi(client\u003dMODULE_LIBRARIES) are added there.\n\nBug: 146757305\nTest: m\n\nChange-Id: I8980e50c0e3a4cd843048e0de1f638e854384f46\n"
    },
    {
      "commit": "98be1bb00f0fb10e195f26fd2a19952d701a1950",
      "tree": "abc06a5a4184a6607755d32f927d886c1d099249",
      "parents": [
        "572aeed6a4211d7433cd59fe9c83f34b2fee4f99"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Dec 13 20:41:13 2019 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Dec 18 08:19:10 2019 -0800"
      },
      "message": "Move filesystem into Config\n\nThe filesystem object was available through ModuleContext.Fs(), but\ngives too much access to the filesystem without enforicing correct\ndependencies.  In order to support sandboxing the soong_build\nprocess move the filesystem into the Config.  The next change will\nmake it private.\n\nBug: 146437378\nTest: all Soong tests\nChange-Id: I5d3ae9108f120fd335b21efd612aefa078378813\n"
    },
    {
      "commit": "6cef481ee7c27ee08b9da3ace059860851cd8b69",
      "tree": "8b6fd2cb57799b1868fc0a59abb3772465c631b8",
      "parents": [
        "6d8d8c6a91dad242bbe406b2b055728b196fe8de"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Oct 17 14:23:50 2019 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Oct 29 13:35:39 2019 -0700"
      },
      "message": "Use java language 1.9 for sdk_version: \"current\"\n\nJava language was set for 1.8 for anything building against the\ncurrent SDK because the stubs were not built in Soong, so the\nsystem modules could not be built.  The stubs have been built\nin Soong since Iabd32b30954b3f4a6d9a779fde52a032b684807e, but\nI5e870c34dd0ebc8ae3f888ec627da590c846a76f missed updating\nthis TODO.\n\nUse 1.9 when building against the stubs, but continue using\n1.8 for unbundled builds until we have prebuilt system modules.\n\nAlways use the core-current-stubs-system-modules to avoid\nsplitting android.* packages between the system modules and\nthe classpath, which would cause new classes in android.*\npackages in classpath jars to be ignored.  Add a new\njava9Classpath field to sdkDep that will contain the stubs jar\nwhen targeting Java language level 1.9, and plumb it through\nto javac and turbine.  Rename the modules field to bootclasspath.\n\nBug: 142896162\nTest: m checkbuild\nChange-Id: Icfd32d0a863b2303a997c7cf03cb3708aade4724\n"
    },
    {
      "commit": "74362a4d5e116a521155513db3e6aa2b1a7dff22",
      "tree": "f480550ea59c08394a5e74cc06c563fbd917838d",
      "parents": [
        "617b1451b425fcc0350003f4aef3757d17ee1acb"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Oct 28 08:05:02 2019 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Oct 28 14:55:03 2019 -0700"
      },
      "message": "Move TestConfig sdk versions forward\n\nThe SDK version in TestConfig is very old, move it forward to trigger\nthe newer javaVersion code paths.\n\nBug: 142896162\nTest: all Soong tests\nChange-Id: Iaf2a6f6dfef43b006b0a09f193fbc2d2e103d90d\n"
    },
    {
      "commit": "617b1451b425fcc0350003f4aef3757d17ee1acb",
      "tree": "57c7180f21b8c2a5177308f66fb301817a03d9ab",
      "parents": [
        "5bce0931c136d4dc2cc72bb662663ac2bf80547d"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Oct 25 15:22:50 2019 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Oct 28 14:55:03 2019 -0700"
      },
      "message": "Split java 8 and 9 classpaths in TestClasspath\n\nIn preparation for adding the system modules jars to the classpath\nfor java 9, split the expected java 8 and java 9 classpaths into\nseparate fields.  Also replace the system: \"bootclasspath\" special\ncase with a bool that specifies that the module will always be\nbuilt using a java 8 style command line.\n\nTest: TestClasspath\nChange-Id: I661ec50d77a039c435c03bc8e6443cc5a57c206e\n"
    },
    {
      "commit": "bdf5d7170ac859e28f458c1d46c2b2494061de3f",
      "tree": "83ad7a3432fa04d4b6178f4cac954eb34f2e41f9",
      "parents": [
        "8436ccea9c591b8c312555ff468c003c2d73f266"
      ],
      "author": {
        "name": "Pete Gillin",
        "email": "peteg@google.com",
        "time": "Mon Oct 21 14:29:58 2019 +0100"
      },
      "committer": {
        "name": "Pete Gillin",
        "email": "peteg@google.com",
        "time": "Mon Oct 21 14:36:41 2019 +0100"
      },
      "message": "Refactor and strengthen sdk_test.go.\n\nThis change:\n\n- Removes usage of the EXPERIMENTAL_JAVA_LANGUAGE_LEVEL_9\u003dfalse option\n  from tests, since it is going to be removed. The java_version\n  property is used instead.\n\n- Commons up some of the assertions between the tests for language\n  levels 8 and 9 in sdk_test.go.\n\n- In commoning the code up, some additional assertions are made in the\n  language level 9 cases, strengthening the tests.\n\nTest: m nothing\nBug: 115604102\n\nChange-Id: I693c5d299b5592b851c44dde4434d92a931f15cd\n"
    },
    {
      "commit": "1b3370f5d75e00b074fd7965c5e1d996636879db",
      "tree": "cbca9150b5d1536c07e39fbfa17eb1379be885af",
      "parents": [
        "300a084db6eece05cc9ccf52d6006797507e2dde"
      ],
      "author": {
        "name": "Pete Gillin",
        "email": "peteg@google.com",
        "time": "Tue Oct 01 13:57:31 2019 +0100"
      },
      "committer": {
        "name": "Pete Gillin",
        "email": "peteg@google.com",
        "time": "Wed Oct 16 11:20:13 2019 +0100"
      },
      "message": "Enable Java language level 9 by default.\n\nThis changes the default Java language level from 8 to 9, i.e. javac\ninvocations now use -source 1.9 -target 1.9.\n\nThe environment variable EXPERIMENTAL_JAVA_LANGUAGE_LEVEL_9\u003dfalse is\nadded to switch back to the language level 8 behaviour. (Previously,\nsetting that variable to true was required to opt in to language level\n9.)\n\nTest: make droid java tests cts docs\nTest: javap -v \u003csome class file in output\u003e | grep \u0027major version\u0027 (reports 53, for classes from \u0027benchmarks\u0027 which is in Android.bp and \u0027ahat\u0027 which is in Android.mk)\nTest: make RunBluetoothRoboTests RunCarSettingsLibRoboTests (two main flavours of robolectric)\nTest: make cts \u0026\u0026 cts-tradefed help\nTest: atest CtsLibcoreTestCases (reasonably low-level device tests)\nTest: atest CtsHostTzDataTests (arbitrary host test)\nBug: 115604102\nChange-Id: I9de888e1df021244d5e61c40934178676f09ecc7\nMerged-In: I52be1817fa7121fca3bce3d8857cb9ed0825570c\n"
    },
    {
      "commit": "c080617c8b0910fda257151aa8141676a1d6a328",
      "tree": "f50aa7f64f6e84f6123a4a76d34bafb84a9d5b46",
      "parents": [
        "9516a6c3f24f651521a5688fe73d31c3c8f72772"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jun 14 18:51:47 2019 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Oct 04 14:00:36 2019 -0700"
      },
      "message": "Shard aidl compiles into srcjars\n\nGroup aidl files into groups of 50 and compile them together into a\nsrcjar.\n\nBug: 124333557\nTest: m checkbuild\nChange-Id: I18e0858eab434071d3ff0039bb21e07c7311b601\n"
    },
    {
      "commit": "68289b0efdfbef579085b668754dbc93fc84c05e",
      "tree": "386c3172e6056794a998c3949eadd06778a50682",
      "parents": [
        "9f6cbaca2163d0ce5cd680ac68cdb45807e66614"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Sep 20 13:50:52 2019 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Sep 20 14:52:56 2019 +0100"
      },
      "message": "Add custom SystemModules to bootclasspath to reduce duplication\n\nAdds a library dependency to each of the dummy system modules created\nby testing.go so that any changes in the behavior were detected by\nthe existing tests which were then fixed.\n\nBug: 141359858\nTest: m checkbuild\nChange-Id: Id4442f4aa3931ac93049f3367b96a5b49cc075e1\n"
    },
    {
      "commit": "f9a0443a9c66ae9cc1d8466be4ddf120eb884ae6",
      "tree": "92e488c6f06ae1709df9e03f5837867846f0747e",
      "parents": [
        "63f4b57a7f6b4050b1fcc81eba3f031ebabf2da9"
      ],
      "author": {
        "name": "Jaewoong Jung",
        "email": "jungjw@google.com",
        "time": "Wed Jul 17 11:15:09 2019 -0700"
      },
      "committer": {
        "name": "Jaewoong Jung",
        "email": "jungjw@google.com",
        "time": "Wed Jul 17 11:15:09 2019 -0700"
      },
      "message": "Java test code clean-up\n\nRemove unused parameters and make testJava return the config.\n\nTest: Ran all java tests.\nChange-Id: Iaa123f3fd93188e2f55452b887e1d340429cc710\n"
    },
    {
      "commit": "5c2f963a1dd45214b9ce7e9baa3a1b0e5ef14aca",
      "tree": "e71a17a88262f2ef856c80f33b43f3990c0230fc",
      "parents": [
        "84338df00141f266a20be6abce20379cd4eabeff"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jun 12 14:21:31 2019 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jun 24 16:03:56 2019 +0100"
      },
      "message": "Remove the no_framework_libs property\n\nCorrects an error message that refers to no_framework_libs.\n\nRemoves any tests that use no_framework_libs:true where possible as\nthere are duplicate tests for sdk_version:\"core_platform\". Otherwise,\nswitches them over to use sdk_version:\"core_platform\".\n\nBug: 134566750\nTest: m droid\nChange-Id: I41abe1a49f5c744e3393ca9cdf0c41888f810c9f\n"
    },
    {
      "commit": "ff60a73d899d2d0d1c23eca503a2aeb3fdbd1feb",
      "tree": "88096efc2a68d4d18ef29ff55e53995352d1390e",
      "parents": [
        "eec8d3aee3cc10df45f6e21f11d623bd91efa1fd"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Thu Jun 13 16:52:01 2019 +0000"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Jun 18 01:29:02 2019 +0000"
      },
      "message": "Depend on all the files from system modules\n\nInstead of just one of the files that we pass into javac.\n\nTest: treehugger\nChange-Id: I8478e88656487c9f667893d7c17839f0ea63c78f\n"
    },
    {
      "commit": "50c217c744901bf8a2408f110840bf22225ae361",
      "tree": "c8121021c7901ee10888e02a6d2a7876dc223007",
      "parents": [
        "a3d0986cfc352eb784d659825ff93772963dcbd5"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jun 12 13:25:22 2019 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jun 17 13:17:35 2019 +0100"
      },
      "message": "Add sdk_version:\"core_platform\" to replace no_framework_libs:true\n\nWhere possible this duplicates any tests that use no_framework_libs:true\nwith ones that use sdk_version:\"core_platform\". If not possible (e.g. in the\ndefault targets included in java/testing.go) it switches some to use\nsdk_version:\"core_platform\" to ensure that there is no regression in the\nbehavior of no_framework_libs:true.\n\nFollow up changes will switch all usages of no_framework_libs:true over\nto use sdk_version:\"core_platform\" at which point no_framework_libs will be\nremoved.\n\nBug: 134566750\nTest: m droid\n\nChange-Id: I42cb181f628b723c8f32a158ae4752b4c83365ae\n"
    },
    {
      "commit": "a3d0986cfc352eb784d659825ff93772963dcbd5",
      "tree": "8494c7f0a31188a53c7cc5e0cb4d72763f698489",
      "parents": [
        "301ba52886bcfdc8d019ad1af2a391d895cd8f07"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 11 13:40:47 2019 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jun 17 11:21:39 2019 +0100"
      },
      "message": "Remove the no_standard_libs property\n\nCorrects an error message that refers to no_standard_libs.\n\nRemoves any tests that use no_standard_libs:true where possible as\nthere are duplicate tests for sdk_version:\"none\". Otherwise, switches\nthem over to use sdk_version:\"none\".\n\nThe androidmk mapping from LOCAL_NO_STANDARD_LIBRARIES to\nno_standard_libs has also been removed. There was little point in\nupdating the tool to map it through to sdk_version:\"none\" as there are\nonly a couple of places where it is used, in art\u0027s test running mk\ntargets and in some unbundled packages to work around some limitation\nin .mk based build.\n\nBug: 134566750\nTest: m droid\nChange-Id: I6413c9b1fe3e63b93753a6a017d2981e32b7e013\n"
    },
    {
      "commit": "52d398a84197053a624c13a0bc1cfb78df996966",
      "tree": "d65ee1085e8111e36abc2f1d42b1400de1434d61",
      "parents": [
        "250e6198d45d7d29bea4c121d42afc8cb6a672d9"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 11 12:31:14 2019 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jun 13 19:15:10 2019 +0100"
      },
      "message": "Add sdk_version:\"none\" to replace no_standard_libs:true\n\nWhere possible this duplicates any tests that use no_standard_libs:true\nwith ones that use sdk_version:\"none\". If not possible (e.g. in the\ndefault targets included in java/testing.go) it switches some to use\nsdk_version:\"none\" to ensure that there is no regression in the\nbehavior of no_standard_libs:true.\n\nFollow up changes will switch all usages of no_standard_libs:true over\nto use sdk_version:\"none\" at which point no_standard_libs will be\nremoved.\n\nBug: 134566750\nTest: m droid\nChange-Id: I5f0fd3daa980f6b223abe454cba7f25a97a39d7a\n"
    },
    {
      "commit": "b815ada8c0c231be8e32e2dd4db7fbb33140f885",
      "tree": "be62c76936b312efa808a791cb0f4d742236c82f",
      "parents": [
        "baccf7e12240d534767986fff7345d29a5982b7a"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jun 11 13:54:26 2019 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jun 12 14:08:13 2019 +0100"
      },
      "message": "Never allow java_library_host with no_standard_libs: true\n\nThis combination makes no sense.\n\nBug: 134566750\nTest: m droid\nChange-Id: Ib37bbac165395c003d23225e0469ba60fa6a56ea\n"
    },
    {
      "commit": "fad7980075703b41cc1b7ebfdf1b61bc3a2d858b",
      "tree": "63698cd52425f0597de629740d95a0072538fcd6",
      "parents": [
        "b826a2f269f9f0d134eac9f23af3144223568b8a"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jun 12 13:00:53 2019 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jun 12 14:08:13 2019 +0100"
      },
      "message": "Add test for no_framework_libs:true\n\nBug: 134566750\nTest: m droid\nChange-Id: Ie3c5c0730d4505c7932952eb20b5ccafd806a73a\n"
    },
    {
      "commit": "0c2143e1ee4d0c1a8f77f953fbc3092f31d8320b",
      "tree": "c9a6921c70eeeeb77325717f44a3bef38f413fd6",
      "parents": [
        "77b47fdf511c9fb3d619789e9f3e72f9a762e96d"
      ],
      "author": {
        "name": "Pete Gillin",
        "email": "peteg@google.com",
        "time": "Thu May 02 15:32:11 2019 +0100"
      },
      "committer": {
        "name": "Pete Gillin",
        "email": "peteg@google.com",
        "time": "Thu May 09 15:36:29 2019 +0100"
      },
      "message": "Rename EXPERIMENTAL_USE_OPENJDK9 to EXPERIMENTAL_JAVA_LANGUAGE_LEVEL_9.\n\nThe current EXPERIMENTAL_USE_OPENJDK9 environment variable is a legacy\nfrom when the 8 -\u003e 9 toolchain upgrade was happening. That migration\nis done and the variable only affects the language level, so it should\nhave a name that reflects that. (The current situation would be\nespecially confusing if we started a 9 -\u003e 11 toolchain upgrade,\npresumably controlled by a variable like EXPERIMENTAL_USE_OPENJDK11,\nsince the two settings look incompatible but are actually orthogonal.)\n\nThe current variable historically allowed a value or \"1.8\" which meant\n\"use the OpenJDK 9 toolchain but target language level 8\". That value\nno longer has any meaning and the new variable doesn\u0027t allow it.\n\nBug: 131678633\nTest: `make` with `EXPERIMENTAL_JAVA_LANGUAGE_LEVEL_9\u003dtrue`\nTest: `javap -v $OUT_DIR/soong/.intermediates/libcore/core-oj/android_common/javac/classes/java/util/List.class | grep \u0027major version\u0027` shows 53\nTest: Audit all mentions of the old string here and downstream\nChange-Id: Idad808c7f07913baba1a777627322d5452dabcef\n"
    },
    {
      "commit": "3047fa23da6d9f6e504c81e275ad7f6761fb7c7b",
      "tree": "04c66b654667b4f321746ab4f676adb465d404d8",
      "parents": [
        "60405e50f8bac88f483d78b07a0fa2311ee08b9f"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Apr 18 10:56:44 2019 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Apr 18 13:51:58 2019 -0700"
      },
      "message": "Build framework.aidl in Soong\n\nMove the rules to build framework.aidl into Soong, and use it\nwhen compiling aidl files with sdk_version: \"current\".\n\nAlso fixes incorrectly using the aidl includes exported by the\n\"framework\" module when the proguardRaiseDep dependency was\nadded.\n\nBug: 130798034\nTest: sdk_test.go\nChange-Id: I126adf1d9e7b6acb528875ff62b974ba7ad9a337\n"
    },
    {
      "commit": "60405e50f8bac88f483d78b07a0fa2311ee08b9f",
      "tree": "49fbb3e4f3210d79f571dad3faeb66b3b466efb0",
      "parents": [
        "79c7c26d8a1987b4c60256d05e2cc52588ccddc0"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Apr 18 12:31:22 2019 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Apr 18 12:35:16 2019 -0700"
      },
      "message": "Get default sdk_test.go values from config\n\nThis will help avoid merge conflicts between branches that have\nadditional default libraries.\n\nTest: sdk_test.go\nChange-Id: I98d5b8b2ea939df7ef57686f3bd913d6a21edc5d\nMerged-In: I98d5b8b2ea939df7ef57686f3bd913d6a21edc5d\n"
    },
    {
      "commit": "ff0daf4ccf2f1ef65dad34a971a1f3c65827f744",
      "tree": "d39ed037e1b949afb6283157b9058d98b7f80b1d",
      "parents": [
        "9a4f3f7ea87d983ddf69831a9e197f6b62d4d873"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Apr 02 16:10:56 2019 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Apr 02 23:18:30 2019 +0000"
      },
      "message": "Fix sdk_version: \"system_current\" when Platform_sdk_final\u003dtrue\n\nWhen PLATFORM_VERSION_CODENAME is set to REL Platform_sdk_final\nbecomes true, which causes the return value of sdkVersionToNumber\nfor \"system_current\" to a real version number instead of\nFutureApiLevel.  This enables the check against\nPlatformSystemSdkVersions, which doesn\u0027t contain \"current\".  Use\nthe numeric value instead.\n\nFixes: 129786845\nTest: sdk_test.go\nChange-Id: If7cf211cc01c5fbf3e3ece3c3f604718a13d5a9b\n"
    },
    {
      "commit": "98fd57460f718dbc06faeb6a029574e6f2a028b6",
      "tree": "8b2a20eb3b33738c1235e808cd6359effd3b2be3",
      "parents": [
        "fb6d78120233e5aff492fa827c27ba87354fc9e8"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jan 09 23:04:25 2019 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jan 10 07:09:35 2019 +0000"
      },
      "message": "Use latest SDK version for current in PDK builds\n\nPDK builds need to use the latest SDK version instead of \"current\"\nto match the behavior of Make.\n\nBug: 118634643\nTest: sdk_test.go\nChange-Id: Ice10d0ccb4066f27ce5839fc96a4026510057121\n"
    },
    {
      "commit": "fb6d78120233e5aff492fa827c27ba87354fc9e8",
      "tree": "c6164fe2c9a88320aee84a78a9967ba4d0a99f0e",
      "parents": [
        "c33514e3b68bf36ddca57624edbaed8005314c0c"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jan 09 22:17:55 2019 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jan 10 07:09:29 2019 +0000"
      },
      "message": "Split out sdk.go from java.go\n\nSplit out SDK handling functions from java.go to sdk.go and tests\nfrom java_test.go to sdk.go.\n\nTest: sdk_test.go\nChange-Id: I83ef48cbe5230572c1d4ecc0e89021d2f7c71b76\n"
    }
  ]
}
