Commit Graph

677 Commits

Author SHA1 Message Date
Emmanuel Garcia
c9b466f9e2 Revert "Add flutter build aar (#35217)" (#36731)
This reverts commit 11460b8378.
2019-07-22 22:07:59 -07:00
Emmanuel Garcia
11460b8378 Add flutter build aar (#35217)
`flutter build aar`

This new build command works just like `flutter build apk` or `flutter build appbundle`, but for plugin and module projects.

This PR also refactors how plugins are included in app or module projects. By building the plugins as AARs, the Android Gradle plugin is able to use Jetifier to translate support libraries into AndroidX libraries for all the plugin's native code. Thus, reducing the error rate when using AndroidX in apps.

This change also allows to build modules as AARs, so developers can take these artifacts and distribute them along with the native host app without the need of the Flutter tool. This is a requirement for add to app.

`flutter build aar` generates POM artifacts (XML files) which contain metadata about the native dependencies used by the plugin. This allows Gradle to resolve dependencies at the app level. The result of this new build command is a single build/outputs/repo, the local repository that contains all the generated AARs and POM files.

In a Flutter app project, this local repo is used by the Flutter Gradle plugin to resolve the plugin dependencies. In add to app case, the developer needs to configure the local repo and the dependency manually in `build.gradle`:


repositories {
    maven {
        url "<path-to-flutter-module>build/host/outputs/repo"
    }
}

dependencies {
    implementation("<package-name>:flutter_<build-mode>:1.0@aar") {
       transitive = true
    }
}
2019-07-22 20:46:01 -07:00
Ian Hickson
295530dcaf Some minor cleanup in devicelab (#36571) 2019-07-22 14:13:33 -07:00
Todd Volkert
0f625196cc Add plumbing for hello world startup test in devicelab (#36410)
This is the first step in getting esoteric devices wired
up to device lab to ensure that we can at least start Flutter
apps in profile mode on such devices.

https://github.com/flutter/flutter/issues/35838
2019-07-18 11:13:14 -07:00
xster
03220cacd1 Make sure add-to-app build bundle from outer xcodebuild/gradlew sends analytics (#36122) 2019-07-17 11:17:04 -07:00
xster
2d08fec368 Move buildable module test to a module test (#36102) 2019-07-15 18:31:44 -07:00
Jenn Magder
b5c1b61c73 Add platform_interaction_test_swift to devicelab (#35775) 2019-07-10 14:13:01 -07:00
Jonah Williams
91e3b2d671 add iOS build benchmarks (#35749) 2019-07-08 18:09:00 -07:00
liyuqian
34e18d38ce ios (iPhone6) and iPhone XS tiles_scroll_perf tests (#35556)
For https://github.com/flutter/flutter/issues/31086.

Also test if our mac8 with iPhone XS is working
(https://github.com/flutter/flutter/issues/34590).
2019-07-08 14:13:33 -07:00
Alexander Aprelev
9f285aa9d9 Introduce image_list performance benchmark that runs on jit(debug) build. (#35424)
* Introduce image_list performance benchmark that runs on jit(debug) build.

We want to track performance of debug build because ongoing work on reducing the cost of spanwing new isolate will impact jit(debug) more than it will aot(release) configurations.

* Newlines and spaces
2019-07-08 08:23:06 -07:00
Jonah Williams
05b4c67550 add APK build time benchmarks (#35481) 2019-07-03 10:54:04 -07:00
Alexander Aprelev
3badcf51a4 Introduce image loading performance test. (#34823)
* Introduce image loading performance test.

This example reports how long it takes to load images over the network(locally spawned server).
2019-06-28 15:14:03 -07:00
Alexandre Ardhuin
919dcf53f3 enable lints prefer_spread_collections and prefer_inlined_adds (#35189) 2019-06-27 21:23:16 +02:00
Josh Burton
577c2fc48c Ensures flutter jar is added to all build types on plugin projects (#34573) 2019-06-25 10:40:55 -07:00
Jim Graham
f83fd9d467 Add test case for Flutter Issue #27677 as a benchmark. (#34870)
* Add test case for Flutter Issue #27677 as a benchmark.

See https://github.com/flutter/flutter/issues/27677

I got the following results running the test on a Moto E2 which
will help us determine how much we can gain by analyzing the
operations and eliminating unnecessary repaints based on
dirty rectangles/regions.

no blurs       - avg 216.0 fps over 3 samples
blur the group - avg  22.9 fps over 3 samples
blur each txt  - avg   3.4 fps over 3 samples

* Added the new benchmark to be tracked on the dashboard.
2019-06-24 20:53:22 -07:00
Emmanuel Garcia
c50fa3d2bd Re-land config lib dependencies for flavors (#34668) 2019-06-18 22:37:42 -07:00
Emmanuel Garcia
9dbc66979a Revert "Config lib dependencies when using flavors (#34592)" (#34655)
This reverts commit 358b9bd381.
2019-06-18 15:30:59 -07:00
Emmanuel Garcia
358b9bd381 Config lib dependencies when using flavors (#34592) 2019-06-17 15:05:16 -07:00
Devon Carew
5f521eea22 add route information to Flutter.Navigation events (#34508)
* add route information to Flutter.Navigation events

* route can be null; re-work how we send route info to accomidate that
2019-06-15 20:40:34 -07:00
Dan Field
3d58400e76 Revert "Revert "redux of a change to use new engine APIs for Flutter.Frame events (#34365)" (#34514)" (#34530)
This reverts commit 8f75d53735.
2019-06-15 00:01:35 -07:00
Keerti Parthasarathy
8f75d53735 Revert "redux of a change to use new engine APIs for Flutter.Frame events (#34365)" (#34514)
This reverts commit ceb09b8bad.
2019-06-14 13:08:14 -07:00
Devon Carew
ceb09b8bad redux of a change to use new engine APIs for Flutter.Frame events (#34365) 2019-06-14 11:16:54 -07:00
Emmanuel Garcia
21a532698f Split gradle_plugin_test.dart (#34282)
Fixes timeout when running gradle_plugin_test
2019-06-11 16:24:03 -07:00
Emmanuel Garcia
8627ff433b Allow multi-abi shared libraries in APKs and App bundles (#34123)
* Gradle generates ELF shared libraries instead of AOT snapshots.
* `flutter build apk/appbundle` supports multiple `--target-platform` and defaults to `android-arm` and `android-arm64`.
* `flutter build apk` now has a flag called `--split-per-abi`.
2019-06-10 13:16:09 -07:00
Jonah Williams
f8f7b89976 Revert "Generate ELF shared libraries and allow multi-abi libs in APKs and App bundles (#33696)" (#34121) 2019-06-08 18:43:25 -07:00
Emmanuel Garcia
966b15b4a4 Generate ELF shared libraries and allow multi-abi libs in APKs and App bundles (#33696)
* Gradle generates ELF shared libraries instead of AOT snapshots.
* `flutter build apk/appbundle` supports multiple `--target-platform` and defaults to `android-arm` and `android-arm64`.
*  `flutter build apk` now has a flag called `--split-per-abi`.
2019-06-08 18:02:32 -07:00
Dan Field
bc3ca10e71 Make it easier to pass local engine flags when running devicelab tests (#34054) 2019-06-07 12:49:09 -07:00
Jonah Williams
50ea6f32d3 add benchmarks to track web size (#33892) 2019-06-05 12:40:21 -07:00
Kaushik Iska
92bfc99132 Added a benchmark for ImageCache (#33814)
* Add an image cache benchmark for a monochrome image
2019-06-04 12:32:52 -07:00
Jonah Williams
83986acbdb Add a real-er web restart, doctor, workflow (#33786) 2019-06-03 23:19:42 -07:00
Chris Bracken
98ea501995 Revert "Add real-er restart for web using webkit inspection protocol (#33629)" (#33703)
Revert "fix devicelab manfiest (#33698)"

This reverts commit 5a6a00dc54.
This reverts commit 0d79f0fc79.
2019-05-31 21:53:30 -07:00
Jonah Williams
5a6a00dc54 Add real-er restart for web using webkit inspection protocol (#33629) 2019-05-31 17:37:01 -07:00
Chris Bracken
4d9923201b Correct typos (#33322)
Corects a bnuch of typeos throuhgout teh Fluter codebsae.

Made use of the `misspell` tool:
https://github.com/client9/misspell
2019-05-24 19:12:45 -07:00
Michael Thomsen
7ae3caf309 Rename flutter packages to flutter pub (#33041) 2019-05-21 16:38:58 +02:00
Emmanuel Garcia
90f38907d7 Support ARM 32 and 64 bits in app bundles 2019-05-20 13:09:20 -07:00
Ben Konyi
484f6e754a Fixed flutter_attach_test not respecting authentication codes (#31321) 2019-04-19 13:55:34 -07:00
Ben Konyi
1459b1e91f Fixed failing tests caused by introduction of authentication codes (#31315) 2019-04-19 11:45:53 -07:00
Ben Konyi
3764cb8515 Added support for authentication codes for the VM service. (#30857)
* Added support for authentication codes for the VM service.

Previously, a valid web socket connection would use the following URI:

`ws://127.0.0.1/ws`

Now, by default, the VM service requires a connection to be made with a
URI similar to the following:

`ws://127.0.0.1:8181/Ug_U0QVsqFs=/ws`

where `Ug_U0QVsqFs` is an authentication code generated and shared by
the
service.

This behavior can be disabled with the `--disable-service-auth-codes`
flag.
2019-04-18 21:01:50 -07:00
liyuqian
b0937a1e89 Fix the warning test by checking stderr (#30997)
Previously, I used the Android emulator for testing and everything
seemed to work fine with stdout (if I remember correctly). But our
devicelab uses real Android devices and the warnings are routed to
stderr. Hence change stdout to stderr in the test.
2019-04-15 10:19:36 -07:00
liyuqian
eb30745faf Print warning if flutter drive is run in debug (#30747)
## Description

Print actionable warnings if `flutter drive` (where most of our performance benchmarks come from) is run in debug mode and it tries to gather benchmarks using `traceAction`.

## Related Issues

https://github.com/flutter/flutter/issues/30625

## Tests

I added the following tests:
* drive_perf_debug_warning devicelab test
2019-04-09 18:55:42 -07:00
Jonah Williams
953a947130 add coverage benchmark (#30222) 2019-03-29 17:00:19 -07:00
Jonah Williams
1bfa2f2311 Intercept errors thrown by synchronous Completers in image resolution. (#30139) 2019-03-29 10:05:18 -07:00
Dan Field
ecfdd7e1ea Detect and cleanup leaky processes (#29196)
* Detect and cleanup leaky processes
* Add flaky tests for detecting leaked processes
2019-03-22 14:32:36 -07:00
Dan Field
2a644f301e Run non-perf sensitive tests on Cirrus (#27971)
* Run non-perf sensisitive tests on Cirrus
2019-03-10 07:52:44 -07:00
Jonah Williams
d4a441a0d9 Add integration to all targets (#29020) 2019-03-08 12:25:35 -08:00
Alexandre Ardhuin
387f885481 Add missing trailing commas (#28673)
* add trailing commas on list/map/parameters

* add trailing commas on Invocation with nb of arg>1

* add commas for widget containing widgets

* add trailing commas if instantiation contains trailing comma

* revert bad change
2019-03-01 08:17:55 +01:00
liyuqian
19a6a6f431 Reland "Shader warm up (#27660)" (#28537)
This reverts commit adc8e159a5.

This should be safe to land once https://github.com/flutter/flutter/pull/28530 gets merged

Merge on yellow doc test because the doc test is actually green.
2019-02-27 09:33:08 -08:00
liyuqian
adc8e159a5 Revert "Shader warm up (#27660)" (#28376)
This reverts commit a44f174efc.

Reason: start_up tests become flaky.

See https://github.com/flutter/flutter/issues/28374

TBR: xster

Merge on red to fix the tree
2019-02-22 17:32:37 -08:00
liyuqian
a44f174efc Shader warm up (#27660)
This patch adds a default shader warm up process which moves shader compilation from the animation time to the startup time. This also provides an extension for `runApp` so developers can customize the warm up process.

This should reduce our worst_frame_rasterizer_time_millis from ~100ms to ~20-30ms for both flutter_gallery and complex_layout benchmarks. Besides, this should also have a significant improvement on 90th and 99th percentile time (50%-100% speedup in some cases, but I haven't tested them thoroughly; I'll let our device lab collect the data afterwards).

The tradeoff the is the startup time (time to first frame). Our `flutter run --profile --trace-startup` seems to be a little noisy and I see about 100ms-200ms increase in that measurement for complex_layout and flutter_gallery. Note that this only happens on the first run after install or data wipe. Later the Skia persistent cache will remove the overhead.

This also adds a cubic_bezier benchmark to test the custom shader warm up process.

This should fix https://github.com/flutter/flutter/issues/813 (either by `defaultShaderWarmUp`, or a `customShaderWarmUp`).
2019-02-22 15:37:02 -08:00
Jonah Williams
67cf21577f Add basic codegen app to be used for integration testing and benchmarks (#27257) 2019-02-14 23:17:16 -08:00