)]}'
{
  "commit": "0346a5df836ef904c64fd50f1fe73695ec4d9e67",
  "tree": "06817b0c7de64f9c2ba88ac7131a2859fd02935b",
  "parents": [
    "f0a495f9fe1b163a457b6c83c910d1b2c83d3b90",
    "7ffe1f1bec020e285397345894872d4c8b4153bb"
  ],
  "author": {
    "name": "stuartmorgan-g",
    "email": "stuartmorgan@google.com",
    "time": "Fri Jun 12 15:55:32 2026 -0400"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Jun 12 15:55:32 2026 -0400"
  },
  "message": "[cupertino_ui,material_ui] Import from flutter/flutter (#11888)\n\nA recreate of https://github.com/flutter/packages/pull/11669 by\nrecopying all flutter/flutter stuff from scratch, and cherry picking all\nof my subsequent commits.\n\nThis is a single super mega PR attempting to migrate all Material and\nCupertino code from flutter/flutter to material_ui and cupertino_ui.\n\n### How the PR was created\n\n```\ngit filter-repo --path packages/flutter/lib/src/material --path packages/flutter/test/material --path examples/api/lib/material --path examples/api/test/material --path packages/flutter/lib/src/cupertino --path packages/flutter/test/cupertino --path examples/api/lib/cupertino --path examples/api/test/cupertino --path packages/flutter/lib/fix_data/fix_material --path packages/flutter/test_fixes/material --path packages/flutter/lib/fix_data/fix_cupertino.yaml --path packages/flutter/test_fixes/cupertino \ncd ../packages\ngit remote add source-origin ../flutter\ngit fetch source-origin\ngit merge source-origin/master --allow-unrelated-histories\n```\n\nI then cherry picked everything I could from the previous PR\n(https://github.com/flutter/packages/pull/11669), skipping merge\ncommits.\n\n### What was included in the copy\n\n * The main source code (packages/flutter/lib/src/\u003cmaterial/cupertino\u003e).\n * The widget/unit tests (packages/flutter/test/\u003cmaterial/cupertino\u003e).\n * The examples (examples/api/lib/\u003cmaterial/cupertino\u003e).\n * The example tests (examples/api/test/\u003cmaterial/cupertino\u003e).\n * The dart fixes (packages/flutter/lib/fix_data).\n * The dart fix tests (packages/flutter/test_fixes).\n\n### TODOs\n\n * [x] Do exports for Material and Cupertino.\n* [x] Confirm the directory structure (current plan: lib/src/ for now,\nreorganize after 1.0.0).\n * [x] Try installing and using the packages locally.\n* [x] Try running the tests locally (works except for tests with cross\nimports).\n* [x] Try running the example tests locally (work after migrating\n`package:flutter_api_samples` import).\n * [x] Verify examples work.\n* [x] Verify that `git blame` appears the same in both repos on various\nfiles. (Yes, but the SHAs are different, as expected.)\n * [x] Add auxiliary files for dart fixes and tests.\n* [x] Port imports of material/cupertino in places like examples/test to\nuse the new packages.\n * [x] ~~Fix~~ Skip all test cross imports.\n* [x] Make sure the analyzer is working in the same exact way as it does\nin flutter/flutter. (https://github.com/flutter/packages/pull/11692)\n\n### Open questions\n\n * ~~Are we sure about the directory structure?~~\n   * Confirmed with @dkwingsmt and @QuncCccccc.\n* Anything else that should be ported along with this? If these commits\ntouch files that are not included in this PR, but that we later port in,\nthe commits will likely have different SHAs.\n* I\u0027m hoping we got it all at this point but if anyone notices anything\nlet me know.\n * ~~Do we like the examples setup?~~\n* Worked with @stuartmorgan-g and @chunhtai to get this to match the\nother packages in this repo.\n* Are we cool with skipping cross imports tests and fixing them later?\nThis approach should not fracture commits because the commits were made\nin flutter/flutter after the code was copied.\n   * Tests are in the temporarily_skipped_tests folder.\n\n### How to try using these packages\n\nAdd the local packages to your project:\n\n```\nflutter pub add cupertino_ui --path ../../packages/packages/cupertino_ui\nflutter pub add material_ui --path ../../packages/packages/material_ui  \n```\n\nThen import the packages instead of the libraries in the SDK:\n\n```diff\n- import \u0027package:flutter/material.dart\u0027;\n- import \u0027package:flutter/cupertino.dart\u0027;\n+ import \u0027package:material_ui/material_ui.dart\u0027;\n+ import \u0027package:cupertino_ui/cupertino_ui.dart\u0027;\n```\n\n### How to review this PR\n\n * Do read the PR description at the top, including Open Questions.\n* Don\u0027t read all 600k+ lines changed! Ignore the main source code and\ntest files. The only thing I changed in there is to change imports from\n`flutter/material.dart` to `material_ui/material_ui.dart` and the\nequivalent for Cupertino.\n* Do look closely at the file tree browser on the left side of the\n\"Files Changed\" tab, though. Check the directory structure of\nmaterial_ui and cupertino_ui and make sure it looks good to you.\n* Do take a look at the small config files like pubspecs,\nanalysis_options, etc.\n* See the examples and their tests now located in\nmaterial_ui/material_ui_examples and cupertino_ui/cupertino_ui_examples.\n* See the data driven fixes in lib/fix_data and their tests in\ntest_fixes.\n\nAnd let me know if there is any code that\u0027s not in this PR that you\nexpected to be. It will be best to get everything we can in this one PR\nrather than following up later in order to prevent fragmenting commits.\n\n### Resources\n\n * Closed PR where i tried to import everything but forgot dart fixes.\n    - https://github.com/flutter/packages/pull/11568\n* Closed PR where I tried and failed to import a single widget by\nindividually importing all of its transitive dependencies with `git\nfilter-repo` commands.\n   * https://github.com/flutter/packages/pull/11526\n* Closed PR where I tried to import just colors.dart (no dependencies),\nbut found that it would create different SHAs between it and this mega\nPR.\n   * https://github.com/flutter/packages/pull/11543\n* Closed PR where I tried to import all of Material, before realizing\nthat I would create different SHAs between that PR and a future\nCupertino PR.\n   * https://github.com/flutter/packages/pull/11549\n* Closed main big PR with most of the history:\nhttps://github.com/flutter/packages/pull/11669\n* Closed PR where I tried to cherry pick everything:\nhttps://github.com/flutter/packages/pull/11887",
  "tree_diff": []
}
