)]}'
{
  "commit": "15cedbc3f0c9f0101e82b791e8e382e03ef284e0",
  "tree": "b9c7c41afb744ef491e34eab05f952c4e3f85557",
  "parents": [
    "0a8eec53bdea3e3be5b242c8ad5c43f73c39b2a2"
  ],
  "author": {
    "name": "stuartmorgan",
    "email": "stuartmorgan@google.com",
    "time": "Fri May 14 20:04:26 2021 -0400"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri May 14 20:04:26 2021 -0400"
  },
  "message": "Begin migrating tools to NNBD (#3891)\n\n- Updates dependencies to null-safe versions\r\n- Migrates common.dart (which doesn\u0027t depend on anything)\r\n- Migrates common_tests.dart and its one dependency, utils.dart\r\n- Adds build_runner for Mockito mock generation\r\n- Adds a new utility methods for getting arguments that handle both the casting and the removal of nullability to address a common problematic pattern while migrating code.\r\n  - Converts all files, not just the migrated ones, to those new helpers.\r\n\r\nMigrating common.dart and utils.dart should unblock a command-by-command migration to null safety.\r\n\r\nReverts the separate of podspect lints into a step that doesn\u0027t do a Flutter upgrade\r\n(https://github.com/flutter/plugins/pull/3700) because without that step we had a\r\nversion of Dart too old to run null-safe tooling.\r\n\r\nFirst step of https://github.com/flutter/flutter/issues/81912",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e3d6f7881382aff9d3edc35c34cad1e79c03b196",
      "old_mode": 33188,
      "old_path": ".cirrus.yml",
      "new_id": "2598bfe7e4269ad94bc13c59248545f47d6d523f",
      "new_mode": 33188,
      "new_path": ".cirrus.yml"
    },
    {
      "type": "modify",
      "old_id": "0f30bee0d258b43096e7eca8141cd8c0113226c3",
      "old_mode": 33188,
      "old_path": "script/tool/bin/flutter_plugin_tools.dart",
      "new_id": "eea0db5a7f01255afe9847668c22e10ceaaaa401",
      "new_mode": 33188,
      "new_path": "script/tool/bin/flutter_plugin_tools.dart"
    },
    {
      "type": "modify",
      "old_id": "61be5f98a6208ead63ecd93e86c958afebfb191e",
      "old_mode": 33188,
      "old_path": "script/tool/lib/src/analyze_command.dart",
      "new_id": "ec22e0683924411df4e27e44a5a52b518fbe5c8f",
      "new_mode": 33188,
      "new_path": "script/tool/lib/src/analyze_command.dart"
    },
    {
      "type": "modify",
      "old_id": "0069c0586810d56ca289f92b31c5f4f5643e088d",
      "old_mode": 33188,
      "old_path": "script/tool/lib/src/build_examples_command.dart",
      "new_id": "f7129865630d313b24a22318a1daf3907fcd5b51",
      "new_mode": 33188,
      "new_path": "script/tool/lib/src/build_examples_command.dart"
    },
    {
      "type": "modify",
      "old_id": "1e864fcbc38a38df6bc13be5820cfb2eeed0cbf0",
      "old_mode": 33188,
      "old_path": "script/tool/lib/src/common.dart",
      "new_id": "e975ec1ebeb5548e3db4e604e0c4bd9aa64e9f75",
      "new_mode": 33188,
      "new_path": "script/tool/lib/src/common.dart"
    },
    {
      "type": "modify",
      "old_id": "4b5b4c6b8df41f944122ea2e69aae2ce8e1e170a",
      "old_mode": 33188,
      "old_path": "script/tool/lib/src/create_all_plugins_app_command.dart",
      "new_id": "d825703f17316fd8955fbf3e81d5684d400b85c1",
      "new_mode": 33188,
      "new_path": "script/tool/lib/src/create_all_plugins_app_command.dart"
    },
    {
      "type": "modify",
      "old_id": "1572b941078ed47936d6f8a7b9b03df572a3f53a",
      "old_mode": 33188,
      "old_path": "script/tool/lib/src/drive_examples_command.dart",
      "new_id": "76ba8205e177d2ee6c5242b8d915f5e9e920ee39",
      "new_mode": 33188,
      "new_path": "script/tool/lib/src/drive_examples_command.dart"
    },
    {
      "type": "modify",
      "old_id": "ff7d05bf4e89e9212e040ab607ea76ab777a30eb",
      "old_mode": 33188,
      "old_path": "script/tool/lib/src/firebase_test_lab_command.dart",
      "new_id": "2d91deffa2c4a4d38934a432ff623496d7776c17",
      "new_mode": 33188,
      "new_path": "script/tool/lib/src/firebase_test_lab_command.dart"
    },
    {
      "type": "modify",
      "old_id": "9c29f0f8c6840bfa046ef6d034609207b86684f0",
      "old_mode": 33188,
      "old_path": "script/tool/lib/src/format_command.dart",
      "new_id": "b3a8bd04edb510dea121f44b81f7233caa2e3f2a",
      "new_mode": 33188,
      "new_path": "script/tool/lib/src/format_command.dart"
    },
    {
      "type": "modify",
      "old_id": "5df97627cecd06119eef425de7c31191d7be6c9f",
      "old_mode": 33188,
      "old_path": "script/tool/lib/src/java_test_command.dart",
      "new_id": "dff83d37315f16f6efb4b59c26da37eae21c18c9",
      "new_mode": 33188,
      "new_path": "script/tool/lib/src/java_test_command.dart"
    },
    {
      "type": "modify",
      "old_id": "a6528640b8286baa4b5d7cc066b336dace149b1d",
      "old_mode": 33188,
      "old_path": "script/tool/lib/src/license_check_command.dart",
      "new_id": "cc4eb96fac395899ceced1c36a366d9c680055ee",
      "new_mode": 33188,
      "new_path": "script/tool/lib/src/license_check_command.dart"
    },
    {
      "type": "modify",
      "old_id": "ebcefd6c2343ba9cb6ca0cc2fe71928a51f26840",
      "old_mode": 33188,
      "old_path": "script/tool/lib/src/lint_podspecs_command.dart",
      "new_id": "0bf4c69b24f4a1add6b6f07335b218e78507b05d",
      "new_mode": 33188,
      "new_path": "script/tool/lib/src/lint_podspecs_command.dart"
    },
    {
      "type": "modify",
      "old_id": "49302a91ad27b36686d88ed7f79b7c047f1f2c3a",
      "old_mode": 33188,
      "old_path": "script/tool/lib/src/list_command.dart",
      "new_id": "cac6cfcf352e295476ba60d8515ebacb6b3a1dcf",
      "new_mode": 33188,
      "new_path": "script/tool/lib/src/list_command.dart"
    },
    {
      "type": "modify",
      "old_id": "6fba3b34b955304caf7d97cd905aec3e4a02122b",
      "old_mode": 33188,
      "old_path": "script/tool/lib/src/main.dart",
      "new_id": "4b0e85704b244115d816eeffa482cd6796667d4f",
      "new_mode": 33188,
      "new_path": "script/tool/lib/src/main.dart"
    },
    {
      "type": "modify",
      "old_id": "84503f4540c64ff8d566e5befbbe251009def69b",
      "old_mode": 33188,
      "old_path": "script/tool/lib/src/publish_check_command.dart",
      "new_id": "3f90465d4f7d4faf24743ff75aaec93c0af34609",
      "new_mode": 33188,
      "new_path": "script/tool/lib/src/publish_check_command.dart"
    },
    {
      "type": "modify",
      "old_id": "1c8a2dc575259b6683c8c3bc4ba5baea00890701",
      "old_mode": 33188,
      "old_path": "script/tool/lib/src/publish_plugin_command.dart",
      "new_id": "cb72c189721536d82fb06a2b218a6a6f64b3c195",
      "new_mode": 33188,
      "new_path": "script/tool/lib/src/publish_plugin_command.dart"
    },
    {
      "type": "modify",
      "old_id": "bb4f9c12a77f36e3e5dbcefd1e37434e6b9aa126",
      "old_mode": 33188,
      "old_path": "script/tool/lib/src/test_command.dart",
      "new_id": "c4aeab7022b8c9d0ee29ef64ab5315b0c2e04f9d",
      "new_mode": 33188,
      "new_path": "script/tool/lib/src/test_command.dart"
    },
    {
      "type": "modify",
      "old_id": "475caf5d285d0513b40b54c4217c6d857d19b01e",
      "old_mode": 33188,
      "old_path": "script/tool/lib/src/version_check_command.dart",
      "new_id": "a802c4d425ee7ec02fc8c8ec7ec4cfefdefe6257",
      "new_mode": 33188,
      "new_path": "script/tool/lib/src/version_check_command.dart"
    },
    {
      "type": "modify",
      "old_id": "64f85577dbce60718029cb0f9a03d99ab1323aa9",
      "old_mode": 33188,
      "old_path": "script/tool/lib/src/xctest_command.dart",
      "new_id": "335e0054fc0599af4d20d81364e7ac26ed2d6102",
      "new_mode": 33188,
      "new_path": "script/tool/lib/src/xctest_command.dart"
    },
    {
      "type": "modify",
      "old_id": "58dfc9fbd8b675c653f421b476d56f2488df96a6",
      "old_mode": 33188,
      "old_path": "script/tool/pubspec.yaml",
      "new_id": "725c8395b819cff61b0b30985290231717cbc7ec",
      "new_mode": 33188,
      "new_path": "script/tool/pubspec.yaml"
    },
    {
      "type": "modify",
      "old_id": "11acb59a474dc8ec15b76d3eb15ec0f3237f60d7",
      "old_mode": 33188,
      "old_path": "script/tool/test/analyze_command_test.dart",
      "new_id": "1e656b4f75e423556013e49e3409ef0ce1100d56",
      "new_mode": 33188,
      "new_path": "script/tool/test/analyze_command_test.dart"
    },
    {
      "type": "modify",
      "old_id": "40da27d449233444a6f295fdabc1c13dc166228c",
      "old_mode": 33188,
      "old_path": "script/tool/test/build_examples_command_test.dart",
      "new_id": "7b488879f3be1c0e8521ebbfd638c30cda8f552d",
      "new_mode": 33188,
      "new_path": "script/tool/test/build_examples_command_test.dart"
    },
    {
      "type": "modify",
      "old_id": "d6ac449e7fd38ccdf5d7eb3d4984317ed0dc9d4a",
      "old_mode": 33188,
      "old_path": "script/tool/test/common_test.dart",
      "new_id": "477e186aa24bf219f935ec02e1301a5fda3ae571",
      "new_mode": 33188,
      "new_path": "script/tool/test/common_test.dart"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b7f7807b3b052d224ab38b9187086bd26b10ee55",
      "new_mode": 33188,
      "new_path": "script/tool/test/common_test.mocks.dart"
    },
    {
      "type": "modify",
      "old_id": "fedc04684631321071a14dcec178d9f4506980f0",
      "old_mode": 33188,
      "old_path": "script/tool/test/create_all_plugins_app_command_test.dart",
      "new_id": "caf4218dc161eda935deea039bc603651e3ae0b3",
      "new_mode": 33188,
      "new_path": "script/tool/test/create_all_plugins_app_command_test.dart"
    },
    {
      "type": "modify",
      "old_id": "5ba8d8af25ff5fb3b63f5a536d5925ca960ad05a",
      "old_mode": 33188,
      "old_path": "script/tool/test/drive_examples_command_test.dart",
      "new_id": "7905bb279f4a3633e90d4b4a196f3272b7d39cc3",
      "new_mode": 33188,
      "new_path": "script/tool/test/drive_examples_command_test.dart"
    },
    {
      "type": "modify",
      "old_id": "d6068691d5490b9e577ba460e5a7ce65bc8750c5",
      "old_mode": 33188,
      "old_path": "script/tool/test/firebase_test_lab_test.dart",
      "new_id": "b4e5b5b8c7232b484d40beb356995c6d1dc95e9d",
      "new_mode": 33188,
      "new_path": "script/tool/test/firebase_test_lab_test.dart"
    },
    {
      "type": "modify",
      "old_id": "ba016915223d125c7d18817cb3ba2dbb57c96458",
      "old_mode": 33188,
      "old_path": "script/tool/test/java_test_command_test.dart",
      "new_id": "cfa8d448f37496073ca245cb4a5296b20402c5e1",
      "new_mode": 33188,
      "new_path": "script/tool/test/java_test_command_test.dart"
    },
    {
      "type": "modify",
      "old_id": "23de2581b9be60bc8d2ee439a5f27f15c7706558",
      "old_mode": 33188,
      "old_path": "script/tool/test/license_check_command_test.dart",
      "new_id": "a0c74fc6acd62675a8573da86bc04696732d0529",
      "new_mode": 33188,
      "new_path": "script/tool/test/license_check_command_test.dart"
    },
    {
      "type": "modify",
      "old_id": "a1fa1f7c7743a77bb62d9fc20ec951a766e200e6",
      "old_mode": 33188,
      "old_path": "script/tool/test/lint_podspecs_command_test.dart",
      "new_id": "13bb1cc8d32f7a6caa82dff0d83a544e5359101b",
      "new_mode": 33188,
      "new_path": "script/tool/test/lint_podspecs_command_test.dart"
    },
    {
      "type": "modify",
      "old_id": "e7fcfe7a7c4b67dfb2c0784520d5738894d637e2",
      "old_mode": 33188,
      "old_path": "script/tool/test/list_command_test.dart",
      "new_id": "a767671be5c26afb478e4feaf87a7c2af338fbe7",
      "new_mode": 33188,
      "new_path": "script/tool/test/list_command_test.dart"
    },
    {
      "type": "modify",
      "old_id": "ad1f357fb47292259fd18a0362096b38385743ac",
      "old_mode": 33188,
      "old_path": "script/tool/test/mocks.dart",
      "new_id": "a83ca754380faddc1cd6b6d526599bd678e254e3",
      "new_mode": 33188,
      "new_path": "script/tool/test/mocks.dart"
    },
    {
      "type": "modify",
      "old_id": "eca7caf5340363a8cccd96fcaffd525f8280159a",
      "old_mode": 33188,
      "old_path": "script/tool/test/publish_check_command_test.dart",
      "new_id": "8c34b3313a07c5d74578a6d61d90e82b90c33d93",
      "new_mode": 33188,
      "new_path": "script/tool/test/publish_check_command_test.dart"
    },
    {
      "type": "modify",
      "old_id": "b622e05861fa654cf07d36a0894c17aa4d5076dc",
      "old_mode": 33188,
      "old_path": "script/tool/test/publish_plugin_command_test.dart",
      "new_id": "357e72efa004cd7bb8452496982585326decb4fb",
      "new_mode": 33188,
      "new_path": "script/tool/test/publish_plugin_command_test.dart"
    },
    {
      "type": "modify",
      "old_id": "1dd0c158293a09225e85a8a2b6d4f9d0d510183c",
      "old_mode": 33188,
      "old_path": "script/tool/test/test_command_test.dart",
      "new_id": "550249169b9beef3b5fd1f08dea93d7c1689d58b",
      "new_mode": 33188,
      "new_path": "script/tool/test/test_command_test.dart"
    },
    {
      "type": "modify",
      "old_id": "d708dc71bef735109d2d9588196d29a89ac59e88",
      "old_mode": 33188,
      "old_path": "script/tool/test/util.dart",
      "new_id": "7d4278f68cc940530c94bc8357f58a84b2b80d27",
      "new_mode": 33188,
      "new_path": "script/tool/test/util.dart"
    },
    {
      "type": "modify",
      "old_id": "d67103f716a12b6fa44deb8446b07d4827faad31",
      "old_mode": 33188,
      "old_path": "script/tool/test/version_check_test.dart",
      "new_id": "cef2ab1cfad336627fd97333b54ee43c21cea400",
      "new_mode": 33188,
      "new_path": "script/tool/test/version_check_test.dart"
    },
    {
      "type": "modify",
      "old_id": "1707dc8cfb8dd38090274665c7c188bd5946d6f6",
      "old_mode": 33188,
      "old_path": "script/tool/test/xctest_command_test.dart",
      "new_id": "53e82ac623e88372c95201585a7e1173361f694f",
      "new_mode": 33188,
      "new_path": "script/tool/test/xctest_command_test.dart"
    }
  ]
}
