315 Commits

Author SHA1 Message Date
Dan Field
7217999a9a
Revert "Reland Xcode backend refactor" (#23737)
* Revert "Update templates (#23698)"

This reverts commit 5b0de6d679ff2e870711b986577bc7769c1745fb.

* Revert "Verify that date/number translations exist for all supported languages (#23692)"

This reverts commit 3449edf256aa389405ef6a86387dc02c81061b2e.

* Revert "Reland Xcode backend refactor (#23574)"

This reverts commit 7270f2845d9a975387191ab6adcada4c492273b5.
2018-10-30 09:36:31 -07:00
Dan Field
7270f2845d
Reland Xcode backend refactor (#23574)
* Use Xcode build configurations to drive Flutter build mode

* Proper check wrt local_engine, print error if profile mode misisng

* Remove unused code, update tests, fix template problem, update warning

* fix up warning

* add explanatory dev comment

* fix whitespace

* missing words, change lambda arrow to function body

* error indentation

* Test early exits for xcode_backend.sh

* only on macOS, use right test

* Update error messages

* case insensitive compare for build config

* Update gallery podfile

* update projects to add profile configuration

* make compatible with flavors

* add missing plist files
2018-10-30 07:23:19 -07:00
Dan Field
628e8ec0b9
Revert "Xcode backend refactor (#23387)" (#23528)
This reverts commit def1d80566024950f5e7aa748e5680e7f1480bcb.
2018-10-25 13:25:09 -07:00
Dan Field
def1d80566
Xcode backend refactor (#23387)
* Use Xcode build configurations to drive Flutter build mode
2018-10-25 11:29:31 -07:00
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 43a106e95a615679609ffd11a3ca3fa466a9712c.
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 cc1cf13eec6752af992d3db0265cf04cc90bfd13.
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 e22f99743b4f0bea4a9b8e7703ce5ffbfda37a04.

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 032f8cdb8b563bdc200acdce068945a834bf2271.

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 8be198d8a086bc26a9b73536f5ebd7ee327a4f01 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 ed63e7082ac89ea9851ae645ae69842da0c6150c.
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