Commit Graph

624 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
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
Jonah Williams
6830edd0be Clean up flutter driver device detection. (#36434) 2019-07-19 14:48:17 -07:00
Dan Field
c953cd19d2 Enable bitcode compilation for AOT (#36471) 2019-07-18 22:42:47 -07:00
Todd Volkert
adb2aeebe3 Ensure that cache dirs and files have appropriate permissions (#28090)
This is a partial re-application of #24669, which was
reverted due to Fuchsia breakages.

https://github.com/flutter/flutter/issues/24413
2019-07-18 15:29:06 -07:00
Todd Volkert
57efab6e58 FakeHttpClientResponse improvements (#36289)
Update `FakeHttpClientResponse` to be impervious to Dart SDK
changes to the `HttpClientResponse` stream type (between `List<int>`
and `Uint8List`).
2019-07-17 08:42:12 -07:00
Todd Volkert
aa9a115181 Move reporting files to reporting/ (#36017)
Slight cleanup of file locations in flutter_tools
to make it easier to see which files are responsible
for data reporting.
2019-07-16 13:21:06 -07:00
Jonah Williams
e91b98a41f Add initial implementation of flutter assemble (#32816) 2019-07-11 16:53:17 -07:00
Jonah Williams
34467289d6 Add timer checking and Fake http client to testbed (#35392) 2019-07-08 10:04:48 -07:00
Jonah Williams
b8597f0a7e Move usage flutter create tests into memory filesystem. (#35160) 2019-07-03 10:49: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
Jonah Williams
a1d3edc446 Twiggle bit to exclude dev and beta from desktop and web (#35221) 2019-06-27 19:04:02 -07:00
Alexandre Ardhuin
919dcf53f3 enable lints prefer_spread_collections and prefer_inlined_adds (#35189) 2019-06-27 21:23:16 +02:00
Jonah Williams
8532f4d08e Allow multi-root web builds (#34896)
* fix multiroot builds

* remove shout

* add basic test

* Update web_compilation_delegate.dart

* Address review feedback

* Update multiroot_asset_reader_test.dart

* Update multiroot_asset_reader_test.dart

* remove unpassable test

* fix for windows

* facepalm
2019-06-27 06:01:41 -07:00
Jonah Williams
33ad5bac34 Attempt to enable tool coverage redux (#35074) 2019-06-26 16:02:49 -07:00
Lau Ching Jun
c8cefce300 Move findTargetDevices to DeviceManager (#35084)
This allows us to override the behavior internally.
2019-06-26 10:09:14 -07:00
Jonah Williams
b9932d55e7 Add linux doctor implementation (#34755) 2019-06-20 08:20:57 -07:00
Jonah Williams
830fb38640 Revert "Add basic desktop linux checks (#31873)" (#34753)
This reverts commit f221ad1f92.
2019-06-19 16:03:05 -07:00
Jonah Williams
f221ad1f92 Add basic desktop linux checks (#31873) 2019-06-19 15:51:21 -07:00
Jonah Williams
0d9a1b201e Remove environment variable guards for command line desktop and web (#33867) 2019-06-19 13:39:27 -07:00
Ben Konyi
e59d9a815d Reland "Added --dart-flags option to flutter run (#33924)" (#34181)
Reland "Added --dart-flags option to flutter run (#33924)"

This reverts commit 587687eedf.
2019-06-11 11:37:47 -07:00
Todd Volkert
1b3fc53595 Consider all non-interactive terminals to be bots (#34179) 2019-06-10 16:32:08 -07:00
Jonah Williams
f530b809b6 Reland: More verification on flutter build web, add tests and cleanup (#34173) 2019-06-10 15:37:23 -07:00
Jonah Williams
71bfe3be9f Revert "More verification on flutter build web, add tests and cleanup (#34090)" (#34166) 2019-06-10 12:01:14 -07:00
Jonah Williams
354ce1aa5a More verification on flutter build web, add tests and cleanup (#34090) 2019-06-10 11:27:25 -07:00
Jonah Williams
587687eedf Revert "Added --dart-flags option to flutter run (#33924)" (#34092) 2019-06-07 19:33:14 -07:00
Ben Konyi
67a529b895 Added --dart-flags option to flutter run (#33924) 2019-06-07 18:53:42 -07:00
Jonah Williams
27876e09be Revert "Devfs cleanup and testing (#33374)" (#33673)
This reverts commit 445505d6f2.
2019-05-31 13:17:12 -07:00
Jonah Williams
445505d6f2 Devfs cleanup and testing (#33374) 2019-05-30 16:13:46 -07:00
Jonah Williams
7263c127ed Add local overrides to testbed and provide more defaults (#33264) 2019-05-29 22:49:53 -07:00
Jason Simmons
311cde98a6 Reland "Clean up some flutter_tools tests and roll dependencies" (#33225)
This relands flutter/flutter#33163 with a fix to the integration_ui test.
2019-05-29 19:04:35 -07:00
Jonah Williams
a30ffb60ad Revert "Clean up some flutter_tools tests and roll dependencies (#33163)" (#33206) 2019-05-22 12:20:02 -07:00
Ian Hickson
e5f81e1048 Clean up some flutter_tools tests and roll dependencies (#33163)
* Clean up some flutter_tools tests

* Remove arbitrary retry that happens even for fundamental errors, and generally clean up _DevFSHttpWriter.

* Update dependencies (requires fixes; see next commit)

* Fixes for new dependencies.
2019-05-22 09:31:37 -07:00
Sam Rawlins
c2a93bd545 Fix missing return statements on function literals (#33058) 2019-05-20 12:51:57 -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
Jonah Williams
5e77d6508e Initial sketch of tools testbed (#31765) 2019-04-30 15:42:16 -07:00
Jonah Williams
0acd3e6b04 refactor context to be implicit-downcast safe (#31622) 2019-04-25 15:51:08 -07:00
Jonah Williams
6b191841f3 Allow filtering devices to only those supported by current project (#31446) 2019-04-25 12:25:12 -07:00
Jonah Williams
99b4459944 Allow disabling experimental commands, devices on stable branch (#30153) 2019-04-08 13:48:21 -07:00
Jonah Williams
99866f4a3d Make timeout durations configurable (#30053) 2019-03-27 16:21:16 -07:00
Alexander Aprelev
12c4e050be Use source list from the compiler to track invalidated files for hot reload. (#29693)
* Use source list from the compiler to track invalidated files.

* Revert accidental change

* Fix first-time-seen-the-file logic

* Fix/simplify invalidate logic now that we can rely on compiler to let us know what is the cut-off point for invalidation.

* Update devfs mock to accommodate for new fields

* Fix deleted files case

* Analyzer found missing final
2019-03-20 21:58:15 -07:00
Ben Konyi
e8b98f9648 Manual engine roll for 2019-03-19 (#29627)
* Manual engine roll for 2019-03-19
* Applying patch for Dart SDK changes (see PR #29004)
2019-03-19 20:01:03 -07:00
Priit Lätt
cdbd0f9ddd Use async execution for xcodebuild commands (#29048) 2019-03-19 09:19:34 -07:00
Jonah Williams
cd803ac7f2 Improve hot reload performance (#28152) 2019-03-15 15:02:45 -07:00
Alexandre Ardhuin
a0d1f93b07 fix block formatting (#29051) 2019-03-09 09:03:11 +01: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
dd5559a5b8 Add LICENSE test to presubmit checks (#28369)
## Description

Also update the existing dart files with missing licenses.

Without the fix, we'll emit the following error message
```
License headers cannot be found at the beginning of the following files.

/usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/lib/src/animation/tween_sequence.dart
/usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/test/material/raw_material_button_test.dart
/usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/test/widgets/async_lifecycle_test.dart
/usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/test/widgets/sliver_constraints_test.dart
/usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/test/widgets/app_test.dart
/usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/test/widgets/test_border.dart
/usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/test/widgets/physical_model_test.dart
/usr/local/google/home/liyuqian/flutter/flutter/packages/flutter/test/widgets/inherited_model.dart
/usr/local/google/home/liyuqian/flutter/flutter/packages/flutter_tools/lib/src/base/user_messages.dart
/usr/local/google/home/liyuqian/flutter/flutter/packages/flutter_tools/test/src/pubspec_schema.dart
/usr/local/google/home/liyuqian/flutter/flutter/packages/flutter_tools/test/ios/simulators_test.dart
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```

## Related Issues

Fixes https://github.com/flutter/flutter/issues/28368

## Checklist

Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes (`[x]`). This will ensure a smooth and quick review process.

- [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
- [x] My PR includes tests for *all* changed/updated/fixed behaviors (See [Test Coverage]).
- [x] All existing and new tests are passing.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] The analyzer (`flutter analyze --flutter-repo`) does not report any problems on my PR.
- [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I am willing to follow-up on review comments in a timely manner.

## Breaking Change

Does your PR require Flutter developers to manually update their apps to accommodate your change?

- [ ] Yes, this is a breaking change (Please read [Handling breaking changes]).
- [x] No, this is *not* a breaking change.

<!-- Links -->
[issue database]: https://github.com/flutter/flutter/issues
[Contributor Guide]: https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Test Coverage]: https://github.com/flutter/flutter/wiki/Test-coverage-for-package%3Aflutter
[Flutter Style Guide]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[Features we expect every widget to implement]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[Handling breaking changes]: https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
2019-02-26 17:38:21 -08:00