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>
Showing
analysis_options.yaml
0 → 100644
frontend_server/.packages
0 → 100644
frontend_server/BUILD.gn
0 → 100644
frontend_server/README.md
0 → 100644
frontend_server/bin/starter.dart
0 → 100644
frontend_server/lib/server.dart
0 → 100644
frontend_server/pubspec.yaml
0 → 100644
travis/test.sh
0 → 100755
想要评论请 注册 或 登录