Commit Graph

129 Commits

Author SHA1 Message Date
Todd Volkert
d02a3fe661 Lower the iterations on flutter_gallery__back_button_memory (#40102)
It was hitting the global devicelab 15 minute timeout.
2019-09-09 13:13:05 -07:00
Christopher Fujino
413475acd6 Revert "Revert "fix recursiveCopy to preserve executable bit (#39505)" (#39588)" (#39594)
This reverts commit 61eab16c37.
2019-08-30 16:56:13 -07:00
Christopher Fujino
61eab16c37 Revert "fix recursiveCopy to preserve executable bit (#39505)" (#39588)
This reverts commit 8ec2c5828d.
2019-08-30 15:03:12 -07:00
Christopher Fujino
8ec2c5828d fix recursiveCopy to preserve executable bit (#39505) 2019-08-30 14:13:36 -07:00
Jonah Williams
d2f70a6d20 kill leaked chrome processes (#39514) 2019-08-29 14:28:37 -07:00
Christopher Fujino
65f8f9c0b8 add --exit and --match-host-platform defaults to devicelab runner (#37832) 2019-08-20 14:37:42 -07:00
Emmanuel Garcia
c08a3c7a0a Add metadata to indicate if the host app contains a Flutter module (#37731) 2019-08-06 22:38:09 -07:00
Emmanuel Garcia
bd02e4f573 Test that modules built as AAR contain the right assets and artifacts (#37206) 2019-07-30 13:38:06 -07:00
Jason Simmons
a3a350df1c devicelab: replace the FLUTTER_ENGINE environment variable with the new local engine flags (#36969) 2019-07-26 10:06:56 -07:00
Emmanuel Garcia
242a4225a1 Flutter build aar (#36732)
`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-23 09:27:42 -07:00
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
Christopher Fujino
102ab1e6d9 Reland bundle ios deps (#36093)
This updates the flutter tool cache to download binary files for ideviceinstaller, ios-deploy, libimobiledevice, and dynamically linked dependencies from Flutter's GCP bucket.
2019-07-15 09:22:29 -07:00
Alexandre Ardhuin
758009ba70 more ui-as-code (#35393)
* more ui-as-code

* address review comments
2019-07-02 21:11:56 +02: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
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
Emmanuel Garcia
21a532698f Split gradle_plugin_test.dart (#34282)
Fixes timeout when running gradle_plugin_test
2019-06-11 16:24:03 -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
Alexandre Ardhuin
4fa32df141 use null aware operators (#32711)
* use null aware operators

* rollback changes about null-aware operator

* disable lint prefer_is_not_empty
2019-05-16 22:25:51 +02: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
Jonah Williams
b4edfb1511 Revert "Manual engine roll with disabled service authentication codes (#30919)" (#30930)
This reverts commit 19d6e7b613.
2019-04-11 12:18:39 -07:00
Ben Konyi
19d6e7b613 Manual engine roll with disabled service authentication codes (#30919) 2019-04-11 12:08:13 -07:00
Dan Field
820b0e029e Avoid overwriting task result for non-leak checkers (#29989) 2019-03-26 11:40:05 -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
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
Dan Field
3ce0c27fd9 Make logcat less chatty on perf tests (#28272) 2019-02-21 10:59:20 -08:00
Danny Tuppeny
c19142d8b7 Support ANDROID_SDK_ROOT in addition to ANDROID_HOME (#25221)
* Fall back to ANDROID_SDK_ROOT if ANDROID_HOME is not set

And update descriptions to use the non-deprecated ANDROID_SDK_ROOT.

Fixes #15114.

* Remove trailing whitespace

* Update dev/devicelab/lib/framework/adb.dart

Co-Authored-By: DanTup <danny@tuppeny.com>

* Reformat long line
2018-12-17 17:29:09 +00:00
Alexandre Ardhuin
344ebe02ff avoid returning null for Future (#23784) 2018-11-05 16:38:23 +01:00
Alexandre Ardhuin
8b0de38ef8 fix upcoming lint avoid_returning_null_for_void (#23190) 2018-10-17 11:01:37 +02:00
Greg Spencer
9f23866a0a Rename module --> application in flutter create command. (#22565)
This renames the "module" template to the "application" template, and makes "application" the default. The existing "app" template is now deprecated.

flutter create also now recognizes the type of project in an existing directory, and is able to recreate it without having the template type explicitly specified (although you can still do that). It does this now by first looking in the .metadata file for the new project_type field, and if it doesn't find that, then it looks at the directory structure. Also, the .metadata file is now overwritten even on an existing directory so that 1) the project_type can be added to legacy projects, and 2) the version of Flutter that updated the project last is updated.

I also cleaned up a bunch of things in create_test.dart, added many more tests, and added an example test to the test/ directory in the generated output of the application template.

Fixes #22530
Fixes #22344
2018-10-04 13:03:20 -07:00
Alexandre Ardhuin
d340e2f229 apply lint prefer_void_to_null in dev/ (#22661) 2018-10-04 18:44:23 +02:00
Alexandre Ardhuin
2ea1d81cdc sort_constructors_first (#22575) 2018-10-04 07:28:07 +02:00
Alexandre Ardhuin
5de96bb734 unnecessary this in field initializers (#22522) 2018-10-02 17:14:59 +02:00
Alexandre Ardhuin
f62afdcf57 add missing type parameter on methods (#22096) 2018-10-01 21:29:08 +02:00
Alexandre Ardhuin
a07d3719a1 enable lint prefer_generic_function_type_aliases (#21680) 2018-09-14 21:06:19 +02:00
Alexandre Ardhuin
d927c93310 Unnecessary new (#20138)
* enable lint unnecessary_new

* fix tests

* fix tests

* fix tests
2018-09-12 08:29:29 +02:00
Ian Hickson
1c2d3f324d Shut down gradle at the end of each task (#20968)
Apparently Gradle leaks memory and it's causing failures.
2018-08-28 11:28:25 -07:00
Ian Hickson
22f376418f Track number of package dependencies in Flutter (#20831)
* Track number of package dependencies in Flutter

Relands #20774.

* Use evalFlutter instead of startProcess.

That way we don't need `flutter` on the PATH.
2018-08-21 14:02:33 -07:00
Ian Hickson
b7261586e5 Audit TODO syntax (#20837)
Fixes the pattern for some TODOs to match our style guide.

(Also, a couple of minor code order fixes.)
2018-08-21 14:02:11 -07:00
Ian Hickson
1993a67381 Performance test cleanup (#20652)
* Fix TODO syntax.
* Clarify messages for some timeouts, to aid debugging.
* Increase some other timeouts that were a needlessly short, to reduce sources of flakes.
* Remove some more timeouts that were mostly redundant, to remove complexity.
* Minor style cleanup.
* Remove some dangerous traps (specifically, hide the explicit start/end times in TimedEvent since they shouldn't matter).
2018-08-17 13:19:28 -07:00
Ian Hickson
3dec6a6930 Clean up usage of temporary directories (#20682)
All temporary directory start with `flutter_` and have their random component separated from the name by a period, as in `flutter_test_bundle.YFYQMY`.

I've tried to find some of the places where we didn't cleanly delete temporary directories, too. This greatly reduces, though it does not entirely eliminate, the directories we leave behind when running tests, especially `flutter_tools` tests.

While I was at it I standardized on `tempDir` as the variable name for temporary directories, since it was the most common, removing occurrences of `temp` and `tmp`, among others.

Also I factored out some common code that used to catch exceptions that happen on Windows, and made more places use that pattern.
2018-08-17 13:17:23 -07:00
Ian Hickson
872e88cec7 Reduce noise on the memory benchmarks (#19630) (#20163)
- Check memory usage in release builds, not profile.
- Use multiple runs and average the results.
2018-08-06 12:46:51 -07:00
Ian Hickson
a2ca14d71e Revert "Reduce noise on the memory benchmarks" (#20158)
* Revert "Add pub cache, artifacts, pkgs to Cirrus cache (#20080)"

This reverts commit 07e93b385c.

* Revert "Reduce noise on the memory benchmarks (#19630)"

This reverts commit 8eb5cb7dc0.
2018-08-02 13:56:44 -07:00
Ian Hickson
8eb5cb7dc0 Reduce noise on the memory benchmarks (#19630)
- Check memory usage in release builds, not profile.
- Use multiple runs and average the results.
2018-08-02 12:22:15 -07:00