Commit Graph

161 Commits

Author SHA1 Message Date
Alexandre Ardhuin
8b0de38ef8 fix upcoming lint avoid_returning_null_for_void (#23190) 2018-10-17 11:01:37 +02:00
Dan Field
ffa8a1ebe8 Make it easier to use CocoaPods to Add2App for iOS (#23021)
* Make it easier to Add2App for iOS

* Use local engine if xcconfig says so

* newline
2018-10-16 13:50:20 -07:00
Stanislav Baranov
570ae840f2 Remove unused deps and flags from flutter tool. (#22571) 2018-10-09 13:04:06 -07:00
Alexandre Ardhuin
2d3ff10d62 apply lint prefer_void_to_null in packages/flutter_tools (#22686) 2018-10-05 07:54:56 +02:00
Michael Goderbauer
07fc9f6442 Fix mkdir call to not fail if dir exists (#22622) 2018-10-03 14:12:54 -07:00
Michael Goderbauer
bfa9822134 Hide App.framework.dSYM from Spotlight (#22540) 2018-10-02 18:28:22 -07:00
Alexandre Ardhuin
f62afdcf57 add missing type parameter on methods (#22096) 2018-10-01 21:29:08 +02:00
Jonah Williams
63f2fb9f5d Add coverage directory to fuchsia coverage script (#22236) 2018-09-26 13:17:20 -07:00
Mikkel Nygaard Ravn
52697ef962 Fixes to support add2app on iOS (#22277)
* Fix xcode_backend.sh script to support add2app

* Fix ios deployment target. Too old for new Xcode.

* Fix ios host app

* Register plugins with Flutter view
2018-09-26 01:57:05 -04:00
Michael Goderbauer
eda228404c Strip debug symbols from App.framework for non-debug builds (#22245)
A dSYM file is created for the stripped `App.framework` and placed at `build/aot/App.dSYM`.

Reduces `App.framework` for Flutter Gallery by 6MB uncompressed, minus 23%.
Reduces `App.framework` for Hello World by 1.6MB uncompressed, minus 22%.

Fixes #4287.
Fixes #18693.
Helps with #21813.
See also #12012.

This change depends on https://dart-review.googlesource.com/c/sdk/+/76306.
2018-09-26 00:57:39 +02:00
Mikkel Nygaard Ravn
a600fe7f13 Support materializing Flutter module host app on iOS (#21276)
* Prototype

* Fix paths to Flutter library resources

* Invoke pod install as necessary for materialized modules

* Add devicelab test for module use on iOS

* Remove debug output

* Rebase, reame materialize editable

* Add devicelab test editable iOS host app

* Removed add2app test section
2018-09-25 15:21:13 -04:00
Alexandre Ardhuin
d927c93310 Unnecessary new (#20138)
* enable lint unnecessary_new

* fix tests

* fix tests

* fix tests
2018-09-12 08:29:29 +02:00
Alexander Aprelev
e2e241320b Update fuchsia-tester so it takes map of kernel test files (#21573)
* Update fuchsia-tester so it takes map of kernel test files

* Set mainDart correctly. Cleanup nits.
2018-09-08 17:53:40 -07:00
Chris Bracken
5ab9e70727 Revert "Eliminate snapshot/depfile options to build bundle (#21507)" (#21563)
This tickled a bug in KernelCompiler.compile() where the fingerprinter
doesn't include the outputFilePath in its list of dependencies. As such,
if the output .dill file is missing or corrupted, the fingerprint still
matches and re-compile is skipped, even though it shouldn't be. I'll fix
that in a followup, then look at how this triggered that issue. My
hypothesis is that that it's due to the aot kernel compile and bundle
kernel compile have separate output directories for the .dill files
(build/ vs build/aot) but the same output directory for the associated
depfiles (due to this patch).

This reverts commit 43a106e95a.
2018-09-07 12:33:05 -07:00
Chris Bracken
43a106e95a Eliminate snapshot/depfile options to build bundle (#21507)
The --snapshot argument was only necessary in Dart 1. The --depfile
argument was only used in Dart 2 mode to pass to the kernel compiler,
but was inconsistent with the 'build aot' command, where the depfile was
always set to build/kernel_compile.d.

This patch updates 'build bundle' to emit the depfile to a location
consistent with the 'build aot' command; since it's not intended to be
user-configurable and flutter.gradle hardcodes the location to
build/kernel_compile.d either way, this patch also eliminates the
ability to configure the filename altogether.
2018-09-07 10:21:55 -07:00
Chris Bracken
05edc00a6f Eliminate Dart 1 support from Flutter test (#21408) 2018-09-05 10:41:44 -07:00
Chris Bracken
041ff621a7 Eliminate --preview-dart-2 flag (#21304)
This patch eliminates the --preview-dart-2/--no-preview-dart-2 flag,
hardcoding all uses to true. It also defaults all previewDart2 method
parameters to true, where they hadn't yet been.

A series of subsequent patches will eliminate all previewDart2
parameters and the associated code from within the codebase.
2018-09-04 08:50:05 -07:00
Ian Hickson
b7261586e5 Audit TODO syntax (#20837)
Fixes the pattern for some TODOs to match our style guide.

(Also, a couple of minor code order fixes.)
2018-08-21 14:02:11 -07:00
leoylung
adafaee0e3 Remove duplicated assets under /pkg/data (#20728)
Require componentName to ensure assets are placed under /pkg/data/<component-name>
2018-08-21 13:14:17 -07:00
Ian Hickson
3dec6a6930 Clean up usage of temporary directories (#20682)
All temporary directory start with `flutter_` and have their random component separated from the name by a period, as in `flutter_test_bundle.YFYQMY`.

I've tried to find some of the places where we didn't cleanly delete temporary directories, too. This greatly reduces, though it does not entirely eliminate, the directories we leave behind when running tests, especially `flutter_tools` tests.

While I was at it I standardized on `tempDir` as the variable name for temporary directories, since it was the most common, removing occurrences of `temp` and `tmp`, among others.

Also I factored out some common code that used to catch exceptions that happen on Windows, and made more places use that pattern.
2018-08-17 13:17:23 -07:00
Ian Hickson
98c117bb38 Implement flutter test -j (#20493) 2018-08-15 12:22:30 -07:00
Todd Volkert
f8a5c86109 Pass icu data file to fuchsia_tester (#20605) 2018-08-14 20:06:07 -07:00
leoylung
7762e45115 Check null on componentName (#20560) 2018-08-14 10:24:17 -07:00
leoylung
5311dff1f4 Duplicate assets under data/ to data/componentName (#20534) 2018-08-13 13:35:51 -07:00
Todd Volkert
5d8771d18d Update fuchsia_tester to work in (and require) Dart 2 mode (#20460) 2018-08-10 21:18:10 -07:00
Alexandre Ardhuin
eda03e2586 re-re-enable lint unnecessary_const (#20103) 2018-08-02 12:02:32 +02:00
Todd Volkert
00aac68e2d Revert flutter/flutter#19592 (#19861)
It was causing problems rolling Flutter into Fuchsia
2018-07-27 08:44:39 -07:00
Todd Volkert
7ea164ecb5 More dart 2 fixes to fuchsia_tester.dart (#19846) 2018-07-26 17:46:08 -07:00
Todd Volkert
6258f322d4 Make Fuchsia tools Dart 2 clean (#19727) 2018-07-24 16:33:49 -07:00
Alexandre Ardhuin
27018359d2 re-enable lint unnecessary_const (#19592)
* re-enable lint unnecessary_const

* remove trailling whitespaces

* remove unnecessary const (after merge)
2018-07-23 08:31:48 +02:00
Ian Hickson
f630f90d6d Revert "enable lint unnecessary_const (#19342)" (#19423)
This reverts commit cc1cf13eec.
2018-07-16 13:30:27 -07:00
Alexandre Ardhuin
cc1cf13eec enable lint unnecessary_const (#19342) 2018-07-16 21:43:48 +02:00
Gary Miguel
35f374036c Revert "Revert "Use runTests in fuchsia tester. (#19178)" (#19321)" (#19327)
This reverts commit e22f99743b.

Adding the exit(exitCode) fixes the hang.
Tested by running `fx run-host-tests` with a topaz checkout.
Verified the hang before, no hang after.
2018-07-13 10:37:44 -07:00
Zachary Anderson
e22f99743b Revert "Use runTests in fuchsia tester. (#19178)" (#19321)
This reverts commit 032f8cdb8b.

The test runner hangs on exit after all tests pass when trying
to roll this into Fuchsia.
2018-07-12 14:18:29 -07:00
Gary Miguel
032f8cdb8b Use runTests in fuchsia tester. (#19178)
This allows us to collect code coverage for Fuchsia tests.
2018-07-09 16:13:10 -07:00
Sigurd Meldgaard
1e8ef602c3 Add iOS module template (#18830) (#18903)
Add iOS module template

This will enable integration of flutter-views into existing iOS project.
2018-06-28 14:35:00 +02:00
Sigurd Meldgaard
4a6558f88f Revert "Add iOS module template (#18830)" (#18902)
This reverts commit 8be198d8a0 that broke the build.
2018-06-28 11:16:08 +02:00
Sigurd Meldgaard
8be198d8a0 Add iOS module template (#18830)
Add iOS module template

This will enable integration of flutter-views into existing iOS project.
2018-06-28 10:03:16 +02:00
Stanislav Baranov
bcaf026c08 Add flutter tool support for creating app-specific VM snapshots. (#18417)
Add flutter tool support for creating app-specific VM snapshots.
2018-06-15 11:53:30 -07:00
Chris Bracken
2ae48845a8 Revert elimination of Dart 1 (#18460)
fuchsia_tester.dart still assumes Dart 1. Previously, it ran tests directly
from source, flutter_platform.dart automatically runs a kernel compile when
operating in Dart 2 mode, but this assumes a functional Dart SDK is available
in the artifacts directly, and fuchsia_tester.dart mocks out the artifacts
directory with an empty temp dir.

Remaining work is:
1. Get the frontend server building as a dependency on Fuchsia.
2. Patch fuchsia_tester.dart to use a valid Dart SDK and frontend server.

This also reverts migration to Dart 2 typedef syntax.

This reverts commit 6c56bb2. (#18362)
This reverts commit 3daebd0. (#18316)
2018-06-13 12:46:39 -07:00
Sigurd Meldgaard
d1aaa406ac Find AppFrameworkInfo.plist relative to Flutter app (#18358)
This works better for an add2app scenario.
2018-06-12 11:04:49 +02:00
Chris Bracken
3daebd059c It's time to #deleteDart1 (again) (#18316)
* It's time to #deleteDart1 (#18293)

Eliminates support for Dart 1 in flutter_tools, and drops our Dart 1
benchmarks. All commands now run in Dart 1 mode only.

Eliminates --preview-dart-2 / --no-preview-dart-2 support.

* Fix indentation, remove no longer necessary .toList()

* Only push udpated kernel if >0 invalidated srcs
2018-06-08 15:49:24 -07:00
Chris Bracken
9495df4bc3 Revert "It's time to #deleteDart1 (#18293)" (#18313)
Several benchmarks started failing during kernel compile:
1. Timeouts:
   * commands_test
   * hot_mode_dev_cycle__benchmark
   * run_machine_concurrent_hot_reload
   * service_extensions_test

2. Kernel compiler crash:
   * hot_mode_dev_cycle_linux__benchmark
   * routing_test

3. Unexpected termination:
   * hot_mode_dev_cycle_win__benchmark

This reverts commit ed63e7082a.
2018-06-08 12:43:11 -07:00
Chris Bracken
ed63e7082a It's time to #deleteDart1 (#18293)
Eliminates support for Dart 1 in flutter_tools, and drops our Dart 1
benchmarks. All commands now run in Dart 1 mode only.

Eliminates --preview-dart-2 / --no-preview-dart-2 support.
2018-06-08 11:04:57 -07:00
Jacob Richman
62febaa140 Add support for --track-widget-creation back to ios build rules. (#18046) 2018-05-30 14:53:35 -07:00
Chris Bracken
849676fc7f Support multi-arch iOS binaries (#17312)
This change adds support for armv7, arm64, and universal iOS apps.

This change eliminates iOS target architecture hardcoding (previously
arm64 only) and uses the target architecture(s) specified in Xcode's
ARCHS setting ('Architectures' in Xcode Build Settings).

For universal binaries, set ARCHS to its default value, $(ARCHS_STANDARD).

Note that after changing the architecture in Xcode, developers should
run 'pod install' from the ios subdirectory of their project. A separate
change (that will land before this one) will add support for
automatically detecting project file and Podfile changes and re-running
pod install if necessary.

This change also adds an --ios-arch option to flutter build aot. In iOS
AOT builds (in profile and release mode), this dictates which
architectures are built into App.framework. This flag should generally
be unnecessary to set manually since flutter build aot is typically only
invoked internally by flutter itself.
2018-05-06 18:43:07 -07:00
Chris Bracken
5834f41770 Build App.framework for all requested architectures (#17296) (#17317)
In debug mode iOS builds, we build a stub App.framework with no
functionality, since the engine itself loads the code from the included
bundle and subsequently via hot reload. This is simply done for
consistency with profile/release AOT app structure.

To satisfy the linker, ensure that we're building this code for all
build architectures, not just CURRENT_ARCH.

This is pre-work for supporting arbitrary iOS architectures (armv7,
arm64, universal) in Flutter.

This re-lands feb16d8, which was reverted due to a flaky test.
2018-05-06 18:42:37 -07:00
Chris Bracken
b2b4665926 Revert "Build App.framework for all requested architectures" (#17316)
* Revert "Build App.framework for all requested architectures (#17296)"

This reverts commit feb16d8d01.
2018-05-04 18:17:35 -07:00
Chris Bracken
feb16d8d01 Build App.framework for all requested architectures (#17296)
In debug mode iOS builds, we build a stub App.framework with no
functionality, since the engine itself loads the code from the included
bundle and subsequently via hot reload. This is simply done for
consistency with profile/release AOT app structure.

To satisfy the linker, ensure that we're building this code for all
build architectures, not just CURRENT_ARCH.

This is pre-work for supporting arbitrary iOS architectures (armv7,
arm64, universal) in Flutter.
2018-05-04 13:20:17 -07:00
Chris Bracken
7f0876700a Handle multi-arch builds in Xcode lipo phase (#17212)
Correctly split ARCHS into a Bash array in xcode_backend.sh.

Previously, when ARCHS contained multiple values (e.g., ARCHS="armv7 arm64"),
we treated that as a single architecture, and lipo invocation would
fail.
2018-05-02 18:50:35 -07:00