docs: delete UPDATING_ENGINE.md (#21)

Co-authored-by: Eric Seidel <eric@shorebird.dev>
This commit is contained in:
Bryan Oltman
2023-06-12 14:19:36 -04:00
committed by GitHub
parent 21bda06fdf
commit 02c84f6e1d
-30
View File
@@ -1,30 +0,0 @@
Shorebird currently maintains patches to the Flutter Engine to integrate the Shorebird updater library.
We have changes to both flutter/engine and flutter/buildroot. We need to make sure those changes are applied to the correct version of each, to be compatible with a given `flutter/flutter` version.
* flutter/flutter version is whatever is the latest `stable` in flutter/flutter.
* From that you can get the `flutter/engine` version in `bin/internal/engine.version` in flutter/flutter.
* From that you can get the `flutter/buildroot` version in `DEPS` in `flutter/engine`
Working from a `flutter/engine` checkout can be confusing because the layout is:
src/ <- `flutter/buildroot`
src/flutter <- `flutter/engine`
`gclient` uses the file in `src/flutter/DEPS` to control the whole checkout, as directed by your `.gclient` file in the parent directory of `src`.
Here are the steps to update those forks every time Flutter releases:
1. You need the release name / git id for the Flutter release. e.g. 3.7.7
1. Fetch flutter at that tag
1. Look at engine version https://github.com/flutter/flutter/blob/3.7.7/bin/internal/engine.version
See that is 1837b5be5f0f1376a1ccf383950e83a80177fb4e.
1. Rebase our engine patches onto that engine version. https://github.com/shorebirdtech/engine/tree/stable_codepush
If the engine is tagged correctly (it isn't always) it's as simple as:
`git rebase --onto 3.7.7 3.7.6
1. Should then also look at DEPS file in engine: https://github.com/flutter/engine/blob/3.7.7/DEPS
Where we are looking for the buildroot hash: https://github.com/flutter/engine/blob/3.7.7/DEPS#L239
1. We now need to rebase the buildroot (src/) changes onto the buildroot version in that DEPS. https://github.com/shorebirdtech/buildroot/tree/stable_codepush
e.g. `git rebase --onto 8747bce41d0dc6d9dc45c4d1b46d2100bb9ee688 93f7f85422a8604bdc44ef76c3f105ead65e8c1c`
Where as that should be `--onto new_base_revision previous_base_revision`. The base revision is the git id *before* we started making changes.
1. Once you've successfully rebased the buildroot, you then need to change the buildroot id in our fork of the engine (so that when others use `gclient sync` it pulls our modified buildroot rather than an unmodified one.
1. Finally, update the [Shorebird CLI flutterEngineRevision](https://github.com/shorebirdtech/shorebird/blob/main/packages/shorebird_cli/lib/src/flutter_engine_revision.dart#L3) to the new Flutter engine revision