* 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.
* Revert "Revert "Fix filename handling for Windows. (#4482)" (#4484)"
This reverts commit fc9dac8435bc01141c549436262139ad7cee8c93.
Reverting now since issue with
gen_snapshot(as described in https://github.com/flutter/flutter/issues/13708) was fixed.
* resolve->resolveUri, drop underscores
* Fix underscore
This reverts commit d65485dd0e61dc3a21920e0132bb37b8da37720c.
This change is not sufficient as it exposes problem with kernel-based
gen_snapshot on Windows and results in Flutter test failures.
* Do not use CompilerOptions.onError to report errors.
CompilerMessage does not carry correct SourceSpan
which makes errors unreadable: they all point to
line 1 column XYZ.
* Run dartfmt on frontend_server/lib/server.dart.
* Fix linting issues for frontend_server
* Use the VM-specific wrapper for the kernel front-end to support VM-specific kernel transformations.
* Also, pass a flag to distinguish AOT mode from JIT mode to enable whole-program optimizations.
* Run frontend server from temp directory to force absolute URIs in Kernel file.
* Create special directory to cwd into to avoid conflicts with app sources in temp folder
* Make variable final
* 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
* 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>