Commit graph

375 commits

Author SHA1 Message Date
Zachary Anderson dff7ea1c4f
Revert "Avoid thinning frameworks in iOS extensions (#64674)" (#64829)
This reverts commit ce9cde8c4e.
2020-08-28 15:23:22 -07:00
Jenn Magder ce9cde8c4e
Avoid thinning frameworks in iOS extensions (#64674) 2020-08-28 10:43:04 -07:00
Jonah Williams 059de1537e
[flutter_tools] support code size tooling on iOS, linux, windows, macOS, and Android on Windows (#63610)
Adds support for size analysis on iOS, macOS, linux, and Windows - using an uncompressed directory based approach. The output format is not currently specified.

Adds support for size analysis on android on windows, switching to package:archive

Updates the console format to display as a tree, allowing longer paths. Increases the number of dart libraries shown (to avoid only ever printing the flutter/dart:ui libraries, which dominate the size)
2020-08-25 10:00:24 -07:00
Michael Klimushyn cb69bbb4d5
Remove unused l and --isolate-filter tools (#63336) 2020-08-10 10:51:04 -07:00
Jonah Williams 78efd3eb46
[flutter_tools] ensure desktop builds can run without flutter_tools' package_config (#62426) 2020-07-28 18:36:05 -07:00
Jonah Williams 8be1c9ef25
[flutter_tools] turn off fuchsia support by default (#61634) 2020-07-21 02:26:04 -07:00
stuartmorgan 4b12050112
Switch Windows to CMake (#60629)
* First pass at CMake files; untested

* First pass of adding CMake generation logic on Windows

* Misc fixes

* Get bundling working, start incoprorating CMake build into tool

* Fix debug, exe name.

* Add resources

* Move cmake.dart

* Rip out all the vcxproj/solution plumbing

* Fix plugin cmake generation

* Build with cmake rather than calling VS directly

* Adjust Windows plugin template to match standard header directory structure

* Pass config selection when building

* Partially fix multi-config handling

* Rev template version

* Share the CMake generation instead of splitting it out

* VS build/run cycle works, with slightly awkward requirement to always build all

* Update manifest

* Plugin template fixes

* Minor adjustments

* Build install as part of build command, instead of separately

* Test cleanup

* Update Linux test for adjusted generated CMake approach

* Plugin test typo fix

* Add missing stub file for project test

* Add a constant for VS generator
2020-07-06 12:59:16 -07:00
Jenn Magder 3744b82d8c
Support .flutter-plugins-dependencies (#59209) 2020-06-11 13:25:01 -07:00
Jenn Magder 319a61fd81
Move iOS Podfile logic into tool (#59044) 2020-06-10 14:12:48 -07:00
Jonah Williams ec4049e781
[flutter_tools] support bundle-sksl-path on all desktop and mobile targets (#58879)
Adds support for --bundle-sksl-path to windows, linux, macOS, and iOS.

Fixes #53115
2020-06-09 11:15:52 -07:00
Jonah Williams f5de6aadd4
[flutter_tools] remove zone level overrides of verbose and daemon logging (#57448)
Make it possible for all FlutterCommands to be global free, by moving instantiation to inside the Zone context. Additionally, provide VerboseLogger and NotifyLogger (daemon) at the top level and remove from command-specific overrides.

This allows removing a work around where web devices needed to look up directly from the context in non-test code.

Technically the output preferences are still zone injected, but these will be moved soon as they were not being used correctly by the top level command (the injection comes after ArgParser reads the overflow values, causing numerous wrap issues)
2020-06-04 16:35:36 -07:00
Jonah Williams b1d75fc99d
[flutter_tools] add flag for sound-null-safety, unify with experiments (#58533)
Also combines experiments into extraGenSnapshot/ExtraFrontEndOptions. Allows providing --no-sound-null-safety to allow out of order migration and running.
2020-06-03 21:02:07 -07:00
Marcus Tomlinson 5ee5490a63
[flutter_tools] Support profile and release builds on Linux (#57135) 2020-05-29 15:38:02 -07:00
stuartmorgan 9989c54cb1
Add release and profile support for Windows (#57749)
Builds and bundles an 'app.so' containing AOT data, and downloads and packages the release/profile artifacts for those builds, rather than always using the debug artifacts.

Fixes https://github.com/flutter/flutter/issues/38477
Fixes https://github.com/flutter/flutter/issues/39664
2020-05-28 12:17:56 -07:00
Dan Field 98ce4a5dfe
Remove invalid local from macos_assemble.sh (#58030)
When you run this, bash complains that `local` is only valid in functions. Gets rid of that extraneous warning.
2020-05-27 10:19:17 -07:00
Jenn Magder 43f18f36ef
Change release archive check to warning (#57688) 2020-05-27 10:08:41 -07:00
Jenn Magder d9adfe3f7e
Allow FLUTTER_APPLICATION_PATH to be null for misconfigured Xcode projects (#57701) 2020-05-27 10:08:09 -07:00
shihchanghsiungsonos bcc42901ad
Fix xcode_backend.sh to strip bitcode for archive build, if the project has bitcode disabled entirely (#57027) 2020-05-14 10:57:11 -07:00
Jonah Williams 0ecc7a4bee
[flutter_tools] support multiple fuchsia devices (#55780)
Fixes #55765

We are currently only returning the first device from dev-finder, instead we need to look at the whole list.
2020-05-05 13:40:38 -07:00
Jonah Williams 6dc1e83f12
[flutter_tools] ensure track-widget-creation can be disabled on Android/macOS (#56203)
Ensure --no-track-widget-creation is piped through android/macOS. Adds integration testing for iOS/android/macOS
2020-05-04 11:22:15 -07:00
Jonah Williams 2a5690f097
[flutter_tools] fix iOS build inconsistencies and pipe through performance file (#56094)
Ensure iOS and android builds can be correctly cached. Use the performance-measurement-file to verify that all targets were skipped on the second invocation. This is only run on the flutter_gallery build.
2020-05-01 15:34:28 -07:00
Jenn Magder 5cc87a5ea5
Remove dead variable from xcode_backend (#55790) 2020-04-27 17:05:54 -07:00
Jonah Williams 1ab3878996
[flutter_tools] support --enable-experiment in flutter test (#55564)
Support --enable-experiment in flutter test (for flutter_tester). Required minor change for null safety.
2020-04-27 14:47:43 -07:00
Jonah Williams 543186f105
[flutter_tools] quality pass on windows build (#55436) 2020-04-23 12:29:48 -07:00
Jonah Williams c8164dad80
[flutter_tools] migrate windows to assemble (#55187) 2020-04-22 12:26:49 -07:00
Jonah Williams 0b3f5cfcc0
[flutter_tools] initial support for enable experiment, run, apk, ios, macos (#54617) 2020-04-21 20:39:36 -07:00
Jonah Williams d46da3ae11
[flutter_tools] remove PackageMap and finish PackageConfig migration (#55244) 2020-04-21 19:55:15 -07:00
Jonah Williams e092dcfa22
[flutter_tools] Reland: fix multiple dart defines (#54973) 2020-04-16 10:56:49 -07:00
Jonah Williams 11ab2fa35c
Revert "[flutter_tools] fix multiple defines in flutter tooling, web (#54909)" (#54967)
This reverts commit b8bd09db21.
2020-04-16 08:33:16 -07:00
Jonah Williams b8bd09db21
[flutter_tools] fix multiple defines in flutter tooling, web (#54909) 2020-04-15 22:25:32 -07:00
Jonah Williams 2f23476cbb
[flutter_tools] dont supress analytics from re-entrant macos build (#54805) 2020-04-15 10:45:03 -07:00
Jonah Williams e23c4796a3
Expose extra frontend options through build apk/ios/macOS (#53273)
This will allow experimenting with the remove to string transformer before we're ready to turn it on by default. This doesn't work for web yet since we use dart2js instead of the frontend_server for producing kernel
2020-03-25 16:56:41 -07:00
Jonah Williams 3bc36095da
Revert "[flutter_tools]: reland move engine unpack to dart (#52543)" (#52549)
This reverts commit 3e25e60f57.
2020-03-13 09:50:07 -07:00
Jonah Williams 3e25e60f57
[flutter_tools]: reland move engine unpack to dart (#52543)
Reland of #50707
2020-03-13 09:40:55 -07:00
George Wright 084a7077ce
Revert "Put fuchsia tools into their own directory, and set source_dir to point at them. (#52266)" (#52277)
This reverts commit ffcc776513.
2020-03-09 16:55:58 -07:00
George Wright ffcc776513
Put fuchsia tools into their own directory, and set source_dir to point at them. (#52266)
This worksaround an issue with the latest version of package_config which doesn't handle
multiple dart packages sharing the same source directory. In this case, the fuchsia dart_tool
targets were sharing a directory with their dependency, :flutter_tools
2020-03-09 15:08:57 -07:00
Jonah Williams c1112d3f7e
[flutter_tools] Reland: Allow providing dart-defines to Android, iOS, macOS builds (#52044) 2020-03-06 14:53:36 -08:00
Jonah Williams ee476a7bd1
Revert "[flutter_tools] Allow providing dart-defines to Android, iOS, macOS builds (#51714)" (#52041)
This reverts commit ee60eeea3e.
2020-03-05 12:51:42 -08:00
Jonah Williams ee60eeea3e
[flutter_tools] Allow providing dart-defines to Android, iOS, macOS builds (#51714) 2020-03-05 12:38:40 -08:00
Jenn Magder 32716b9e9b
Bitcode strip embedded iOS frameworks (#51914) 2020-03-04 13:15:33 -08:00
Jenn Magder e491544588
Move embedding and linking Flutter frameworks into the tool (#51453)
* Move embedding and linking Flutter frameworks into the tool

* Unused import

* Migrate

* Rename run, add comments, remove typedef

* Add status log to tell the user what we did

* Remove Podfile migration, create IOSMigration superclass

* word-smiting

Co-Authored-By: Jonah Williams <jonahwilliams@google.com>

* for space

Co-Authored-By: Jonah Williams <jonahwilliams@google.com>

Co-authored-by: Jonah Williams <jonahwilliams@google.com>
2020-03-03 12:11:28 -08:00
Jonah Williams 08d079f6c2
[flutter_tools] wire up complete support for Dart obfuscation (#50509) 2020-02-27 08:58:33 -08:00
Francisco Magdaleno 6815e72086
Revert "[flutter_tools] move engine unpack to the flutter tool (#50707)" (#51076)
This reverts commit 0a623e879c.
2020-02-19 13:55:48 -08:00
Jonah Williams 0a623e879c
[flutter_tools] move engine unpack to the flutter tool (#50707) 2020-02-19 13:36:04 -08:00
gaaclarke d3c318ed49
Made xcode_backend stop on error. (#50664) 2020-02-12 16:23:01 -08:00
Dan Field 24f8f799da
add an --enable-vmservice flag (#50663) 2020-02-12 14:52:09 -08:00
Jonah Williams 82410a5ae7
[flutter_tools] support iOS and macOS with split-debug-info and tree-shake-icons (#50296) 2020-02-06 18:39:34 -08:00
Jonah Williams 247f6a18d0
[flutter_tools] wire up tree shake fonts to iOS (#50224) 2020-02-06 10:28:03 -08:00
Jonah Williams 49be146953
[flutter_tools] revert split debug info from macOS (#50245) 2020-02-05 18:02:20 -08:00
Jonah Williams da4b5d68c4
[flutter_tools] support --split-debug-info option in android builds (#49650) 2020-02-05 17:45:24 -08:00
Jonah Williams de7908f9e9
[flutter_tools] Reland flutter assemble for iOS (#50229) 2020-02-05 17:44:06 -08:00
Jonah Williams 4d2ce7be2c
Revert "[flutter_tools] Reland migrate xcode_backend.sh to flutter assemble (#50200)" (#50228)
This reverts commit 868b0e6d97.
2020-02-05 15:57:49 -08:00
Jonah Williams 868b0e6d97
[flutter_tools] Reland migrate xcode_backend.sh to flutter assemble (#50200) 2020-02-05 13:04:22 -08:00
Dan Field 4b8efad99b
Font subset in the tool (#49737) 2020-02-04 20:34:24 -08:00
Jonah Williams 52d5744ea2
Revert "[flutter_tools] Migrate xcode_backend.sh to flutter assemble (#49842)" (#50151)
This reverts commit c2353b2911.
2020-02-04 15:02:55 -08:00
Jonah Williams c2353b2911
[flutter_tools] Migrate xcode_backend.sh to flutter assemble (#49842) 2020-02-04 14:19:08 -08:00
Jonah Williams cb3b7ab487
[flutter_tools] simplify symbol logic for iOS (#49628) 2020-01-29 13:43:23 -08:00
Jenn Magder fdb0225f8c
Revert "[flutter_tools] move dsym generation logic into dart build process (#49491)" (#49592)
This reverts commit 2a91a7501c.
2020-01-27 18:37:21 -08:00
Jonah Williams 2a91a7501c
[flutter_tools] move dsym generation logic into dart build process (#49491) 2020-01-27 17:48:33 -08:00
Jonah Williams ad9476dc9e
[flutter_tools] Remove context from Artifacts class (#48776) 2020-01-14 16:47:34 -08:00
Andrew Davies 52e0d980cb [tools] Rename dev_finder to device-finder. (#48610)
dev_finder name is deprecated. device-finder is preferred.
Functionality remains identical, this is an aesthetic change.

This change was generated via:
$ find . -not -path '*/\.*' -type f -exec sed -i 's/(^import.*)!dev_finder/device-finder/g' {} \;
2020-01-14 09:41:16 -08:00
Alexandre Ardhuin 4f9b6cf017
enable lint prefer_final_in_for_each (#47724) 2020-01-07 16:32:04 +01:00
Jonah Williams ee7a37f1d3
[flutter_tools] Ensure that global variables are easily identifiable (#47398) 2020-01-06 11:04:20 -08:00
Jenn Magder 85e9be36bf
Revert "Check Xcode build setting FULL_PRODUCT_NAME for the name of the built app during flutter run (#47266)" (#47568)
This reverts commit 648a5d8a1e.
2019-12-20 17:45:16 -08:00
Jenn Magder 648a5d8a1e
Check Xcode build setting FULL_PRODUCT_NAME for the name of the built app during flutter run (#47266) 2019-12-19 14:18:10 -08:00
Dan Field b23238890a Pipe through test-randomize-ordering-seed (#47243) 2019-12-18 13:58:01 -08:00
Jenn Magder 65ad8d805a
Revert "Check Xcode build setting FULL_PRODUCT_NAME for the name of the built app during flutter run (#46928)" (#47264)
This reverts commit e54e301d50.
2019-12-17 17:20:57 -08:00
Jenn Magder e54e301d50 Check Xcode build setting FULL_PRODUCT_NAME for the name of the built app during flutter run (#46928) 2019-12-17 16:13:01 -08:00
Todd Volkert fc9b30a4f1
Revert "flutter_tools: Remove unused //ignore comments; change flutter-specific ones to "ignore_for_flutter" (#45917)" (#46999)
This reverts commit f28592018d.

It broke forbidden_imports_test, which uses a custom ignore directive.
2019-12-13 12:23:12 -08:00
Sam Rawlins f28592018d flutter_tools: Remove unused //ignore comments; change flutter-specific ones to "ignore_for_flutter" (#45917) 2019-12-13 12:03:02 -08:00
Jenn Magder dfa6eb31a0
Revert "flutter run FULL_PRODUCT_NAME (#46838)" (#46925) 2019-12-12 17:34:54 -08:00
Jenn Magder 7a7e2bb247 flutter run FULL_PRODUCT_NAME (#46838) 2019-12-12 17:03:01 -08:00
Ian Hickson 449f4a6673
License update (#45373)
* Update project.pbxproj files to say Flutter rather than Chromium

Also, the templates now have an empty organization so that we don't cause people to give their apps a Flutter copyright.

* Update the copyright notice checker to require a standard notice on all files

* Update copyrights on Dart files. (This was a mechanical commit.)

* Fix weird license headers on Dart files that deviate from our conventions; relicense Shrine.

Some were already marked "The Flutter Authors", not clear why. Their
dates have been normalized. Some were missing the blank line after the
license. Some were randomly different in trivial ways for no apparent
reason (e.g. missing the trailing period).

* Clean up the copyrights in non-Dart files. (Manual edits.)

Also, make sure templates don't have copyrights.

* Fix some more ORGANIZATIONNAMEs
2019-11-27 15:04:02 -08:00
Jenn Magder 1f296ad78c
Remove chmod to make Flutter framework headers unwritable (#45189) 2019-11-19 15:13:33 -08:00
Alexandre Ardhuin 0df8812681
fix type errors (#45151) 2019-11-19 09:28:24 +01:00
Alexandre Ardhuin adc7351046
implicit-casts:false on flutter_tools/lib (#44447)
* implicit-casts:false on flutter_tools/lib

* address review comments

* use castStringKeyedMap

* introduce {bool,string,strings}Arg

* fix ci
2019-11-19 07:57:42 +01:00
Jenn Magder 357d02c87b
Always embed Flutter.framework build mode version from Xcode configuration (#42029) 2019-10-15 15:33:55 -07:00
Ryan Macnak b7773da37b
Pass build mode-specific bytecode generation options to frontend_server. (#42471)
Fixes various Flutter framework test failures when bytecode is enabled.
2019-10-14 15:26:14 -07:00
Dan Field 3af16678ad
Reland "AOT support for Linux Desktop I: switch Linux builds to assemble (#41612)" (#42030)" (#42038)
This reverts commit 142a8630ec.
2019-10-07 10:37:58 -07:00
Ian Hickson 142a8630ec
Revert "AOT support for Linux Desktop I: switch Linux builds to assemble (#41612)" (#42030)
This reverts commit 3024053c82.
2019-10-04 17:51:51 -07:00
Jonah Williams 3024053c82
AOT support for Linux Desktop I: switch Linux builds to assemble (#41612) 2019-10-04 12:13:36 -07:00
stuartmorgan d03aecab58
Add an ephemeral directory for Linux (#40587)
Moves the generated config into that directory. Matches the structure of
the other desktop projects.

Also fixes #40265
2019-09-16 16:04:55 -07:00
Zachary Anderson e2340c641d
[flutter_tool] Use curly braces around single statment control structures (#40446) 2019-09-13 14:51:35 -07:00
stuartmorgan a7cfdbd3f3
Convert build mode to lowercase in tool_backend (#40393)
On macOS and iOS, the build mode is converted to lowercase in the
Flutter-side script, allowing projects to pass configuration names
directly. This adds the same behavior to the tool_backend.dart script
currently used by Windows and Linux, so that Windows builds can do the
same (since the default configuration names used by VS, as in Xcode,
start with a capital letter).
2019-09-12 19:13:42 -07:00
stuartmorgan e6ae95c4ce
Add an ephemeral directory to Windows projects (#40194)
Moves files generated in windows/flutter/ as part of the build to an ephemeral/ subdirectory, matching the approach used on macOS (and in the future, Windows).

Adds that directory to the generated properties file to minimize hard-coding of paths in the project.
2019-09-11 07:46:57 -07:00
Jenn Magder 556e3d9e74
Keep Flutter.framework binaries writable so they can be code signed (#40174) 2019-09-10 15:17:56 -07:00
Ian Hickson 2efbc11b7a
Revert "Keep Flutter.framework binaries writable so they can be code signed (#39539)" (#39859)
This reverts commit 72cacb4040.
2019-09-04 17:47:39 -07:00
Jenn Magder 72cacb4040
Keep Flutter.framework binaries writable so they can be code signed (#39539) 2019-09-03 18:00:45 -07:00
Dan Field cb965495d7
Reland "Relax arguments around local engine, build hello_world with bitcode" (#39434) 2019-08-28 15:19:04 -07:00
Jonah Williams 393106fbf5
Revert "Relax requirements around local engine, build hello_world with bitcode (#39357)" (#39431)
This reverts commit 202c1b4224.
2019-08-28 13:12:45 -07:00
Dan Field 202c1b4224
Relax requirements around local engine, build hello_world with bitcode (#39357) 2019-08-28 10:27:01 -07:00
Jonah Williams 55a1ba761d
Use output dir instead of specific paths in assemble rules (#39274) 2019-08-27 22:52:51 -07:00
stuartmorgan 2476415b60
Rename macos_build_flutter_assets.sh (#39353)
The name is very misleading at this point, since it does substantially
more than build flutter_assets. Name it more generically as a wrapper
for 'assemble' for macOS builds.
2019-08-27 19:03:14 -07:00
Jonah Williams b2d19d2af5
Add support for macOS release/profile mode (3 of 3) (#38909) 2019-08-23 08:46:24 -07:00
Jonah Williams 01feddbece
Support for macOS release mode (1 of 3) (#37425) 2019-08-15 16:36:45 -07:00
Jonah Williams fef69b2044
Partial macOS assemble revert (#37664) 2019-08-06 09:15:50 -07:00
Jonah Williams cf6613583d
only build macOS kernel in debug mode (#37365) 2019-08-01 09:23:40 -07:00
Jonah Williams 602f76ca00
fix errors caught by roll of macOS assemble (#37351) 2019-07-31 21:14:40 -07:00
Jonah Williams 2ab469952b
Flutter assemble for macos take 2! (#36987) 2019-07-31 16:19:22 -07:00
xster dfad03952f
do not strip symbols when building profile (#37210) 2019-07-30 13:09:40 -07:00