)]}'
{
  "log": [
    {
      "commit": "dc14b923a2526131c8ffedf3f7ce7a17e9e69a99",
      "tree": "5b8ea39edb47664de88b9bbabea190fab84e495c",
      "parents": [
        "43fe6dbade03397dbcb40a08c8c7f06b1bb67e30"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Wed Mar 12 21:26:54 2025 +0000"
      },
      "committer": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Fri Mar 21 22:43:30 2025 +0000"
      },
      "message": "Combine the to and from build actions cachses.\n\nBug: 358427516\nTest: Manually verified genereated ninja and mk files, unit tests.\nChange-Id: Ie5c651f54aa8df6830a15f167c168fc54ca096cf\n"
    },
    {
      "commit": "43fe6dbade03397dbcb40a08c8c7f06b1bb67e30",
      "tree": "3033c1b6abc5ebfe0bc0177e4cb0d343471d0ded",
      "parents": [
        "5bd768b72ae33f21366ce18308991c3d55ff69e0"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Mon Oct 28 22:03:57 2024 +0000"
      },
      "committer": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Fri Mar 21 22:43:21 2025 +0000"
      },
      "message": "Change the way where deduping of order only deps are generated, also fix a bug of duplicated dedup phony targets when restored from cache.\n\nBug: 358427516\nTest: Manually verified genereated ninja and mk files, unit tests.\nChange-Id: I3b63ee27c4d56c7652a0a52081f1201719ab9963\n"
    },
    {
      "commit": "5bd768b72ae33f21366ce18308991c3d55ff69e0",
      "tree": "6aa29c94b62fe95ad2479062941c360d8b59148c",
      "parents": [
        "2b422245c90ffd625ccccaad4ed16efac1fdedb1"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Mar 18 15:07:42 2025 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Mar 19 21:55:00 2025 -0700"
      },
      "message": "Allow Configurables in select providers\n\nProviders are generally forbidden to contain Configurables, as\nConfigurables are expected to be evaluated in the context of the\ncurrent module, and Providers could send it to another module where\nit could be evaluated in a different context.\n\nHowever, overrides modules contain properties that are propagated\nto the base module and are expected to be evaluated in the context\nof the base module.  Relax the ContainsConfigurables check by adding\na struct tag to identify fields in Providers that are allowed to\ncontain Configurables.\n\nTest: TestContainsConfigurable\nChange-Id: Ia6278ca31e38ac2f209bce40df9e68305cb96252\n"
    },
    {
      "commit": "2b422245c90ffd625ccccaad4ed16efac1fdedb1",
      "tree": "f72c8d76a6c9a35562a1dec9810fb1a6b8f468bd",
      "parents": [
        "57f82b81dc990be9774eb530440824210e9c8814"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Dec 19 12:03:54 2024 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Mar 19 21:55:00 2025 -0700"
      },
      "message": "Fix ReplaceDependenciesIf error\n\nMake the error message in ReplaceDependenciesIf correctly describe its\nbehavior.\n\nTest: builds\nChange-Id: Ib24526a30b1079c56a9da3499ee423df5478c389\n"
    },
    {
      "commit": "57f82b81dc990be9774eb530440824210e9c8814",
      "tree": "d8ae7741d691f9522ba3bcd3cb1d2f757370ad03",
      "parents": [
        "208bf2eb9337c03b32f4a16c7b1809e7f58dc6fd"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Dec 19 12:03:40 2024 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Mar 19 21:55:00 2025 -0700"
      },
      "message": "Implement AddReverseDependency on top of AddReverseVariationDependency\n\nTest: builds\nChange-Id: I4f26c47d8e3b3857339240ca5bcbf3368b9d2ada\n"
    },
    {
      "commit": "208bf2eb9337c03b32f4a16c7b1809e7f58dc6fd",
      "tree": "c240ef1b66c5fb04bfc73904c60a1f402a5bd277",
      "parents": [
        "5715fccbfa2e862ff4cd45a8571b016116eb86fe"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Feb 13 15:59:14 2025 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Mar 19 13:51:25 2025 -0700"
      },
      "message": "Minor optimizations to CalculateHash\n\nRead lengths of slices, arrays, structs and maps once instead of\non every loop iteration.  Provides a 1-10% improvement in\nBenchmarkCalculateHash.\n\nTest: BenchmarkCalculateHash\nChange-Id: Ie176e9ec85e655d1da08f7f368bc742e0aa7aa0c\n"
    },
    {
      "commit": "5715fccbfa2e862ff4cd45a8571b016116eb86fe",
      "tree": "b50f0aa46081239f9e0fd697a54d64ee9b71f9ee",
      "parents": [
        "3eaa3f3157b4e00cd75372665100d666ae4846f8"
      ],
      "author": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Tue Mar 18 11:21:09 2025 -0700"
      },
      "committer": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Tue Mar 18 11:35:02 2025 -0700"
      },
      "message": "Support ints in select() expressions\n\nBoth for the type of the condition, and the type of the property.\n\nBug: 355539748\nTest: soong tests\nChange-Id: If3cceaa28860ae5aa5b1cfa95cfc570677cdc3ca\n"
    },
    {
      "commit": "3eaa3f3157b4e00cd75372665100d666ae4846f8",
      "tree": "5dd3bb78e0af72ab7fe4a68d2dc6bda0eb003206",
      "parents": [
        "8c220fb16f69bca6f2713325e1341b837dbc4e68",
        "f12d8cf157ce4e3ce92bda2f8ee8fdd14cfa06e3"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Fri Feb 28 12:35:52 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Feb 28 12:35:52 2025 -0800"
      },
      "message": "Make ModuleVariantsFromName work with ModuleProxy. am: f12d8cf157\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3512211\n\nChange-Id: I104e79e729aeb57df2c9e0b4b96f22cd89d6956c\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "8c220fb16f69bca6f2713325e1341b837dbc4e68",
      "tree": "3e6a2ca4e7a35da6395430cdeccd9ac21f2f6375",
      "parents": [
        "5fd70d318508e52ddf37eefb4782f2ce5ba956b8",
        "4738901dc922a30a864e8adb0804fff2107e2691"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Fri Feb 28 12:35:49 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Feb 28 12:35:49 2025 -0800"
      },
      "message": "Make EqualModules a free function. am: 4738901dc9\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3512210\n\nChange-Id: I86df94e4e02924381e2580a61b2b40216273c616\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "f12d8cf157ce4e3ce92bda2f8ee8fdd14cfa06e3",
      "tree": "5dd3bb78e0af72ab7fe4a68d2dc6bda0eb003206",
      "parents": [
        "4738901dc922a30a864e8adb0804fff2107e2691"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Wed Feb 26 23:37:12 2025 +0000"
      },
      "committer": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Wed Feb 26 23:37:12 2025 +0000"
      },
      "message": "Make ModuleVariantsFromName work with ModuleProxy.\n\nBug: 377723687\nTest: Unit tests and compare the ninja and mk files generated.\nChange-Id: I3097ae420e0301b8e1319f83999fff35a6b32a40\n"
    },
    {
      "commit": "4738901dc922a30a864e8adb0804fff2107e2691",
      "tree": "3e6a2ca4e7a35da6395430cdeccd9ac21f2f6375",
      "parents": [
        "c0db88400b697c23504051638d65aade778517d1"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Wed Feb 26 22:40:15 2025 +0000"
      },
      "committer": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Wed Feb 26 22:40:15 2025 +0000"
      },
      "message": "Make EqualModules a free function.\n\nBug: 377723687\nTest: Unit tests and compare the ninja and mk files generated.\nChange-Id: I455c9c10488aebb7fbc53a15317b3555eefbb9aa\n"
    },
    {
      "commit": "5fd70d318508e52ddf37eefb4782f2ce5ba956b8",
      "tree": "62aaae19870a8e4da706fc0544d845b68f8591da",
      "parents": [
        "fc2729d3d1efce14654115b682976dd5b1e4862b",
        "c0db88400b697c23504051638d65aade778517d1"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Tue Feb 25 13:37:04 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Feb 25 13:37:04 2025 -0800"
      },
      "message": "Make context.BlueprintFile work with ModuleProxy. am: c0db88400b\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3505651\n\nChange-Id: Ib46326b946afd4468792792343d63860cdd8a632\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "c0db88400b697c23504051638d65aade778517d1",
      "tree": "62aaae19870a8e4da706fc0544d845b68f8591da",
      "parents": [
        "13afbbd64efc21e509d45b9153626377d33b62fd"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Tue Feb 25 00:53:06 2025 +0000"
      },
      "committer": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Tue Feb 25 00:53:06 2025 +0000"
      },
      "message": "Make context.BlueprintFile work with ModuleProxy.\n\nBug: 377723687\nTest: Unit tests and compare the ninja and mk files generated.\nChange-Id: I68ef7a2edbc8f31a71d49fed8218262fafdce86f\n"
    },
    {
      "commit": "fc2729d3d1efce14654115b682976dd5b1e4862b",
      "tree": "8180f6f481cad8c64cbf55ec57d4372bf0812bcb",
      "parents": [
        "324822a35cb417c0eab86d319dfc3669fa99fae8",
        "13afbbd64efc21e509d45b9153626377d33b62fd"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Thu Feb 20 11:11:18 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Feb 20 11:11:18 2025 -0800"
      },
      "message": "Merge \"Add PrimaryModuleProxy to blueprint.\" into main am: 13afbbd64e\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3497407\n\nChange-Id: I5796cf1c2e08b909903e0828f27192f7d0eb84b4\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "13afbbd64efc21e509d45b9153626377d33b62fd",
      "tree": "8180f6f481cad8c64cbf55ec57d4372bf0812bcb",
      "parents": [
        "e27125b609cb6387ee751c7e9e9dff639906cbdc",
        "e7defd456df28d840caac8d9a4f623a960e8470f"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Thu Feb 20 11:03:12 2025 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 20 11:03:12 2025 -0800"
      },
      "message": "Merge \"Add PrimaryModuleProxy to blueprint.\" into main"
    },
    {
      "commit": "324822a35cb417c0eab86d319dfc3669fa99fae8",
      "tree": "534db8fcee1e317c7d49142f759013a6f861a092",
      "parents": [
        "e33b63255f81fcdcff33387ac12386fe9f20337b",
        "e27125b609cb6387ee751c7e9e9dff639906cbdc"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Feb 19 13:53:14 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Feb 19 13:53:14 2025 -0800"
      },
      "message": "Merge \"Introduce Soong API ctx.OtherModuleSubDir(m Module)\" into main am: e27125b609\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3497004\n\nChange-Id: Ide52e7011467303b7638438f6ec290260c77dc41\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "e27125b609cb6387ee751c7e9e9dff639906cbdc",
      "tree": "534db8fcee1e317c7d49142f759013a6f861a092",
      "parents": [
        "8b0c45139f49afbb859b2eb397417018e2be645a",
        "d0d3daf10f4888029b694e9be15e9759eccf2302"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Feb 19 13:12:08 2025 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 19 13:12:08 2025 -0800"
      },
      "message": "Merge \"Introduce Soong API ctx.OtherModuleSubDir(m Module)\" into main"
    },
    {
      "commit": "d0d3daf10f4888029b694e9be15e9759eccf2302",
      "tree": "03fd53fb6466a282388a990c86905091ad21ad79",
      "parents": [
        "d11a465bf6e8fbbb371fa211370bcb723b044ee1"
      ],
      "author": {
        "name": "Jihoon Kang",
        "email": "jihoonkang@google.com",
        "time": "Wed Feb 19 00:39:42 2025 +0000"
      },
      "committer": {
        "name": "Jihoon Kang",
        "email": "jihoonkang@google.com",
        "time": "Wed Feb 19 18:53:12 2025 +0000"
      },
      "message": "Introduce Soong API ctx.OtherModuleSubDir(m Module)\n\nThe newly added Soong API can be used to find out the subDir (i.e.\nvariation) of another module.\n\nUtilization of the API will be done in a follow up CL.\n\nTest: CI\nBug: 395989947\nChange-Id: I651e243fe2385c710bbd3f238561d70b9844b6a5\n"
    },
    {
      "commit": "e33b63255f81fcdcff33387ac12386fe9f20337b",
      "tree": "64d846d5c9a72321d2f3ca1c3cdda884454b7cdf",
      "parents": [
        "aabbe6ba9c14ac09ab55a518bd33191ba74b810c",
        "8b0c45139f49afbb859b2eb397417018e2be645a"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Wed Feb 19 10:10:54 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Feb 19 10:10:54 2025 -0800"
      },
      "message": "Merge \"Add OtherModuleHasProvider to blueprint.\" into main am: 8b0c45139f\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3470222\n\nChange-Id: I6c190c7a9f6b082e78190be1ecbe97bf0628b665\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "8b0c45139f49afbb859b2eb397417018e2be645a",
      "tree": "64d846d5c9a72321d2f3ca1c3cdda884454b7cdf",
      "parents": [
        "d11a465bf6e8fbbb371fa211370bcb723b044ee1",
        "2400a748cb7a81d2bcafb06d0d458be1ba0422a5"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Wed Feb 19 10:05:47 2025 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 19 10:05:47 2025 -0800"
      },
      "message": "Merge \"Add OtherModuleHasProvider to blueprint.\" into main"
    },
    {
      "commit": "e7defd456df28d840caac8d9a4f623a960e8470f",
      "tree": "6e39df6d10f2c7514a173b9d8aeae44b63793813",
      "parents": [
        "d11a465bf6e8fbbb371fa211370bcb723b044ee1"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Sat Feb 15 01:08:21 2025 +0000"
      },
      "committer": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Tue Feb 18 22:22:46 2025 +0000"
      },
      "message": "Add PrimaryModuleProxy to blueprint.\n\nBug: 377723687\nTest: Unit tests and compare the ninja and mk files generated.\nChange-Id: I8a164c7eae23259b195943d515af7986c56e12a4\n"
    },
    {
      "commit": "aabbe6ba9c14ac09ab55a518bd33191ba74b810c",
      "tree": "c1f8cc0aaf28d8f72de87ba84494f3deeaeb2952",
      "parents": [
        "9b56732cce23cba5f6ed98d8023a7b77b117cd64",
        "d11a465bf6e8fbbb371fa211370bcb723b044ee1"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Feb 13 13:39:02 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Feb 13 13:39:02 2025 -0800"
      },
      "message": "Merge \"Hide top down mutators\" into main am: d11a465bf6\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3490232\n\nChange-Id: I131e25ac250df84558e3ae746fcd6080f19cbe8f\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "d11a465bf6e8fbbb371fa211370bcb723b044ee1",
      "tree": "c1f8cc0aaf28d8f72de87ba84494f3deeaeb2952",
      "parents": [
        "4e8997f70fbeca8b9bfeccc81be875e22bf2a072",
        "2ae8cc26c82cf67d141eb2615a5923655c5d7d1f"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Feb 13 12:56:05 2025 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 13 12:56:05 2025 -0800"
      },
      "message": "Merge \"Hide top down mutators\" into main"
    },
    {
      "commit": "9b56732cce23cba5f6ed98d8023a7b77b117cd64",
      "tree": "121de0ec1269e8d5ae7a8b3dfcb1398b6e98e037",
      "parents": [
        "5fd27876bbb5f173223e48814245445ef59b4aac",
        "4e8997f70fbeca8b9bfeccc81be875e22bf2a072"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu Feb 13 11:01:26 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Feb 13 11:01:26 2025 -0800"
      },
      "message": "Merge \"Add PhonyOutput to BuildParams\" into main am: 4e8997f70f\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3492095\n\nChange-Id: I19a9efabba568ef95b3ace9001ad3ccd14df4c82\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "4e8997f70fbeca8b9bfeccc81be875e22bf2a072",
      "tree": "121de0ec1269e8d5ae7a8b3dfcb1398b6e98e037",
      "parents": [
        "b4fe169aa669df7ef96e67c5a84a37acdac03402",
        "78580225552112e94f731aa9e52de6a4280cc401"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu Feb 13 10:10:18 2025 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 13 10:10:18 2025 -0800"
      },
      "message": "Merge \"Add PhonyOutput to BuildParams\" into main"
    },
    {
      "commit": "78580225552112e94f731aa9e52de6a4280cc401",
      "tree": "68f96752b42a3e935566701c84de075725c88796",
      "parents": [
        "cad81e69395e1fb9d33ef1eaf653190d5d68dc85"
      ],
      "author": {
        "name": "LaMont Jones",
        "email": "lamontjones@google.com",
        "time": "Wed Feb 12 15:40:22 2025 -0800"
      },
      "committer": {
        "name": "LaMont Jones",
        "email": "lamontjones@google.com",
        "time": "Wed Feb 12 15:43:30 2025 -0800"
      },
      "message": "Add PhonyOutput to BuildParams\n\nThis simplifies creating a phony rule with commands.\n\nBug: b/396145326\nTest: manual, TH\nChange-Id: I722628c6b5af09fcab0fcb8a7f74e8877be11090\n"
    },
    {
      "commit": "5fd27876bbb5f173223e48814245445ef59b4aac",
      "tree": "7b350f2bfe8db774aa03d09eebb0ef2e674f3403",
      "parents": [
        "96678694ba4333e61ff7b14b5d50f5fa6a8d7f74",
        "b4fe169aa669df7ef96e67c5a84a37acdac03402"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Feb 12 13:47:45 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Feb 12 13:47:45 2025 -0800"
      },
      "message": "Use pool for mutatorContext and transition contexts am: b4fe169aa6\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3489677\n\nChange-Id: I3c9adf72555e8d3cee5acc64ac753b6afd2d8737\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "2ae8cc26c82cf67d141eb2615a5923655c5d7d1f",
      "tree": "6f5a2d4f29c1aed2f8ac130bb9e7e37e9cc371b8",
      "parents": [
        "b4fe169aa669df7ef96e67c5a84a37acdac03402"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Feb 11 12:02:04 2025 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Feb 12 11:47:53 2025 -0800"
      },
      "message": "Hide top down mutators\n\nTop down mutators are now only used as an implementation detail of\ntransition mutators, make the related methods unexported, and\nrename them to transitionPropagateMutator.\n\nBug: 367784740\nTest: builds\nChange-Id: I8938e6cbf50cd986255f17b218b1a035df542800\n"
    },
    {
      "commit": "b4fe169aa669df7ef96e67c5a84a37acdac03402",
      "tree": "7b350f2bfe8db774aa03d09eebb0ef2e674f3403",
      "parents": [
        "ac969211b857e02355faab7a809c54819f68732b"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Feb 11 15:12:28 2025 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Feb 12 11:32:01 2025 -0800"
      },
      "message": "Use pool for mutatorContext and transition contexts\n\nAllocating mutatorContext, outgoingTransitionContext and\nincomingTransitionContext show up at the top of alloc_space\nmemory profiling.  Add a typesafe sync.Pool in a new\nblueprint/pool package and use it to reuse the context objects.\n\nTest: builds\nChange-Id: I4084481fa9b48225fc29538990086d7cf30546bd\n"
    },
    {
      "commit": "96678694ba4333e61ff7b14b5d50f5fa6a8d7f74",
      "tree": "da6dbe25ee1f3a18a3a6a64170092d64829921d9",
      "parents": [
        "f2db102a44c814ea9bf30c829a67a03f756961f7",
        "ac969211b857e02355faab7a809c54819f68732b"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Feb 11 16:46:07 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Feb 11 16:46:07 2025 -0800"
      },
      "message": "Optimize proptools.CalculateHash allocations am: ac969211b8\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3490231\n\nChange-Id: Ib90a7980bb7747d334273d61a9ed85738e489826\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "ac969211b857e02355faab7a809c54819f68732b",
      "tree": "da6dbe25ee1f3a18a3a6a64170092d64829921d9",
      "parents": [
        "cad81e69395e1fb9d33ef1eaf653190d5d68dc85"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Feb 11 10:57:40 2025 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Feb 11 12:00:28 2025 -0800"
      },
      "message": "Optimize proptools.CalculateHash allocations\n\nproptools.CalculateHash showed up as a significant source of allocations\non the heap, mostly due to each recursive frame allocating a new\nint64Array that was somehow escaping the stack.  The recursive frames\ncan all share a sinle int64Buf, so rewrite calculateHashInternal as\na method on an object that stores a single int64Buf for reuse.\n\nAlso optimize hashing maps by reusing the slices of indexes, keys\nand values.  If the maps are nested the cached slices will need to\nbe reallocated, but non-nested maps can reuse the same slices.\n\nThe call to sort.SliceStable also shows up as allocating.  The indexes\nand keys must be unique, so the stable sort is unnecessary.  Switching\nto slices.Sort removes the allocations.\n\nAdds a new BenchmarkCalculateHash, with old results before the changes in this CL:\nBenchmarkCalculateHash/int-128 \t19361934\t       101.2 ns/op\t      16 B/op\t       2 allocs/op\nBenchmarkCalculateHash/string-128         \t11939344\t        97.94 ns/op\t      16 B/op\t       2 allocs/op\nBenchmarkCalculateHash/*string-128        \t 6550936\t       202.4 ns/op\t      24 B/op\t       3 allocs/op\nBenchmarkCalculateHash/array-128          \t 3868999\t       323.1 ns/op\t      40 B/op\t       5 allocs/op\nBenchmarkCalculateHash/slice-128          \t 3905343\t       303.0 ns/op\t      40 B/op\t       5 allocs/op\nBenchmarkCalculateHash/struct-128         \t 4985014\t       235.8 ns/op\t      32 B/op\t       4 allocs/op\nBenchmarkCalculateHash/map-128            \t  788944\t      1342 ns/op\t     264 B/op\t      15 allocs/op\nBenchmarkCalculateHash/list_of_interfaces_with_different_types-128         \t 1815861\t       659.7 ns/op\t      80 B/op\t      10 allocs/op\nBenchmarkCalculateHash/nested_maps-128                                     \t 1477017\t       813.3 ns/op\t     128 B/op\t       9 allocs/op\nBenchmarkCalculateHash/multiple_maps-128                                   \t  219806\t      5282 ns/op\t     912 B/op\t      57 allocs/op\nBenchmarkCalculateHash/nested_structs-128                                  \t 1658372\t       719.9 ns/op\t      96 B/op\t      12 allocs/op\n\nAnd new results with these changes:\nBenchmarkCalculateHash/int-128 \t12865184\t       101.8 ns/op\t      16 B/op\t       2 allocs/op\nBenchmarkCalculateHash/string-128         \t12070105\t        98.30 ns/op\t      16 B/op\t       2 allocs/op\nBenchmarkCalculateHash/*string-128        \t 3408679\t       354.9 ns/op\t     160 B/op\t       4 allocs/op\nBenchmarkCalculateHash/array-128          \t 5148826\t       230.7 ns/op\t      16 B/op\t       2 allocs/op\nBenchmarkCalculateHash/slice-128          \t 5264016\t       223.2 ns/op\t      16 B/op\t       2 allocs/op\nBenchmarkCalculateHash/struct-128         \t 6121515\t       194.4 ns/op\t      16 B/op\t       2 allocs/op\nBenchmarkCalculateHash/map-128            \t  856003\t      1184 ns/op\t     256 B/op\t      10 allocs/op\nBenchmarkCalculateHash/list_of_interfaces_with_different_types-128         \t 3224088\t       358.8 ns/op\t      16 B/op\t       2 allocs/op\nBenchmarkCalculateHash/nested_maps-128                                     \t 1453308\t       829.7 ns/op\t     168 B/op\t       7 allocs/op\nBenchmarkCalculateHash/multiple_maps-128                                   \t  332326\t      3419 ns/op\t     376 B/op\t      20 allocs/op\nBenchmarkCalculateHash/nested_structs-128                                  \t 2773218\t       399.3 ns/op\t      16 B/op\t       2 allocs/op\n\nIn particular the nested_structs benchmark, which is most likely to\nbe similar to real providers, has significantly reduced allocations\nand is 45% faster.\n\nTest: TestHashSuccessful\nTest: BenchmarkCalculateHash\nChange-Id: Iba18b62e005cab3bffc57023e47cea238e76dcdb\n"
    },
    {
      "commit": "f2db102a44c814ea9bf30c829a67a03f756961f7",
      "tree": "cf078ff798c9719fd345ae6ca92cd76d24004138",
      "parents": [
        "6e5110923460af5b72942fba6052ea68d9f0cada",
        "cad81e69395e1fb9d33ef1eaf653190d5d68dc85"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Feb 07 12:48:45 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Feb 07 12:48:45 2025 -0800"
      },
      "message": "Merge \"Add a check that providers don\u0027t contain Configurables\" into main am: cad81e6939\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3481294\n\nChange-Id: I04d16d1a57e86265566450ecec2412091cbce1bb\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "cad81e69395e1fb9d33ef1eaf653190d5d68dc85",
      "tree": "cf078ff798c9719fd345ae6ca92cd76d24004138",
      "parents": [
        "29863620ceef01239081f6aab230779ce5ea5b84",
        "639d9732482bcc6c294526c39094a7bbe1711a41"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Feb 07 11:54:07 2025 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 07 11:54:07 2025 -0800"
      },
      "message": "Merge \"Add a check that providers don\u0027t contain Configurables\" into main"
    },
    {
      "commit": "639d9732482bcc6c294526c39094a7bbe1711a41",
      "tree": "d905e5d6984479f36cfd799567e1d455b48d856e",
      "parents": [
        "5def220bf9e7dd36b30f5b4453b471150f00c565"
      ],
      "author": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Thu Feb 06 17:59:19 2025 -0800"
      },
      "committer": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Fri Feb 07 10:19:56 2025 -0800"
      },
      "message": "Add a check that providers don\u0027t contain Configurables\n\nProviders are data exported from one module to another.\n\nConfigurable properties are the collection of all possible values of a\nproperty, to be resolved under the module\u0027s configuration.\n\nIf you export a configurable from one module to another and then resolve\nit there, it will be evaluated with the wrong configuration.\n\nBug: 394967253\nTest: m nothing\nChange-Id: I16ab25f243aa2ae2ad59f08af88c493cb94fb1f5\n"
    },
    {
      "commit": "6e5110923460af5b72942fba6052ea68d9f0cada",
      "tree": "4c25bf632c10f692976caee36b762a0541150228",
      "parents": [
        "e3d1e8c2f17a5f64fd3da73c51c228468e7bf265",
        "29863620ceef01239081f6aab230779ce5ea5b84"
      ],
      "author": {
        "name": "Spandan Das",
        "email": "spandandas@google.com",
        "time": "Thu Feb 06 17:09:54 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Feb 06 17:09:54 2025 -0800"
      },
      "message": "Disallow special chars in blueprint module names am: 29863620ce\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3478084\n\nChange-Id: Ia8d05dbf501417a3f26a4c9421e09eed52137171\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "29863620ceef01239081f6aab230779ce5ea5b84",
      "tree": "4c25bf632c10f692976caee36b762a0541150228",
      "parents": [
        "5def220bf9e7dd36b30f5b4453b471150f00c565"
      ],
      "author": {
        "name": "Spandan Das",
        "email": "spandandas@google.com",
        "time": "Thu Feb 06 18:57:50 2025 +0000"
      },
      "committer": {
        "name": "Spandan Das",
        "email": "spandandas@google.com",
        "time": "Thu Feb 06 23:30:47 2025 +0000"
      },
      "message": "Disallow special chars in blueprint module names\n\nSoong uses module names to create helper phony targets in the ninja\nfile. e.g.\n```\nbuild my_lib: phony out/my_lib_stem.so\n```\n\nThis runs into issues if the module name contains spaces.\n```\nbuild my lib: phony out/my_lib_stem.so\n```\n\nTo prevent such issues, disallow special chars like spaces in module names. We could\nconsider making this even more restrictive (as done by soong config\nvars which enforces go var names), but there are a lot of existing\nmodules with `-`, `.`, ... in their names. These special chars have been\nadded to an allowlist.\n\nTest: m nothing --no-skip-soong-tests\nTest: presubmits\nChange-Id: I2f5365f2fe20a6707e72c199ccd760014e56823e\n"
    },
    {
      "commit": "e3d1e8c2f17a5f64fd3da73c51c228468e7bf265",
      "tree": "bc6be3b2b01bea999b3f6125241d19686df0a46c",
      "parents": [
        "ccb48a537cde7db7ab30c61f8897889159815c2b",
        "5def220bf9e7dd36b30f5b4453b471150f00c565"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Feb 04 14:32:57 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Feb 04 14:32:57 2025 -0800"
      },
      "message": "Merge \"Remove unused variable\" into main am: 5def220bf9\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3475294\n\nChange-Id: I737ac7c41860a8235ba23b81b6df9d47ab08a976\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "5def220bf9e7dd36b30f5b4453b471150f00c565",
      "tree": "bc6be3b2b01bea999b3f6125241d19686df0a46c",
      "parents": [
        "f6d588c5f0009d9f3a7795b4b17f6337c4424857",
        "d7ef504274e923e07527180a473e9f2b31b19747"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Feb 04 13:59:08 2025 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 04 13:59:08 2025 -0800"
      },
      "message": "Merge \"Remove unused variable\" into main"
    },
    {
      "commit": "ccb48a537cde7db7ab30c61f8897889159815c2b",
      "tree": "257548b23811081a5866ba11012ffaff7ad9e00e",
      "parents": [
        "48ffa4cd93952b729851b0735ae45b3aa16ea2fa",
        "f6d588c5f0009d9f3a7795b4b17f6337c4424857"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Feb 04 10:38:50 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Feb 04 10:38:50 2025 -0800"
      },
      "message": "Convert TransitionMutators to use TransitionInfo am: f6d588c5f0\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3470525\n\nChange-Id: I03ff51f8e83ed3d7c3d1f825c4b9184c8c8ba95d\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "d7ef504274e923e07527180a473e9f2b31b19747",
      "tree": "191c5ae61e2382005133b66cc88d26e654df94da",
      "parents": [
        "e6781aaa3dfc162738ac425e807f5b58ef6e4b00"
      ],
      "author": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Tue Feb 04 10:25:27 2025 -0800"
      },
      "committer": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Tue Feb 04 10:25:27 2025 -0800"
      },
      "message": "Remove unused variable\n\nTest: Presubmits\nChange-Id: I2c1985723552da86338feabc839c52df8c17c022\n"
    },
    {
      "commit": "48ffa4cd93952b729851b0735ae45b3aa16ea2fa",
      "tree": "19a50996ba80fadc9dc3892dbac59395dd49b07e",
      "parents": [
        "54c26ad114645d7cd647e2590bf1b81a1229b02a",
        "e6781aaa3dfc162738ac425e807f5b58ef6e4b00"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 31 22:56:48 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jan 31 22:56:48 2025 -0800"
      },
      "message": "Add ModuleName to transition contexts am: e6781aaa3d\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3470526\n\nChange-Id: Ibae4a7230c857047b1b09730b3c37fca0013d10d\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "f6d588c5f0009d9f3a7795b4b17f6337c4424857",
      "tree": "257548b23811081a5866ba11012ffaff7ad9e00e",
      "parents": [
        "e6781aaa3dfc162738ac425e807f5b58ef6e4b00"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Nov 27 13:57:06 2024 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 31 19:25:46 2025 -0800"
      },
      "message": "Convert TransitionMutators to use TransitionInfo\n\nMake the configuration value passed by TransitionMutator be a\nstruct that implements a TransitionInfo interface.  The TransitionInfo\nobject replaces the variation strings returned by Split, passed in\nand out of OutgoingTransition and IncomingTransition, and passed to\nMutate.\n\nA TransitionInfo object still needs to be convertable to a variation\nstring (via it\u0027s Variation method) in order to be used in the path\nto the module\u0027s intermediates directory and in human-readable error\nmessages.\n\nWhen adding a dependency with an explicit variation after the transition\nmutator has run, the variation string has to be converted to a\nTransitionInfo object via TransitionMutator.TransitionInfoFromVariation.\nIf the TransitionInfo is too complex to store in a single string then\nthe TransitionInfoFromVariation can panic and adding dependencies with\nexplicit variations after the transition mutator has run is unsupported.\n\nBug: 372543712\nTest: transition_test.go\nChange-Id: I7545c72e95514172f27b8a4264666bfe10c642c6\n"
    },
    {
      "commit": "e6781aaa3dfc162738ac425e807f5b58ef6e4b00",
      "tree": "19a50996ba80fadc9dc3892dbac59395dd49b07e",
      "parents": [
        "3a691bb7d49357469aa01ecf0eaa30c41291e547"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Dec 18 14:55:39 2024 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 31 19:25:46 2025 -0800"
      },
      "message": "Add ModuleName to transition contexts\n\nAlso add DepTag to IncomingTransitionContext.\n\nTest: builds\nChange-Id: I17d6262984ede65fddf486c98b7cf91c14579912\n"
    },
    {
      "commit": "54c26ad114645d7cd647e2590bf1b81a1229b02a",
      "tree": "793f1ab4f559702347128d906a55222e0bf4e955",
      "parents": [
        "5eacb59a8f4077c40b00c275c7b3dd87f34122ac",
        "3a691bb7d49357469aa01ecf0eaa30c41291e547"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 31 17:32:50 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jan 31 17:32:50 2025 -0800"
      },
      "message": "Move neverfar to transition mutator am: 3a691bb7d4\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3470524\n\nChange-Id: Ieffa0d236c58f63907efe4a95fab876005e95806\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "5eacb59a8f4077c40b00c275c7b3dd87f34122ac",
      "tree": "929855e49f08e310367426ca2991441b89672fff",
      "parents": [
        "0194485cc4c46c52c10069dcdb6c6a87d6886420",
        "185a1ba6d4a70dfb9f8458fd93935670a2c10eff"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 31 17:32:46 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jan 31 17:32:46 2025 -0800"
      },
      "message": "Remove variantCreatingMutatorOrder am: 185a1ba6d4\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3470523\n\nChange-Id: Id301a3df4acdcab8779c8a365de94a4af5d20ed8\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "2400a748cb7a81d2bcafb06d0d458be1ba0422a5",
      "tree": "315bc4ecbd1119aacf1e9ec254b4c07d7ced34d8",
      "parents": [
        "b454a972714fb0456ac8dd2a94ae35c76bb28f35"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Sat Feb 01 00:39:55 2025 +0000"
      },
      "committer": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Sat Feb 01 00:39:55 2025 +0000"
      },
      "message": "Add OtherModuleHasProvider to blueprint.\n\nBug: 377723687\nTest: Unit tests and compare the ninja and mk files generated.\nChange-Id: I0d24c5b2fedf47f2e5716c44c51928b83dfe17d9\n"
    },
    {
      "commit": "3a691bb7d49357469aa01ecf0eaa30c41291e547",
      "tree": "793f1ab4f559702347128d906a55222e0bf4e955",
      "parents": [
        "185a1ba6d4a70dfb9f8458fd93935670a2c10eff"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Dec 02 14:51:19 2024 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 31 13:49:54 2025 -0800"
      },
      "message": "Move neverfar to transition mutator\n\nOnly TransitionMutators can create variants, so the neverfar boolean\ncan be stored in the transitionMutator struct.\n\nTest: transition_test.go\nChange-Id: I22ba21807b6d2ae2ed8077155f97dd62e56a8e8b\n"
    },
    {
      "commit": "185a1ba6d4a70dfb9f8458fd93935670a2c10eff",
      "tree": "929855e49f08e310367426ca2991441b89672fff",
      "parents": [
        "b454a972714fb0456ac8dd2a94ae35c76bb28f35"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Dec 02 14:47:52 2024 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 31 13:49:50 2025 -0800"
      },
      "message": "Remove variantCreatingMutatorOrder\n\nOnly TransitionMutators create variants, so the transition mutator\nlist can also be used to track the order that variants are created.\n\nTest: transition_test.go\nChange-Id: Ice69af10d37994a8d64fd38a8b0e036c1475f507\n"
    },
    {
      "commit": "0194485cc4c46c52c10069dcdb6c6a87d6886420",
      "tree": "24c70f8c5d475aab52b8e3e8af012a33b1123c6c",
      "parents": [
        "13a64ed80f1273de98565482beb759b16b559cde",
        "b454a972714fb0456ac8dd2a94ae35c76bb28f35"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 24 10:40:50 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jan 24 10:40:50 2025 -0800"
      },
      "message": "Merge changes from topic \"revert-3326317-remove_unique_list-OJGZRNLHCT\" into main am: b454a97271\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3462818\n\nChange-Id: I6d67e7a3e782b070e68c5af5da7ac5e8283af6ee\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "13a64ed80f1273de98565482beb759b16b559cde",
      "tree": "dce57e71e45ea43f1e0e0ca31fcfbd44cb7c304d",
      "parents": [
        "76a2827dd677c76580457732005d6ee0ce016087",
        "56aa085c06ef2cac726e0864563a744eff683283"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 24 10:40:44 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jan 24 10:40:44 2025 -0800"
      },
      "message": "Revert \"Revert \"Add a UniqueList that can store a slice in the u...\" am: 56aa085c06\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3462817\n\nChange-Id: Id27d798c291f3b5a3e94a2cccb27ad69fcedb09f\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "b454a972714fb0456ac8dd2a94ae35c76bb28f35",
      "tree": "24c70f8c5d475aab52b8e3e8af012a33b1123c6c",
      "parents": [
        "d6c6de9406313b14bc4b1a54a3f8f3f92abed78a",
        "4c3c3f7c681732edd66b98cc29035f54246d6c25"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 24 10:29:56 2025 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 24 10:29:56 2025 -0800"
      },
      "message": "Merge changes from topic \"revert-3326317-remove_unique_list-OJGZRNLHCT\" into main\n\n* changes:\n  Revert^2 \"Use unique.Handle for DepSets\"\n  Revert \"Revert \"Add a UniqueList that can store a slice in the u...\"\n"
    },
    {
      "commit": "56aa085c06ef2cac726e0864563a744eff683283",
      "tree": "3d21d0792ce760ecba5406f25fd7355b9de4b524",
      "parents": [
        "fd04a910a6b5aa07edb23f806dbef712a0b955e8"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jan 23 13:30:36 2025 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 23 13:30:38 2025 -0800"
      },
      "message": "Revert \"Revert \"Add a UniqueList that can store a slice in the u...\"\n\nRevert submission 3326317-remove_unique_list\n\nReason for revert: relanding after go 1.23.4 update that fixes https://github.com/golang/go/issues/69803\n\nReverted changes: /q/submissionid:3326317-remove_unique_list\n\nChange-Id: I65e797045af3b2489969c127f56ab04c53fc115b\n"
    },
    {
      "commit": "4c3c3f7c681732edd66b98cc29035f54246d6c25",
      "tree": "a5d1e974abb1ad8d6c0596108bdf6659dc29b020",
      "parents": [
        "56aa085c06ef2cac726e0864563a744eff683283"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jan 23 13:30:36 2025 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jan 23 13:30:36 2025 -0800"
      },
      "message": "Revert^2 \"Use unique.Handle for DepSets\"\n\n34d94070a4f3736986d6b79889dd9ce1d2af20ef\n\nChange-Id: Ib198433916029b1d1b84a2b26d0b37113752d71a\n"
    },
    {
      "commit": "76a2827dd677c76580457732005d6ee0ce016087",
      "tree": "d5a7eb866679c679e33b34e39baa0597c5ff97c1",
      "parents": [
        "51ffa5b15c050e66808c63f667af63a25296eb98",
        "d6c6de9406313b14bc4b1a54a3f8f3f92abed78a"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Wed Jan 15 14:24:19 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Jan 15 14:24:19 2025 -0800"
      },
      "message": "Add IsNil to ModuleProxy. am: d6c6de9406\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3452935\n\nChange-Id: Ie0d972c76b60f626b4b013ec588521edb9ceb9e6\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "d6c6de9406313b14bc4b1a54a3f8f3f92abed78a",
      "tree": "d5a7eb866679c679e33b34e39baa0597c5ff97c1",
      "parents": [
        "6971f59d75e06f676a1eecd1cc571bc8ac3cdfec"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Wed Jan 15 00:32:47 2025 +0000"
      },
      "committer": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Wed Jan 15 00:32:47 2025 +0000"
      },
      "message": "Add IsNil to ModuleProxy.\n\nBug: 377723687\nTest: Unit tests and compare the ninja and mk files generated.\nChange-Id: Idf4a241b0a38fd5cb3c822fc4e61400b16d70afe\n"
    },
    {
      "commit": "51ffa5b15c050e66808c63f667af63a25296eb98",
      "tree": "ca986c1a4a46f1cd63a4fd3d7d0af3006103114d",
      "parents": [
        "cef3f2b265f2f8428c4ab1318d0a1fa1d2c5570e",
        "6971f59d75e06f676a1eecd1cc571bc8ac3cdfec"
      ],
      "author": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Fri Jan 10 16:38:20 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jan 10 16:38:20 2025 -0800"
      },
      "message": "Change blueprint.BuildParams\u0027 Optional to Default am: 6971f59d75\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3446191\n\nChange-Id: Iacf55f4261c63f950dd9480103fad85b208c1a6d\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "6971f59d75e06f676a1eecd1cc571bc8ac3cdfec",
      "tree": "ca986c1a4a46f1cd63a4fd3d7d0af3006103114d",
      "parents": [
        "def192a8779b81fdfa95ae90c374003a5752e8c4"
      ],
      "author": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Fri Jan 10 11:18:55 2025 -0800"
      },
      "committer": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Fri Jan 10 11:35:50 2025 -0800"
      },
      "message": "Change blueprint.BuildParams\u0027 Optional to Default\n\nSoong\u0027s android.BuildParams uses Default instead of Optional, so the\ndifference is confusing. Also, the grand majority of the time you want\nthings to not be built by default, so this switch makes it so you don\u0027t\nhave to remember to add Optional: true every time you use\nblueprint.BuildParams.\n\nTest: Presubmits\nChange-Id: I7048af490a3b315ae2db2716de04c8cd81c822ce\n"
    },
    {
      "commit": "cef3f2b265f2f8428c4ab1318d0a1fa1d2c5570e",
      "tree": "c72c63726404863819fc9beb0d6272e097ba1840",
      "parents": [
        "736cd63cbbb0d04a0b38fe1f489eba1ba0cee158",
        "def192a8779b81fdfa95ae90c374003a5752e8c4"
      ],
      "author": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Tue Jan 07 15:09:48 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Jan 07 15:09:48 2025 -0800"
      },
      "message": "Make writeFileRule generate optional rules am: def192a877\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3439569\n\nChange-Id: I114c31cbdadaaac94139e4fea2f0770b24af13e1\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "def192a8779b81fdfa95ae90c374003a5752e8c4",
      "tree": "c72c63726404863819fc9beb0d6272e097ba1840",
      "parents": [
        "0cfcd386c7c491d665b2361ef3bac15de084ea8b"
      ],
      "author": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Tue Jan 07 13:18:34 2025 -0800"
      },
      "committer": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Tue Jan 07 13:18:34 2025 -0800"
      },
      "message": "Make writeFileRule generate optional rules\n\nIn soong, you have to say \"Default: true\" to make a rule a ninja\ndefault rule, but in blueprint, it\u0027s a ninja default by default and\nyou have to say \"Optional: true\" to make it not a default.\n\nBug: 388312357\nTest: ./prebuilts/build-tools/linux-x86/bin/ninja -f out/combined.ninja -t defaults doesn\u0027t list .embedcfg files anymore\nChange-Id: I5a0d2e762a10d1e3a989f9df1f59c5f90ef4cc59\n"
    },
    {
      "commit": "736cd63cbbb0d04a0b38fe1f489eba1ba0cee158",
      "tree": "3fe1a2f5bbf50b2a19833a5505ea50bd9e69fea3",
      "parents": [
        "6d33b77a96f86966c9709320f6cbf826d810a306",
        "0f6c76b39c3597b5824793a4d173dd73eae151f6"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Fri Dec 20 13:39:35 2024 -0800"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Fri Dec 20 13:39:35 2024 -0800"
      },
      "message": "Empty merge ab/12770256 into aosp-main-future\n\nMerged-In: I6950c6f01bb23984ea7fa6e3476dc22a96dd73d3\nChange-Id: I0f6bdabac15acb1eb70acb1a540527e3eabfbbfa\n"
    },
    {
      "commit": "6d33b77a96f86966c9709320f6cbf826d810a306",
      "tree": "3fe1a2f5bbf50b2a19833a5505ea50bd9e69fea3",
      "parents": [
        "7523dab1cf58bd4396c2476d1603b85711ad0343",
        "0cfcd386c7c491d665b2361ef3bac15de084ea8b"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Wed Dec 18 16:14:14 2024 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 18 16:14:14 2024 -0800"
      },
      "message": "Remove source_file_provider.go after it\u0027s last usage was removed. am: 0cfcd386c7\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3424779\n\nChange-Id: Icfcb174b0ac53eaa6f74b46143c19f2332c1e2ee\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "0cfcd386c7c491d665b2361ef3bac15de084ea8b",
      "tree": "3fe1a2f5bbf50b2a19833a5505ea50bd9e69fea3",
      "parents": [
        "0baa7b7a48b4776882405a40302d6e83457667d5"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Wed Dec 18 22:28:49 2024 +0000"
      },
      "committer": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Wed Dec 18 22:28:49 2024 +0000"
      },
      "message": "Remove source_file_provider.go after it\u0027s last usage was removed.\n\nBug: 377723687\nTest: Unit tests and compare the ninja and mk files generated.\nChange-Id: I8f98a05c5932e957232ec1034d49ffecb19b6b8a\n"
    },
    {
      "commit": "7523dab1cf58bd4396c2476d1603b85711ad0343",
      "tree": "8c4a4cbaf8d362e55fdb52abeacb75d2b506c2b8",
      "parents": [
        "864eca5a21d0566cd228411840af0f6c5cf3ab67",
        "0baa7b7a48b4776882405a40302d6e83457667d5"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Wed Dec 18 12:52:29 2024 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 18 12:52:29 2024 -0800"
      },
      "message": "Add GetDirectDepProxyWithTag with some refactoring work. am: 0baa7b7a48\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3418970\n\nChange-Id: I270f059dcde9bc1d83111b13df4449f753bcd353\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "864eca5a21d0566cd228411840af0f6c5cf3ab67",
      "tree": "537cc1f6f6a3f11072f6b707d1a35869000d1577",
      "parents": [
        "cd2320f051a8445176b4777fefed1af643142217",
        "b8aed5ceaff4507dbe96cfc8260512057c790506"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Wed Dec 18 10:42:17 2024 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 18 10:42:17 2024 -0800"
      },
      "message": "Remove GetDirectDep and getDirectDepFirstTag that no one uses. am: b8aed5ceaf\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3415667\n\nChange-Id: I19af3c8bf5bc580ae7d008ff3d900bc2b50833d9\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "cd2320f051a8445176b4777fefed1af643142217",
      "tree": "3cfe0b2e1a105de9e8ea3326e2b436cc071a2572",
      "parents": [
        "6b36f4aa0b0df1e6d0758342c2b228279e9e738c",
        "fba46408d52ebbbe1df146e3dff0542023fb2b2c"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Tue Dec 17 16:50:45 2024 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Dec 17 16:50:45 2024 -0800"
      },
      "message": "Make OtherModulePropertyErrorf work with ModuleProxy. am: fba46408d5\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3417587\n\nChange-Id: Ia5894e9cd1d07a23142162d4e97aa4d8f5e6f75d\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "0baa7b7a48b4776882405a40302d6e83457667d5",
      "tree": "8c4a4cbaf8d362e55fdb52abeacb75d2b506c2b8",
      "parents": [
        "b8aed5ceaff4507dbe96cfc8260512057c790506"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Tue Dec 17 22:30:18 2024 +0000"
      },
      "committer": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Tue Dec 17 22:30:18 2024 +0000"
      },
      "message": "Add GetDirectDepProxyWithTag with some refactoring work.\n\nBug: 377723687\nTest: Unit tests and compare the ninja and mk files generated.\nChange-Id: Ie6856003a83b78240657fe73e132a2a7f83b712f\n"
    },
    {
      "commit": "b8aed5ceaff4507dbe96cfc8260512057c790506",
      "tree": "537cc1f6f6a3f11072f6b707d1a35869000d1577",
      "parents": [
        "fba46408d52ebbbe1df146e3dff0542023fb2b2c"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Tue Dec 17 19:29:17 2024 +0000"
      },
      "committer": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Tue Dec 17 19:41:52 2024 +0000"
      },
      "message": "Remove GetDirectDep and getDirectDepFirstTag that no one uses.\n\nBug: 377723687\nTest: Unit tests and compare the ninja and mk files generated.\nChange-Id: Ia683ab69390fafe40fd71c7dbb2794271f3f31bc\n"
    },
    {
      "commit": "fba46408d52ebbbe1df146e3dff0542023fb2b2c",
      "tree": "3cfe0b2e1a105de9e8ea3326e2b436cc071a2572",
      "parents": [
        "cd60d79de04cca491a041ab27a9a7b0e2555b9d0"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Mon Dec 16 23:18:22 2024 +0000"
      },
      "committer": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Tue Dec 17 19:41:52 2024 +0000"
      },
      "message": "Make OtherModulePropertyErrorf work with ModuleProxy.\n\nBug: 377723687\nTest: Unit tests and compare the ninja and mk files generated.\nChange-Id: I0521c5f0ffc32149d82bf0a5a2c93c6b7d93bb65\n"
    },
    {
      "commit": "6b36f4aa0b0df1e6d0758342c2b228279e9e738c",
      "tree": "3ba45f4e0f508704c97ad1837b8f13f8278edcc2",
      "parents": [
        "261aa3b0b72f7d45af5507da87cfd939d0f25d15",
        "cd60d79de04cca491a041ab27a9a7b0e2555b9d0"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sat Dec 14 06:05:30 2024 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Dec 14 06:05:30 2024 -0800"
      },
      "message": "Support $in_newline am: cd60d79de0\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3413279\n\nChange-Id: I92c28ecea8f9f323b5a0bd80b4e55a3901f7f8d2\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "cd60d79de04cca491a041ab27a9a7b0e2555b9d0",
      "tree": "3ba45f4e0f508704c97ad1837b8f13f8278edcc2",
      "parents": [
        "261aa3b0b72f7d45af5507da87cfd939d0f25d15"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Dec 13 18:06:29 2024 +0000"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Dec 13 18:06:29 2024 +0000"
      },
      "message": "Support $in_newline\n\nAdd $in_newline to builtinRuleArgs so it can be used in Soong rules.\n\nBug: 384046733\nTest: go test ./java\nChange-Id: I2fbf6422eeb5ecd98ab5286cbc841ed698da5aa7\n"
    },
    {
      "commit": "261aa3b0b72f7d45af5507da87cfd939d0f25d15",
      "tree": "17f5e0996a0d3f56b4d84033f1fe794ca6337e74",
      "parents": [
        "4b621885093ba47d1eb385fc488d0c5343bec588",
        "5d01e2c7e6ac8083d8123198fb552b85dd67d35e"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Wed Dec 11 00:40:51 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 11 00:40:51 2024 +0000"
      },
      "message": "Add String() to ModulePorxy. am: 5d01e2c7e6\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3403119\n\nChange-Id: Id26ac322f1c519859506d234c403c550bd88eebe\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "5d01e2c7e6ac8083d8123198fb552b85dd67d35e",
      "tree": "17f5e0996a0d3f56b4d84033f1fe794ca6337e74",
      "parents": [
        "4b621885093ba47d1eb385fc488d0c5343bec588"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Tue Dec 10 19:54:50 2024 +0000"
      },
      "committer": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Tue Dec 10 19:54:50 2024 +0000"
      },
      "message": "Add String() to ModulePorxy.\n\nBug: 377723687\nTest: Unit tests and compare the ninja and mk files generated.\nChange-Id: Ief9b735e6e5b582810095309ddaa905789b53b16\n"
    },
    {
      "commit": "0f6c76b39c3597b5824793a4d173dd73eae151f6",
      "tree": "96b3d4fc9330a69a7de80b1cd3f3729c8bcef0a0",
      "parents": [
        "c35cac1b357fd3a1cf54c72129ae66dcc60f4d27",
        "4b621885093ba47d1eb385fc488d0c5343bec588"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Dec 04 04:18:22 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 04 04:18:22 2024 +0000"
      },
      "message": "Merge \"AddLoadHookWithPriority function\" into main am: 0574e14f31 am: 4b62188509\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3390980\n\nChange-Id: I8549c4863e5fb4817dc974873650a416c888e11e\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "4b621885093ba47d1eb385fc488d0c5343bec588",
      "tree": "96b3d4fc9330a69a7de80b1cd3f3729c8bcef0a0",
      "parents": [
        "4d220924439197e00ec209dba8e5ebfaa3bc810c",
        "0574e14f3102909b21f6ff7bdcdfa21a38ffc61d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Dec 04 03:54:35 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 04 03:54:35 2024 +0000"
      },
      "message": "Merge \"AddLoadHookWithPriority function\" into main am: 0574e14f31\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3390980\n\nChange-Id: Ia0076c0e4dc6322062d3855c69223c5d83929439\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "0574e14f3102909b21f6ff7bdcdfa21a38ffc61d",
      "tree": "96b3d4fc9330a69a7de80b1cd3f3729c8bcef0a0",
      "parents": [
        "cc1c206a6c67cef56f783a97bd60e5701f2f3696",
        "da9eeb7f41822326859eaaa7eb02e562c61c6395"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Dec 04 03:03:29 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 04 03:03:29 2024 +0000"
      },
      "message": "Merge \"AddLoadHookWithPriority function\" into main"
    },
    {
      "commit": "da9eeb7f41822326859eaaa7eb02e562c61c6395",
      "tree": "7460a3a2b7c62e5ed29e98de80983f91d006c33e",
      "parents": [
        "1d992619f53605fcb5f79afeb1a90a9b6084cda9"
      ],
      "author": {
        "name": "Spandan Das",
        "email": "spandandas@google.com",
        "time": "Wed Dec 04 01:32:03 2024 +0000"
      },
      "committer": {
        "name": "Spandan Das",
        "email": "spandandas@google.com",
        "time": "Wed Dec 04 02:02:26 2024 +0000"
      },
      "message": "AddLoadHookWithPriority function\n\nThis allows users to add a load hook at a specified priority. Priority\nwill be specified using an int. Hooks with higher priority will run\nlater than hooks with lower priority.\n\nOne use case for this is to defer running module creating load hooks to\nafter soong config module hooks.\n\nTest: m nothing --no-skip-soong-tests\nChange-Id: I00afcb8a000d6e41ad5534654b39c625cf719b6f\n"
    },
    {
      "commit": "c35cac1b357fd3a1cf54c72129ae66dcc60f4d27",
      "tree": "179ac5f4e30074c638a0919f108c79d3b94113e7",
      "parents": [
        "01167e6370fc26ec0e86a5bdf10dca3a55453814",
        "4d220924439197e00ec209dba8e5ebfaa3bc810c"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Wed Dec 04 01:14:49 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 04 01:14:49 2024 +0000"
      },
      "message": "Support ModuleProxy in a few blueprint singleton methods. am: cc1c206a6c am: 4d22092443\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3390979\n\nChange-Id: I3c3c1dde618a6f1c707e9cafeb96e00b2b556909\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "4d220924439197e00ec209dba8e5ebfaa3bc810c",
      "tree": "179ac5f4e30074c638a0919f108c79d3b94113e7",
      "parents": [
        "9936245197fa1c260216762fb939fb62dc2a3997",
        "cc1c206a6c67cef56f783a97bd60e5701f2f3696"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Wed Dec 04 00:50:07 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 04 00:50:07 2024 +0000"
      },
      "message": "Support ModuleProxy in a few blueprint singleton methods. am: cc1c206a6c\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3390979\n\nChange-Id: Ic04bf1e2f95dfcdd62c2253b37cf43ecfe25d959\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "cc1c206a6c67cef56f783a97bd60e5701f2f3696",
      "tree": "179ac5f4e30074c638a0919f108c79d3b94113e7",
      "parents": [
        "1d992619f53605fcb5f79afeb1a90a9b6084cda9"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Tue Dec 03 23:07:55 2024 +0000"
      },
      "committer": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Tue Dec 03 23:07:55 2024 +0000"
      },
      "message": "Support ModuleProxy in a few blueprint singleton methods.\n\nBug: 377723687\nTest: Unit tests and compare the ninja and mk files generated.\nChange-Id: I792956e25f931ff0dc832d902d197571b00dfba5\n"
    },
    {
      "commit": "01167e6370fc26ec0e86a5bdf10dca3a55453814",
      "tree": "a2eedadd54dae41bca4380668490e70424554b35",
      "parents": [
        "866d6d8224fd554376863e8c5f10049c54a7416d",
        "9936245197fa1c260216762fb939fb62dc2a3997"
      ],
      "author": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Mon Nov 25 20:06:00 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Nov 25 20:06:00 2024 +0000"
      },
      "message": "Add support for selects on string lists am: 1d992619f5 am: 9936245197\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3367325\n\nChange-Id: I00347007abbe0149382cf9bc8f3b5ff57036a95a\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "9936245197fa1c260216762fb939fb62dc2a3997",
      "tree": "a2eedadd54dae41bca4380668490e70424554b35",
      "parents": [
        "c9f06154fac5e246f23101a7d65653d4c9d56356",
        "1d992619f53605fcb5f79afeb1a90a9b6084cda9"
      ],
      "author": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Mon Nov 25 19:30:05 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Nov 25 19:30:05 2024 +0000"
      },
      "message": "Add support for selects on string lists am: 1d992619f5\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3367325\n\nChange-Id: Icf5e97c01d2b69f3bf3af418ff743e16b160f17a\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "1d992619f53605fcb5f79afeb1a90a9b6084cda9",
      "tree": "a2eedadd54dae41bca4380668490e70424554b35",
      "parents": [
        "97bbbf6c38253434a3b6c7c80586b93412fe8ad8"
      ],
      "author": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Thu Nov 21 11:23:34 2024 -0800"
      },
      "committer": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Fri Nov 22 10:41:02 2024 -0800"
      },
      "message": "Add support for selects on string lists\n\nCurrently there\u0027s no patterns that match string lists except for\n\"any\", but that should be enough for the desired usecase. We may want\nto consider adding patterns to replace the logic for\nandroid_app_import\u0027s prebuilt dpi selection in the future.\n\nBug: 375341427\nTest: m nothing --no-skip-soong-tests\nChange-Id: I9ea9e4c9ccae6a16512b498170b770afd3d0204c\n"
    },
    {
      "commit": "866d6d8224fd554376863e8c5f10049c54a7416d",
      "tree": "f828a6927f90ca48c3f36744783537092fd876d0",
      "parents": [
        "b733a46bbd68e63446e410e7c6d826798b4a6463",
        "c9f06154fac5e246f23101a7d65653d4c9d56356"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Thu Nov 14 02:33:59 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Nov 14 02:33:59 2024 +0000"
      },
      "message": "Add VisitAllModuleVariantProxies to blueprint. am: 97bbbf6c38 am: c9f06154fa\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3348445\n\nChange-Id: I4882c14ead69ae172bb1b12bbf5c7d83d6098ce1\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "c9f06154fac5e246f23101a7d65653d4c9d56356",
      "tree": "f828a6927f90ca48c3f36744783537092fd876d0",
      "parents": [
        "33baf14db1348b740912ff5add6d39ab578d8165",
        "97bbbf6c38253434a3b6c7c80586b93412fe8ad8"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Wed Nov 13 22:24:43 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Nov 13 22:24:43 2024 +0000"
      },
      "message": "Add VisitAllModuleVariantProxies to blueprint. am: 97bbbf6c38\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3348445\n\nChange-Id: I81dd8e5c73618cc6d41d9229b1c1a0eaab7b6aca\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "b733a46bbd68e63446e410e7c6d826798b4a6463",
      "tree": "d155a30f64fd429f4d484cec62cfaf825a6849bd",
      "parents": [
        "16010d56c9d90e810a447fedbe336721b85e1053",
        "33baf14db1348b740912ff5add6d39ab578d8165"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Wed Nov 13 19:07:35 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Nov 13 19:07:35 2024 +0000"
      },
      "message": "Merge \"Support ModuleProxy in OtherModuleType, OtherModuleErrorf. Also removed OtherModuleSubDir.\" into main am: cb8421ffd7 am: 33baf14db1\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3344264\n\nChange-Id: I8897503fe361fe1f9719397e022a8843d54b3cb4\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "97bbbf6c38253434a3b6c7c80586b93412fe8ad8",
      "tree": "f828a6927f90ca48c3f36744783537092fd876d0",
      "parents": [
        "cb8421ffd7a893bd95cb9a93f6db4b2e4d34c7d9"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Tue Nov 12 20:15:07 2024 +0000"
      },
      "committer": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Wed Nov 13 18:49:05 2024 +0000"
      },
      "message": "Add VisitAllModuleVariantProxies to blueprint.\n\nBug: 377723687\nTest: Compare ninja and mk files generated.\nChange-Id: I79f9d9d230eec5ffe26ace30b60263f85e6cad36\n"
    },
    {
      "commit": "33baf14db1348b740912ff5add6d39ab578d8165",
      "tree": "d155a30f64fd429f4d484cec62cfaf825a6849bd",
      "parents": [
        "f5ad6a033bb36a38658473721c28aa875fc08af0",
        "cb8421ffd7a893bd95cb9a93f6db4b2e4d34c7d9"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Wed Nov 13 18:43:28 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Nov 13 18:43:28 2024 +0000"
      },
      "message": "Merge \"Support ModuleProxy in OtherModuleType, OtherModuleErrorf. Also removed OtherModuleSubDir.\" into main am: cb8421ffd7\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3344264\n\nChange-Id: I6a97382e9b36c40ae4cd471522fc3bf9ed4e4e7d\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "cb8421ffd7a893bd95cb9a93f6db4b2e4d34c7d9",
      "tree": "d155a30f64fd429f4d484cec62cfaf825a6849bd",
      "parents": [
        "7b2f6ffb3f6fa570fc7dd084e9d0d23b428f90ea",
        "60f7014c83fa779ff9b89b51684dd87f89b611a2"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Wed Nov 13 18:14:21 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 13 18:14:21 2024 +0000"
      },
      "message": "Merge \"Support ModuleProxy in OtherModuleType, OtherModuleErrorf. Also removed OtherModuleSubDir.\" into main"
    },
    {
      "commit": "16010d56c9d90e810a447fedbe336721b85e1053",
      "tree": "0fe82e1e8252cd39c31e56633fe2866e7fb10906",
      "parents": [
        "e1ea85c3badefb6ae7320a3950a452acdb568264",
        "f5ad6a033bb36a38658473721c28aa875fc08af0"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Tue Nov 12 21:54:37 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Nov 12 21:54:37 2024 +0000"
      },
      "message": "Merge \"Change GetModuleFromPathDep to use ModuleProxy.\" into main am: 7b2f6ffb3f am: f5ad6a033b\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3343488\n\nChange-Id: I4c69c04644d5ecf3687c06421e33f39f48f7b42a\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "f5ad6a033bb36a38658473721c28aa875fc08af0",
      "tree": "0fe82e1e8252cd39c31e56633fe2866e7fb10906",
      "parents": [
        "b822ea481a178f9ae0788150cc03f379199724fc",
        "7b2f6ffb3f6fa570fc7dd084e9d0d23b428f90ea"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Tue Nov 12 21:32:41 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Nov 12 21:32:41 2024 +0000"
      },
      "message": "Merge \"Change GetModuleFromPathDep to use ModuleProxy.\" into main am: 7b2f6ffb3f\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3343488\n\nChange-Id: Ib9dc6706ccc67d500dc1adbf0b695f6075a67104\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "7b2f6ffb3f6fa570fc7dd084e9d0d23b428f90ea",
      "tree": "0fe82e1e8252cd39c31e56633fe2866e7fb10906",
      "parents": [
        "685d7febd64c3db703852a6957f493e1d02c3661",
        "ef71ba93d0fa9f75179e45b76c4abd0671b0b051"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Tue Nov 12 20:56:56 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 12 20:56:56 2024 +0000"
      },
      "message": "Merge \"Change GetModuleFromPathDep to use ModuleProxy.\" into main"
    },
    {
      "commit": "e1ea85c3badefb6ae7320a3950a452acdb568264",
      "tree": "033a33c66fba92a14ebc402b667fd7197bd8e7a7",
      "parents": [
        "6d699bf23147daba8400f9d6e0bbe62c0d5ffdea",
        "b822ea481a178f9ae0788150cc03f379199724fc"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Nov 12 06:35:09 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Nov 12 06:35:09 2024 +0000"
      },
      "message": "Merge \"Do not read moduleInfo map in Context.ModuleErrorf\" into main am: 685d7febd6 am: b822ea481a\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3342460\n\nChange-Id: Id431aba86e8e222813084ea35f8cf0111f02c4f9\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "b822ea481a178f9ae0788150cc03f379199724fc",
      "tree": "033a33c66fba92a14ebc402b667fd7197bd8e7a7",
      "parents": [
        "68b2011c76b6d8bb1cd842cfef8984986b430490",
        "685d7febd64c3db703852a6957f493e1d02c3661"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Nov 12 06:11:21 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Nov 12 06:11:21 2024 +0000"
      },
      "message": "Merge \"Do not read moduleInfo map in Context.ModuleErrorf\" into main am: 685d7febd6\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3342460\n\nChange-Id: I61d05672e398574ae4378342d56198f11314006d\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "685d7febd64c3db703852a6957f493e1d02c3661",
      "tree": "033a33c66fba92a14ebc402b667fd7197bd8e7a7",
      "parents": [
        "9fa6ea5c8e2046e543fdb843baf8919ec4210ec2",
        "778c8352a5d4a2adb474f1432377537267b79eb3"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Nov 12 05:34:01 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 12 05:34:01 2024 +0000"
      },
      "message": "Merge \"Do not read moduleInfo map in Context.ModuleErrorf\" into main"
    },
    {
      "commit": "778c8352a5d4a2adb474f1432377537267b79eb3",
      "tree": "6f653d31665492b452221cb35c6cfbe7dabb286f",
      "parents": [
        "6879ab90a6f4ee0ca61ea22b22f991f5f2ef1fc0"
      ],
      "author": {
        "name": "Jihoon Kang",
        "email": "jihoonkang@google.com",
        "time": "Tue Nov 12 00:33:23 2024 +0000"
      },
      "committer": {
        "name": "Jihoon Kang",
        "email": "jihoonkang@google.com",
        "time": "Tue Nov 12 01:36:13 2024 +0000"
      },
      "message": "Do not read moduleInfo map in Context.ModuleErrorf\n\nInstead, introduce Context.moduleErrorf that accepts *moduleInfo so that it can\nbe used in baseModuleContext.ModuleErrorf to prevent concurrent map read\nwrite error.\n\nTest: m nothing\nBug: 378403137\nBug: 378298832\nChange-Id: I69f0ead201047b12d577702069c040d838b5a035\n"
    },
    {
      "commit": "60f7014c83fa779ff9b89b51684dd87f89b611a2",
      "tree": "d314cac5f6081df93033eb4552b44620b569a455",
      "parents": [
        "ef71ba93d0fa9f75179e45b76c4abd0671b0b051"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Mon Nov 11 22:26:52 2024 +0000"
      },
      "committer": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Mon Nov 11 22:26:52 2024 +0000"
      },
      "message": "Support ModuleProxy in OtherModuleType, OtherModuleErrorf. Also removed\nOtherModuleSubDir.\n\nBug: 377723687\nTest: Check the ninja and mk files.\nChange-Id: I0fc8c62759699205bf07556649d0e4792aecc7be\n"
    },
    {
      "commit": "ef71ba93d0fa9f75179e45b76c4abd0671b0b051",
      "tree": "cf0a1ea717dfc591fac15f6c3fa31130652927e6",
      "parents": [
        "9fa6ea5c8e2046e543fdb843baf8919ec4210ec2"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Sat Nov 09 01:18:15 2024 +0000"
      },
      "committer": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Sat Nov 09 01:18:15 2024 +0000"
      },
      "message": "Change GetModuleFromPathDep to use ModuleProxy.\n\nBug: 377723687\nTest: Compare ninja and mk files generated.\nChange-Id: Ieb8432dc538a33df5accd556ac694c386965c19f\n"
    },
    {
      "commit": "6d699bf23147daba8400f9d6e0bbe62c0d5ffdea",
      "tree": "0ed915f55a6c1b6b947be66d607a4d7e65f7fc0b",
      "parents": [
        "14192c1d3fb5a70f27cc8b39dd50b99b692106e9",
        "68b2011c76b6d8bb1cd842cfef8984986b430490"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Thu Nov 07 23:14:48 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Nov 07 23:14:48 2024 +0000"
      },
      "message": "Replace FinalModule with IsFinalModule. am: 9fa6ea5c8e am: 68b2011c76\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3343180\n\nChange-Id: I7ecff37fee37a67526a2384da53ccc85d8c58774\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "68b2011c76b6d8bb1cd842cfef8984986b430490",
      "tree": "0ed915f55a6c1b6b947be66d607a4d7e65f7fc0b",
      "parents": [
        "b04b6ce55378a25ec93a80dfdf3d8bac75bf3602",
        "9fa6ea5c8e2046e543fdb843baf8919ec4210ec2"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Thu Nov 07 22:52:47 2024 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Nov 07 22:52:47 2024 +0000"
      },
      "message": "Replace FinalModule with IsFinalModule. am: 9fa6ea5c8e\n\nOriginal change: https://android-review.googlesource.com/c/platform/build/blueprint/+/3343180\n\nChange-Id: Ifb0f9945224afbfdb5a9ccbd3c8d48026d0928b6\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "9fa6ea5c8e2046e543fdb843baf8919ec4210ec2",
      "tree": "0ed915f55a6c1b6b947be66d607a4d7e65f7fc0b",
      "parents": [
        "f5a30ed0ff92a732ee3768704e446ff59dee94d6"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Thu Nov 07 19:22:26 2024 +0000"
      },
      "committer": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Thu Nov 07 20:03:26 2024 +0000"
      },
      "message": "Replace FinalModule with IsFinalModule.\n\nBug: 377723687\nTest: Compare generated mk and ninja files.\nChange-Id: Iaaa0cb89f2f352dc26ab36a2b02c14f176cf20e8\n"
    }
  ],
  "next": "14192c1d3fb5a70f27cc8b39dd50b99b692106e9"
}
