The hermetic Xcode tooling in that repo is not yet easily usable for
Xcode 9. There are two main issues:
1. The tooling currently assumes that macOS host builds should use
Xcode 8, whereas iOS builds should use Xcode 9. Flutter builds should
use Xcode 9 in all cases.
2. The tooling currently includes a bail-out condition for iOS builds
that exits non-zero immediately (Chrome hasn't yet migrated its iOS
build to this tooling).
In the meantime, I've manually updated the bot infra with Xcode 9 and
we'll continue to use the current find_xcode.py tooling until Chrome's
new Mac/iOS tooling is ready.
* Add dependency on chromium/src/build for Mac/iOS build
Preparation for migrating to mac_toolchain.py for installing/configuring
Xcode versions on the Mac build bots.
* Exclude third_party/chromium_build from licence script
It's used only at build time to fetch and install the correct Xcode
version.
* 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>
Roll Dart VM to daa38a2ea21d290e45adb509dc60418b22ec7eba for fix to Thumb profile sample collection.
Roll buildroot to b0b836db790abff26695a944224a4934480f2f48.
* Build Flutter patched-sdk with kernel artifacts
* Switch to new dart_host_toolchain argument mechanism to let dart patch_sdk know of host_toolchain.
* Update dart dependency
* Updated licenses
* Rename dart dependencies tag so they have just 'dart_'-prefixed dart's names.
* Fix indentation and line breaks for newly added deps.
* Add toolchain for windows host
* Update dart revision
* Licenses
* Update licenses
* Revert changes to licenses_third_party
This creates a `FlutterFragmentActivity` class that extends
the Android v4 Support librray's `FragmentActivity` class.
However, we intentionally do not bundle the support library
with our engine, so apps that wish to use this class are
responsible for including the support library .jar file in
their runtime deps when creating the final app.
flutter/flutter#10072
Earlier, when the —enable-vulkan flag was specified, the out directory name was determined by the other flags specified to `flutter/tools/gn`. But, the build itself was Vulkan enabled. Now that we are going to add the vulkan target to buildbot, we want to clearly delineate a Vulkan enabled build from a non-Vulkan enabled one.