Commit Graph

187 Commits

Author SHA1 Message Date
Emmanuel Garcia
16d408a7a0 Reland #40810: Re-enable AAR plugins when an AndroidX failure occurred (#41160) 2019-09-24 16:16:22 -07:00
Emmanuel Garcia
2c8813c86c Revert "Re-enable AAR plugins when an AndroidX failure occurred (#40810)" (#41042)
This reverts commit 96482eeb5c.
2019-09-23 09:28:38 -07:00
Emmanuel Garcia
96482eeb5c Re-enable AAR plugins when an AndroidX failure occurred (#40810) 2019-09-20 08:28:52 -07:00
Alexandre Ardhuin
a36f809e27 add missing trailing commas (in dev/) (#40704) 2019-09-19 07:54:46 +02:00
Amir Hardon
4e108b6f90 Exclude non Android plugins from Gradle build (#40640)
Before this change, having an Android app depend on a plugin that has no android implementation resulted in a Gradle build failure.

This scenario is likely to become more common if we're enabling federated plugins, as the package implementing just the desktop implementation of a plugin won't have an Android implementation.

This changes the Gradle plugin to not try to build any plugins that doesn't have an android/build.gradle file.
2019-09-18 16:42:20 -07:00
Alexandre Ardhuin
df4bf453ab more UI-as-code (#35516) 2019-09-17 16:23:44 +02:00
Emmanuel Garcia
0df1594ba2 Enable the resource shrinker (#40610) 2019-09-16 15:27:05 -07:00
Jonah Williams
91af071570 ensure dart2js does not compile unsupported packages (#40368) 2019-09-12 15:25:21 -07:00
Emmanuel Garcia
1676b012e8 Disable foundation tests (#40200) 2019-09-10 19:01:12 -07:00
Harry Terkelsen
d33cf11556 Automatically generated registrants for web plugins (#39628)
* WIP on web plugin registry

* WIP on registering plugins

* WIP on web plugin registration

* Only generate `package:flutter_web_plugins` imports if plugins are
defined

* Add parsing test

* Add documentation

* Fix analyzer warnings

* add license headers

* Add tests for package:flutter_web_plugins

* Run `flutter update-packages --force-upgrade`

* Fix analyzer errors

* Fix analyzer error in test

* Update copyright and remove flutter SDK constraints

* Enable tests since engine has rolled

* add flutter_web_plugins tests to bots

* Create an empty .packages file for WebFs test
2019-09-03 10:37:34 -07:00
Yegor
190698d0d2 run web tests in batches; enable foundation tests (#37268)
* shard tests

* make foundation tests pass
2019-08-23 13:23:48 -07:00
∂ω∂
4277f364ff flutter_tools/version: git log.showSignature=false (#38576) 2019-08-21 13:55:57 -07:00
Ian Hickson
e0a31de61b Clean up bots output (#36864) 2019-08-20 14:53:39 -07:00
James D. Lin
b2f8d3a668 Instrument pending timers in tests (#37646)
Flutter widget tests assert if a test completes with timers still
pending.  However, it can be hard to diagnose where a pending timer
came from.  For example, a widget might consume a third-party library
that internally uses a timer.

I added a FakeAsync.pendingTimersDebugInfo getter to quiver
(https://github.com/google/quiver-dart/pull/500).  Make flutter_test
use it.

Additionally modify Flutter's debugPrintStack to take an optional
StackTrace argument instead of always printing StackTrace.current.

Fixes #4237.
2019-08-20 10:28:49 -07:00
James Lin
4f3b70671c Add assert messages 2019-08-15 16:47:20 -07:00
James Lin
e3ffa7689a Update with review feedback from dnfield and jonahwilliams 2019-08-15 16:47:20 -07:00
James Lin
c02b805cdc Give _runFlutterTest the ability to validate command output
In another change (#37646), I want to test that a test fails and
prints expected output.  I didn't see an existing way to do that, so
I modified `_runFlutterTest` and `runCommand` to allow capturing the
output.  Currently capturing and printing output are mutually
exclusive since we don't need both.

Some awkward bits:
* There already exists a `runAndGetStdout` function that is very
  similar to `runCommand`, and this change makes the conceptual
  distinction more confusing.

* `runFlutterTest` has multiple code paths for different
  configurations.  I don't understand what the different paths are
  for, and I added output checking only along one of them.
2019-08-15 16:47:20 -07:00
Yegor
9bc298deb6 update dependencies; add a Web smoke test (#37816)
update dependencies; add a Web smoke test
2019-08-09 09:58:49 -07:00
Jenn Magder
af1bbc4374 Disable flaky test (#37442) 2019-08-01 17:22:17 -07:00
Emmanuel Garcia
9f39cad4ed Allow flavors and custom build types in host app (#36805)
Fixes these issues:
#30916
#34089
#36479
#29648
2019-07-29 09:26:41 -07:00
Michael Klimushyn
30eec11e7d Roll back the AAR build experiment (#36966)
* Roll back the AAR build experiment

This has been breaking flutter/plugins CI for the past day.

* Remove integration tests that rely on the AAR flag
2019-07-25 20:54:10 -07:00
Emmanuel Garcia
c469b1fea9 Add annotation dependency to plugins (#36886)
Fixes #36817
2019-07-25 08:49:24 -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
Jonah Williams
3fedb8cb5a Reland: use flutter features for web and desktop (#36699) 2019-07-22 15:34:03 -07:00
Jonah Williams
8eae2dfb92 Revert "Use FlutterFeatures to configure web and desktop devices (#36465)" (#36654)
This reverts commit bd52a78c71.
2019-07-21 21:47:43 -07:00
Jonah Williams
bd52a78c71 Use FlutterFeatures to configure web and desktop devices (#36465) 2019-07-21 18:21:15 -07:00
Kate Lovett
09002457f9 Fix test_widgets-windows not running tests (#36468) 2019-07-19 10:43:58 -07:00
Dan Field
289064721d Fix windows, exclude widgets from others (#36197) 2019-07-15 12:34:53 -07:00
Ian Hickson
d919e694b8 Move tools tests into a general.shard directory in preparation to changing how we shard tools tests (#36108) 2019-07-13 11:51:44 -07:00
Jonah Williams
fb9ff9296e fix linesplitter (#36006) 2019-07-11 16:52:14 -07:00
gaaclarke
3122786ad5 Fixed build of example code to use new binary messenger API. (#35825)
Fixed build of example code to use new binary messenger API.
2019-07-10 13:10:05 -07:00
Jonah Williams
2b20345bb8 use pub run for create test and remove [INFO] logs (#35839) 2019-07-10 08:48:01 -07:00
Jenn Magder
2ad5376a06 Build all example projects in CI build smoke test (#35778) 2019-07-09 16:00:33 -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
Jonah Williams
33ad5bac34 Attempt to enable tool coverage redux (#35074) 2019-06-26 16:02:49 -07:00
Dan Field
bb79ff3b49 More shards (#34877)
Shard tool_tests
2019-06-26 13:55:16 -07:00
Dan Field
3630525673 Shard gradle tests (#34857) 2019-06-21 12:05:06 -07:00
Dan Field
a0fc3f3150 Shard framework tests (#34812) 2019-06-20 14:35:33 -07:00
Jonah Williams
449d4b1ee5 disable widgets and material (#34739) 2019-06-19 15:51:31 -07:00
Jonah Williams
c1a2e44c78 Allow flaky tests to pass or fail and mark web tests as flaky (#34456) 2019-06-13 17:52:04 -07:00
Jonah Williams
3ae6abd9e8 Compatibility pass on flutter/material tests for JavaScript compilation. (9) (#33378) 2019-06-12 17:06:01 -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
Jonah Williams
9d724d4c44 Compatibility pass on flutter/widgets tests for JavaScript compilation. (8) (#33377) 2019-06-11 14:51:03 -07:00
Jonah Williams
7cc716187b Compatibility pass on flutter/semantics tests for JavaScript compilation. (7) (#33360) 2019-06-11 11:22:37 -07:00
Jonah Williams
05e92c828b Compatibility pass on flutter/physics tests for JavaScript compilation. (6) (#33359) 2019-06-11 09:09:13 -07:00
Jonah Williams
ca14af6b92 Compatibility pass on flutter/rendering tests for JavaScript compilation. (5) (#33355) 2019-06-10 17:29:46 -07:00
Jonah Williams
c88f64ed50 Compatibility pass on flutter/services tests for JavaScript compilation. (4) (#33354) 2019-06-10 15:46:36 -07:00