22 Commits

Author SHA1 Message Date
Greg Spencer
6bfd413bee
Synchronizes analysis_options.yaml files, and turns on Function typedef lint. (#5419)
Addresses flutter/flutter#18028 for the engine repo, and synchronizes the analysis_options.yaml files between the engine and the flutter/flutter repo.
2018-05-30 16:06:05 -07:00
Alexander Aprelev
97b22348c8
Leave only widget creation tracker kernel pass in flutter frontend server. (#4727)
* Leave only widget creation tracker kernel pass in flutter frontend server.

This is follow-up to https://dart-review.googlesource.com/c/sdk/+/43888.

* Adapt to updated interface

* Tyop

* Fix imports. Compiler interface extension

* Add trivial test back. Rename library to flutter_frontend_server.
2018-03-02 07:52:19 -08:00
Alexander Aprelev
3697845ac6
Add option for recompile request to switch to new main file(entrypoint). (#4703)
* Add option for recompile request to switch to new main file(entrypoint).

This is needed to reuse incremental compiler to compile unrelated programs. First use case is reuse single
incremental compiler for all tests run by 'flutter test'

* Remove left over print
2018-02-22 23:08:54 -08:00
Alexander Aprelev
8fdcdf5ff6
Add output path option (#4663) 2018-02-13 14:00:34 -08:00
Alexander Aprelev
5529f893e2
Switch to accept/reject-friendly incremental compiler (#4601)
* Switch to accept/reject-friendly incremental compiler

* Merge
2018-02-13 06:58:04 -08:00
Alexander Markov
834d6eb029
Roll Dart to 223eeb2ebe112aaaddca206aab55cd54b4e54391 (#4659)
* Roll Dart to 223eeb2ebe112aaaddca206aab55cd54b4e54391
* Update licenses
* Make analyzer happy, fix test for change in mockito
2018-02-12 14:47:18 -08:00
Alexander Aprelev
e582928a49
Accommodate flutter test --preview-dart-2 on windows and linux (#4564)
* Support .packages option in frontend_server, bundle_path in main_mac.

This is needed to be able to run  in  mode.

* Remove byte store tests

* Remove unused import

* Fix formatting

* Enable flutter test argument passing on win and linux.

* Fix formatting
2018-01-18 16:05:19 -08:00
Siva Chandra
2b398ee227 Roll Dart to 93d8c9fe2a2c22dc95ec85866af108cfab71ad06. (#4558)
* Roll Dart to 93d8c9fe2a2c22dc95ec85866af108cfab71ad06.

* Fix analyzer nits

* Try to pin dependency for tools/licenses to convert 2.0.1. Add verbose flag to pub get

* Pin dart to dev.16 to overcome pub issue

* Revert "Try to pin dependency for tools/licenses to convert 2.0.1. Add verbose flag to pub get"

This reverts commit d525a83f4494a511996226d328a5208d4651d46e as it is no
longer needed, was added to diagnose the problem, which turned out to be
a problem with pub in latest dart dev release.

* Fix license hash

* Reintroduce api methods and tests
2018-01-18 12:35:09 -08:00
Ian Hickson
f3f005c457
Analysis cleanup of the Dart in the Engine repo (#4554)
* Analysis cleanup of the Dart in the Engine repo

* Update painting.dart

* Update painting.dart
2018-01-17 09:48:56 -08:00
jensjoha
6de9931c36 Train frontend_server snapshot (#4560)
Reland 86430be68a8294fa6ef3002ee5aba27a50ce3ca6 with a fix for Windows build

Cuts 30% from hot-reload benchmarks with `--preview-dart-2`
2018-01-17 10:33:10 +01:00
Alexander Aprelev
e3be1b3d4e
Revert "Train frontend_server snapshot (#4512)" (#4556)
This reverts commit 86430be68a8294fa6ef3002ee5aba27a50ce3ca6 as it
breaks Windows engine buildbot.
2018-01-16 10:05:00 -08:00
jensjoha
86430be68a Train frontend_server snapshot (#4512)
Cuts 30% from hot-reload benchmarks with `--preview-dart-2`
2018-01-15 15:59:57 +01:00
Siva
0f0b144b03
Add support for --strong option in the engine, create a strong mode version of the platform file (#4504)
* Add a --strong option to the front end server so we can use strong mode with preview-dart-2.

* Plumb the --strong option through the dart controller into the VM.

* - Build a strong version of platform.dill for use with the engine.
- Fix a strong mode static error in the assert statement

* Enable asserts when running debug version even in strong mode.

* Use the correct platform dill file for linking when doing the aot builds.

* Fix formatting issue.
2018-01-03 16:52:24 -08:00
Alexander Aprelev
b62785f00d
Roll dart to 48a927acb2dc4178691b4ddfa817e87043e30b01 (#4409)
* Roll dart to f5fc335a4cdfcf96ae550044c64044ffe599e595

* Update license hash

* Roll a little further to pick up a revert

* Update hash
2017-12-01 11:13:31 -08:00
Alexander Aprelev
59f7f5038d Roll dart to pick up fix for diagnostic server (#4266)
* Roll dart to pick up fix for diagnostic server

* Fix runUnaryGuarded, runBinaryGuarded calls

* Revert changes to runUnaryGuarded, runBinaryGuarded as they seem to be local-only, perhaps dependent on version of analyzer

* Update third_party license hash. No changes to licenses
2017-10-23 16:02:24 -07:00
Alexander Aprelev
11cac67ff9 Add an option to link platform.dill into app kernel file (#4204) 2017-10-12 10:11:47 -07:00
Alexander Aprelev
f737d49ca2 Add an option to specify file byte store location (#4201) 2017-10-11 17:33:22 -07:00
Alexander Aprelev
74e58f66d4 Add reset method to reset incremental compiler. (#4187)
* Add reset method to reset incremental compiler.

This is needed to support Flutter app restart request.

* Indent constructor calls
2017-10-09 14:58:27 -07:00
Alexander Aprelev
5aabbe131a Return generated kernel filename on incremental compilation results. (#4069) 2017-09-06 15:13:25 -07:00
Alexander Aprelev
c2f762606f Use BinaryPrinter instead of KernelSerializer to accommodate IKG (#4058)
* Use BinaryPrinter instead of KernelSerializer to accomodate IKG

* Close sink opened with openWrite
2017-09-05 10:14:59 -07:00
Alexander Aprelev
364bfa0e6a Fix frontend_server problem with _filename not being set in compile. (#3998)
* Fix problem with _filename not being set. Add tests for that(and add mockito to mock IKG).

* Initialize KernelSerializer, Fix indentation

* Style nits and reworded comment
2017-08-22 11:19:24 -07:00
Alexander Aprelev
fe0e123b12 Introduce frontend_server that flutter tools will use for compilation. (#3982)
* Introduce frontend_server that allows for interactive and batch modes.

Example of batch mode:
```
$ dart $HOME/p/f/t11/flutter/engine/src/flutter/frontend_server/bin/server.dart --sdk-root=$HOME/p/f/t11/flutter/engine/src/out/android_debug/flutter_patched_sdk --platform-kernel-dill=$HOME/p/f/t11/flutter/engine/src/out/android_debug/flutter_patched_sdk/platform.dill $HOME/p/f/t11/flutter/flutter/examples/flutter_gallery/lib/main.dart

out: result 79256789-598c-4909-a9e4-0ef36d4c26ba
out: 'State&TickerProviderStateMixin^#U0^' is exported from both 'package:flutter/src/widgets/animated_cross_fade.dart' and 'package:flutter/src/widgets/animated_list.dart'.
...
out: Superclass has no method named 'hitTest'.
out: 79256789-598c-4909-a9e4-0ef36d4c26ba $HOME/p/f/t11/flutter/flutter/examples/flutter_gallery/lib/main.dart.dill
$
```

Example of interactive mode - communication via stdin/stdout:
```
$ dart $HOME/p/f/t11/flutter/engine/src/flutter/frontend_server/bin/server.dart --sdk-root=$HOME/p/f/t11/flutter/engine/src/out/android_debug/flutter_patched_sdk --platform-kernel-dill=$HOME/p/f/t11/flutter/engine/src/out/android_debug/flutter_patched_sdk/platform.dill --incremental

out: Frontend server is ready.
in: compile abc.dart
out: result fd99c0f9-12bb-4083-818e-2521d454fdc8
out: fd99c0f9-12bb-4083-818e-2521d454fdc8 abc.dart.dill
in: accept
in: recompile kuka
in: 123.dart
in: 456.dart
in: kuka
out: result d12f8d05-6c79-44f7-a775-1d3469e1be53
in: quit
$
```

* Add test. Cleanup dependencies.

* One more test with mocks

* Remove platform-kernel option. Refactored CompilerOptions. Clean up comments.

* Update license

* Use Uri.base.resolve consistently. Ensure folder path for sdk root. Fix test.

* Fix main_dart for frontend_server build target

* Reintroduce .packages file, add README.md, revert changes to licenses_flutter

* Run analyzer on frontend-server. Update .packages deps so tests can be run too.

* Add analyzer options file

* Clean up dependencies

* Add frontend_server files to license file back

* Fix comment in analysis_options.yaml

* Run frontend_server tests in travis

* Update licenses

* Change a+x permission on travis/test.sh

* pub get before pub run test

* Fix path to when

* Clarify accept/reject instructions

* Formatting, fixed docs, style

* Update license script to skip .travis.yml, when/example. Update license file.

* Update style nits

* Fix license

* Trim license extracted text. Fix licenses

* Update licenses_third_party signature

* Few more tests

* Update dart license

* Update dart license

* Style changes. Fix return value for Future<Null>
2017-08-21 12:55:17 -07:00