• A
    Introduce frontend_server that flutter tools will use for compilation. (#3982) · fe0e123b
    Alexander Aprelev 提交于
    * 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>
    fe0e123b
licenses_dart 275.0 KB