-
Notifications
You must be signed in to change notification settings - Fork 6k
Move initialization into FlutterEngine #12806
Move initialization into FlutterEngine #12806
Conversation
|
All (the pull request submitter and all commit authors) CLAs are signed, but one or more commits were authored or co-authored by someone other than the pull request submitter. We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that by leaving a comment that contains only Note to project maintainer: There may be cases where the author cannot leave a comment, or the comment is not properly detected as consent. In those cases, you can manually confirm consent of the commit author(s), and set the ℹ️ Googlers: Go here for more info. |
1 similar comment
|
All (the pull request submitter and all commit authors) CLAs are signed, but one or more commits were authored or co-authored by someone other than the pull request submitter. We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that by leaving a comment that contains only Note to project maintainer: There may be cases where the author cannot leave a comment, or the comment is not properly detected as consent. In those cases, you can manually confirm consent of the commit author(s), and set the ℹ️ Googlers: Go here for more info. |
mklim
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall LGTM. I have one question on run_android_tests.sh.
shell/platform/android/io/flutter/embedding/engine/loader/FlutterLoader.java
Outdated
Show resolved
Hide resolved
shell/platform/android/io/flutter/embedding/engine/loader/FlutterLoader.java
Outdated
Show resolved
Hide resolved
shell/platform/android/io/flutter/embedding/engine/loader/FlutterLoader.java
Show resolved
Hide resolved
shell/platform/android/io/flutter/embedding/engine/loader/FlutterLoader.java
Outdated
Show resolved
Hide resolved
| @@ -0,0 +1,24 @@ | |||
| #!/bin/sh | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd prefer that we put all the test harnesses into run_tests.py instead of having extra bash scripts lying around. Is there a reason to keep this separate, or is it clear to move there?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this the one question that you mentioned in your LGTM?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok. I actually don't know why this is here, or what it's accomplishing. If you can guide me to moving some/all of this to another place, I can do that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks like it builds libapp.so with compile_android_aot.sh, and then runs ./gradlew assembleAndroidTest && ./gradlew connectedAndroidTest.
I think you could just basically convert the bash commands into subprocess.check_call ones in run_tests.py, with a new AndroidIntegration test type to run these under.
The reason I'm suggesting putting it together is just so that all the tests are in one place, but maybe there's some semantic reason to keep the android e2e tests separate? /cc @dnfield and @xster.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's assume I'm an idiot when it comes to bash scripts and interfacing with Python (not really an assumption). @mklim can you outline the approach? There are a lot of Python methods in run_tests.py that my IDE is saying have no usages. Is there some kind of convention name matching going on?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
BTW, would there be any input configurations? For example, java tests let you choose the test, but does it make sense to have any control over which tests runs in the integration case?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm. I've never tried to edit python in a full IDE before, not sure how it would tell what isn't used. I'm not exactly a python expert either.
I think if the ideal is that we want to delete this eventually, we should just leave it here for now instead of moving it. There's not really a lot of point of refactoring it into python if we don't want it around for long. I can sync up with you on how to translate this if you'd like Matt, but with Dan's input I think it's better to just leave it alone after all.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok. I'll leave it as-is. Any other comments on the PR at this point?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, everything LGTM. :)
shell/platform/android/io/flutter/embedding/engine/loader/FlutterLoader.java
Show resolved
Hide resolved
shell/platform/android/io/flutter/embedding/engine/loader/FlutterLoader.java
Show resolved
Hide resolved
|
I'm going to try to rebase this to collapse @xster's commits into a single commit of my own to get rid of the CLA problem. |
a719b99 to
3b35394
Compare
|
CLAs look good, thanks! ℹ️ Googlers: Go here for more info. |
1 similar comment
|
CLAs look good, thanks! ℹ️ Googlers: Go here for more info. |
|
Waiting on luci-engine to go green to land this. |
|
CC @redbrogdon |
3b35394 to
7c2fec1
Compare
[email protected]:flutter/engine.git/compare/eed171ff3538...66bf00b git log eed171f..66bf00b --no-merges --oneline 2019-10-14 [email protected] refactoring chrome_installer (flutter/engine#13122) 2019-10-14 [email protected] Fire PlatformViewController FlutterView callbacks (flutter/engine#13015) 2019-10-14 [email protected] iOS Platform View: Fixed overrelease of the observer. (flutter/engine#13093) 2019-10-14 [email protected] [web] Add basic color per vertex drawVertices API support (flutter/engine#13066) 2019-10-14 [email protected] Support keyboard types on mobile browsers (flutter/engine#13044) 2019-10-14 [email protected] Change IO thread shader cache strategy (flutter/engine#13121) 2019-10-14 [email protected] Roll fuchsia/sdk/core/linux-amd64 from _GTls... to xRgq0... (flutter/engine#13115) 2019-10-14 [email protected] Roll src/third_party/skia 3838fe3c82b4..a7e1b45d9c28 (1 commits) (flutter/engine#13117) 2019-10-14 [email protected] Roll fuchsia/sdk/core/mac-amd64 from E3s7G... to Lk7iT... (flutter/engine#13116) 2019-10-14 [email protected] Roll src/third_party/dart 5fad012d02..892fcf2c45 (15 commits) 2019-10-14 [email protected] Integrate more SkParagraph builder patches (flutter/engine#13094) 2019-10-13 [email protected] Roll fuchsia/sdk/core/mac-amd64 from T3Xkz... to E3s7G... (flutter/engine#13114) 2019-10-12 [email protected] Roll fuchsia/sdk/core/linux-amd64 from lJPDX... to _GTls... (flutter/engine#13113) 2019-10-12 [email protected] Roll fuchsia/sdk/core/mac-amd64 from W9PBe... to T3Xkz... (flutter/engine#13112) 2019-10-12 [email protected] Roll fuchsia/clang/linux-amd64 from q4DVY... to 2EAvs... (flutter/engine#13111) 2019-10-12 [email protected] Roll fuchsia/clang/mac-amd64 from zpVtV... to xTJWs... (flutter/engine#13110) 2019-10-12 [email protected] Roll fuchsia/sdk/core/linux-amd64 from LsxeL... to lJPDX... (flutter/engine#13109) 2019-10-12 [email protected] Roll fuchsia/sdk/core/mac-amd64 from ShVbh... to W9PBe... (flutter/engine#13108) 2019-10-12 [email protected] Roll src/third_party/dart 90ff37e011..5fad012d02 (6 commits) 2019-10-12 [email protected] Roll src/third_party/dart 42dcdf903c..90ff37e011 (7 commits) 2019-10-12 [email protected] Roll src/third_party/skia 8c6c8b0c42e2..3838fe3c82b4 (3 commits) (flutter/engine#13105) 2019-10-12 [email protected] Analyze framework Dart code in presubmit tests (flutter/engine#13037) 2019-10-12 [email protected] [dart_aot_runner] Complete the port of dart_aot_runner (flutter/engine#13103) 2019-10-11 [email protected] Move initialization into FlutterEngine (flutter/engine#12806) 2019-10-11 [email protected] Update felt README (flutter/engine#13097) 2019-10-11 [email protected] Roll src/third_party/dart 9f33e8da04..42dcdf903c (7 commits) 2019-10-11 [email protected] [dart_aot_runner] Generate vmservice aotsnapshots (flutter/engine#13101) 2019-10-11 [email protected] ColorFilter matrix docs (flutter/engine#13100) 2019-10-11 [email protected] cleanup gen_package.py (flutter/engine#13089) 2019-10-11 [email protected] [dart_aot_runner] Use the host_toolchain to build kernels (flutter/engine#13096) 2019-10-11 [email protected] do not wrap font family name (flutter/engine#12801) 2019-10-11 [email protected] Roll src/third_party/skia df640e6d14a5..8c6c8b0c42e2 (12 commits) (flutter/engine#13098) 2019-10-11 [email protected] Remove persistent cache unittest timeout (flutter/engine#13091) 2019-10-11 [email protected] Added FlutterActivity and FlutterFragment hook to cleanUpFlutterEngine() as symmetry for configureFlutterEngine(). (#41943) (flutter/engine#12987) 2019-10-11 [email protected] use rest args for specifying test targets (flutter/engine#13088) 2019-10-11 [email protected] Snapshot the felt tool for faster start-up (flutter/engine#13090) 2019-10-11 [email protected] Roll src/third_party/dart 965b8cb1d8..9f33e8da04 (15 commits) 2019-10-11 [email protected] java imports/style (flutter/engine#13082) 2019-10-11 [email protected] Removed retain cycle from notification center. (flutter/engine#13073) 2019-10-11 [email protected] Roll fuchsia/sdk/core/mac-amd64 from U4IBp... to ShVbh... (flutter/engine#13092) 2019-10-11 [email protected] Roll fuchsia/sdk/core/linux-amd64 from fk6ou... to LsxeL... (flutter/engine#13083) 2019-10-11 [email protected] Roll src/third_party/skia 6c2b2bb02402..df640e6d14a5 (1 commits) (flutter/engine#13080) 2019-10-11 [email protected] Gen package output corrected (flutter/engine#13086) 2019-10-11 [email protected] Print more output when gen_package fails (flutter/engine#13085) ...
[email protected]:flutter/engine.git/compare/eed171ff3538...66bf00b git log eed171f..66bf00b --no-merges --oneline 2019-10-14 [email protected] refactoring chrome_installer (flutter/engine#13122) 2019-10-14 [email protected] Fire PlatformViewController FlutterView callbacks (flutter/engine#13015) 2019-10-14 [email protected] iOS Platform View: Fixed overrelease of the observer. (flutter/engine#13093) 2019-10-14 [email protected] [web] Add basic color per vertex drawVertices API support (flutter/engine#13066) 2019-10-14 [email protected] Support keyboard types on mobile browsers (flutter/engine#13044) 2019-10-14 [email protected] Change IO thread shader cache strategy (flutter/engine#13121) 2019-10-14 [email protected] Roll fuchsia/sdk/core/linux-amd64 from _GTls... to xRgq0... (flutter/engine#13115) 2019-10-14 [email protected] Roll src/third_party/skia 3838fe3c82b4..a7e1b45d9c28 (1 commits) (flutter/engine#13117) 2019-10-14 [email protected] Roll fuchsia/sdk/core/mac-amd64 from E3s7G... to Lk7iT... (flutter/engine#13116) 2019-10-14 [email protected] Roll src/third_party/dart 5fad012d02..892fcf2c45 (15 commits) 2019-10-14 [email protected] Integrate more SkParagraph builder patches (flutter/engine#13094) 2019-10-13 [email protected] Roll fuchsia/sdk/core/mac-amd64 from T3Xkz... to E3s7G... (flutter/engine#13114) 2019-10-12 [email protected] Roll fuchsia/sdk/core/linux-amd64 from lJPDX... to _GTls... (flutter/engine#13113) 2019-10-12 [email protected] Roll fuchsia/sdk/core/mac-amd64 from W9PBe... to T3Xkz... (flutter/engine#13112) 2019-10-12 [email protected] Roll fuchsia/clang/linux-amd64 from q4DVY... to 2EAvs... (flutter/engine#13111) 2019-10-12 [email protected] Roll fuchsia/clang/mac-amd64 from zpVtV... to xTJWs... (flutter/engine#13110) 2019-10-12 [email protected] Roll fuchsia/sdk/core/linux-amd64 from LsxeL... to lJPDX... (flutter/engine#13109) 2019-10-12 [email protected] Roll fuchsia/sdk/core/mac-amd64 from ShVbh... to W9PBe... (flutter/engine#13108) 2019-10-12 [email protected] Roll src/third_party/dart 90ff37e011..5fad012d02 (6 commits) 2019-10-12 [email protected] Roll src/third_party/dart 42dcdf903c..90ff37e011 (7 commits) 2019-10-12 [email protected] Roll src/third_party/skia 8c6c8b0c42e2..3838fe3c82b4 (3 commits) (flutter/engine#13105) 2019-10-12 [email protected] Analyze framework Dart code in presubmit tests (flutter/engine#13037) 2019-10-12 [email protected] [dart_aot_runner] Complete the port of dart_aot_runner (flutter/engine#13103) 2019-10-11 [email protected] Move initialization into FlutterEngine (flutter/engine#12806) 2019-10-11 [email protected] Update felt README (flutter/engine#13097) 2019-10-11 [email protected] Roll src/third_party/dart 9f33e8da04..42dcdf903c (7 commits) 2019-10-11 [email protected] [dart_aot_runner] Generate vmservice aotsnapshots (flutter/engine#13101) 2019-10-11 [email protected] ColorFilter matrix docs (flutter/engine#13100) 2019-10-11 [email protected] cleanup gen_package.py (flutter/engine#13089) 2019-10-11 [email protected] [dart_aot_runner] Use the host_toolchain to build kernels (flutter/engine#13096) 2019-10-11 [email protected] do not wrap font family name (flutter/engine#12801) 2019-10-11 [email protected] Roll src/third_party/skia df640e6d14a5..8c6c8b0c42e2 (12 commits) (flutter/engine#13098) 2019-10-11 [email protected] Remove persistent cache unittest timeout (flutter/engine#13091) 2019-10-11 [email protected] Added FlutterActivity and FlutterFragment hook to cleanUpFlutterEngine() as symmetry for configureFlutterEngine(). (flutter#41943) (flutter/engine#12987) 2019-10-11 [email protected] use rest args for specifying test targets (flutter/engine#13088) 2019-10-11 [email protected] Snapshot the felt tool for faster start-up (flutter/engine#13090) 2019-10-11 [email protected] Roll src/third_party/dart 965b8cb1d8..9f33e8da04 (15 commits) 2019-10-11 [email protected] java imports/style (flutter/engine#13082) 2019-10-11 [email protected] Removed retain cycle from notification center. (flutter/engine#13073) 2019-10-11 [email protected] Roll fuchsia/sdk/core/mac-amd64 from U4IBp... to ShVbh... (flutter/engine#13092) 2019-10-11 [email protected] Roll fuchsia/sdk/core/linux-amd64 from fk6ou... to LsxeL... (flutter/engine#13083) 2019-10-11 [email protected] Roll src/third_party/skia 6c2b2bb02402..df640e6d14a5 (1 commits) (flutter/engine#13080) 2019-10-11 [email protected] Gen package output corrected (flutter/engine#13086) 2019-10-11 [email protected] Print more output when gen_package fails (flutter/engine#13085) ...
Move initialization into FlutterEngine.
This PR is based on @xster's PR here:
#12069
I made 2 changes.
I removed
FlutterInjector. We want to ensure that we always support constructor injection, even if we introduce some kind of injection tooling/framework. Since this particular change was not intended to establish an injection system, once I implemented constructor injection forFlutterEnginewith aFlutterLoader, theFlutterInjectorclass became superfluous.I made all methods in
FlutterLoaderinstance methods instead of static methods. This looks like it was probably just an oversight in the original work.With this PR, if a real instance of
FlutterEngineneeds to be instantiated in a test, the test should pass in a mockFlutterLoaderand the test will successfully bypass the native library linking.