Commit Graph

400 Commits

Author SHA1 Message Date
Jonah Williams
aa90dbe7f4
[flutter_tools] disable source maps by default for release builds, enable for run and with command line arg (#67331)
Disables source map production by default for build web. For web builds performed as a part of flutter run --release, enable the source maps, or allow force enabling with --source-maps command line flag.

fixes #67328
2020-10-05 13:24:51 -07:00
Jonah Williams
ddb01a0c81
[null-safety] add integration tests for sound null safety modes, add support for sound null safety in dart2js (#67171)
Add integration tests to verify that ddc and dart2js can be built and run in sound mode. Updates dart2js compilation to insert a language version comment into the generated entrypoint if necessary.

dart-lang/sdk#42253
2020-10-02 21:52:38 -07:00
Jenn Magder
36fca52c0d
Replace MockArtifacts with Artifacts.test() (#67012) 2020-09-30 16:25:29 -07:00
Jenn Magder
e8fbb43aac
Replace MockFile with memory file system files (#66941) 2020-09-29 17:50:33 -07:00
Jonah Williams
51ededb92f
[flutter_tools] reland: map file URIs to a multiroot scheme (#66405)
If a file scheme and one or more roots is provided, fall back to this mapping before the direct file path if the file path cannot be turned into a package URI.

Use URI representation so that the transformation is resilient to the org-dartlang-app scheme used by the web builds.

Fixes #66095
Fixes #66404
2020-09-23 07:03:59 -07:00
Jonah Williams
a029e172fe
[flutter_tools] fix bug where last build id parent folder is missing (#66156) 2020-09-21 11:17:13 -07:00
Jonah Williams
84aae22c3e
[flutter_tools] optimize fetch requests and remove main.dart.js bypass (#66069)
The main.dart.js bypass is not needed now that we have skipWaiting. Additionally optimize the fetch handler so that resources not in the cache skip the service worker altogether.

Fixes #66068
2020-09-17 17:05:46 -07:00
Michael Arndt
fbc34def01
Fixed typo (subetting -> subsetting) (#62502) 2020-09-17 15:17:08 -07:00
Michael R Fairhurst
7f3c9b6bda
Remove unused 'dart:async' imports. (#65568) 2020-09-16 14:14:06 -07:00
Balvinder Singh Gambhir
3dde3e034c
[flutter_tools] generates version.json for web using flutter tool (#64644)
Generates version.json in web directory of project. version.json can be used in the future version of package_info which will support web. version.json has the following keys : app_name, version and build_number. This file is generated every time a user runs or builds the project.

Co-authored-by: Jonah Williams <jonahwilliams@google.com>
2020-09-15 11:21:54 -07:00
Herbert Poul
8dfd42f6b7
[gen_l10n] Support string list as preferred-supported-locales (#63649)
* [gen_l10n] Support string list as preferred-supported-locales, as documented.

* [gen_l10n] Convert preferredSupportedLocale to a list of strings. 

* [gen_l10n] Accept a multi option instead of a json string in the command line.
2020-09-10 07:32:40 +08:00
Jonah Williams
418681d6f1
[flutter_tools] allow disabling pwa from build command, fix run release build caching (#64587)
Fix run release/profile modes generating a full service worker.
2020-09-03 13:42:47 -07:00
Shi-Hao Hong
b80b432555
Move gen_l10n into flutter_tools (#65025) 2020-09-03 09:26:58 -07:00
Jonah Williams
183a653e37
[flutter_tools] adjust index.html caching and insert cache busting URL in to main.dart.js/sw request (#64976)
Attempt to bypass aggressive CDN by requesting main.dart.js/sw.js with a query param and defaulting index.html to online first. This will not stop aggressive CDN caching of the index.html

#64968
2020-08-31 17:22:42 -07:00
Shi-Hao Hong
fd22fc3e35
[gen_l10n] Synthetic package generation by default (#62395)
* synthetic packages by default in gen_l10n tool

* Refactor default path for synthetic package

* Remove unused import

* Code cleanup

* Further improvements to help text

* Refactor synthetic package path

* Remove newlines

* Test cleanup

* clean up logic in inputs and outputs list function

* Update l10n.yaml usage

* only add option if value is non-null

* Update stocks app as proof of concept for synthetic package usage

* Address nits

* print pubspec contents

* add print statements

* Do not allow null value for useSyntheticPackage

* +

* +

* +

* +

* Cleanup

* Add test

* Fix text

* Dont parse pubspec directly

* Test using context

* WIP: generate synthetic packages on pub get -- needs tests

* Allow null value

* Update null handling

* Refactor to properly handle null case

* Fix yamlMap condition

* Fix yaml node for real

* WIP: struggling to write tests

* WIP - take absolute path as an option

* Add tests

* Use environment project directory for synthetic package generation pathway

* Fix typo

* Improve help text

* Update defaults

* Remove unauthorized path import

* Fix pathing issues at synthetic package generation

* Fix typo in test

* Use path.join so projectDir matches up based on OS

* Fix Windows pathing in test

* Remove unnecessary replaceApp code for projectDir.path

* Use globals.fs.currentDirectory.path in resident_runner_test.dart

* Fix merge conflict

* Add test to ensure that synthetic package is generated on pub get

* Fix resident_runner_test.dart tests

* Fix tests

* Use package:file instead of dart:io

* WIP - exploration

* Remove synthetic package use from stocks example

* Update integration test to not use synthetic packages

* Remove trailing whitespace

* flutter pub get runs synth package generation

* Remove more print statements

* Add license header

* WIP - minimally working pub.get

* Use own MockBuildSystem

* Modify test and implementation to be a little cleaner

* Fix flutter pub get invocation

* Use synthetic packages in stocks app

* Revert "Use synthetic packages in stocks app"

This reverts commit 45bf24903c.

* Add environment and buildSystem params to flutter test

* Address code review feedback

* +

* Isolate codegen into its own API

* Fix imports

* Slight refactor

* Add one more test for no l10n.yaml file

* Remove unneeded mock class and import in pub_get_test.dart

* More code review feedback

* Remove unnecessary imports

* Remove `return await`s that I missed

* use arrow functions instead
2020-08-31 13:19:41 +08: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
Jonah Williams
06c3de3285
[flutter_tools] remove most globals from build system and tests (#63697)
Remove globals and testbed to simplify test cases, using the existing environment configuration. This is some pre-factoring work to make landing #63610 easier
2020-08-13 15:00:27 -07:00
Shi-Hao Hong
0a7c6243fa
[gen_l10n] Absolute project path parameter (#63368) 2020-08-13 05:11:05 -07:00
Jenn Magder
0aafdf9aa9
Change minimum iOS version from 8.0 to 9.0 (#62902) 2020-08-06 13:46:15 -07:00
Will Larche
7782845edd
[Material] Updated icons and fonts (#61778) 2020-07-24 15:41:13 -07:00
Zachary Anderson
5e0ba2290f
Pass --disable-dart-dev in more places (#62217) 2020-07-24 13:37:08 -07:00
includecmath
aa9119e53b
[flutter_tools] Concise dart2js commands outputKernel & outputJavaScript (#61881) 2020-07-21 02:31:03 -07:00
Jenn Magder
20fe2f88c5
Prefer tear offs to lambdas in test expects (#61196) 2020-07-09 17:58:51 -07:00
Jonah Williams
e1538d1b88
[flutter_tools] last pass on general.shard unit tests (#60263)
Last batch of test fixes for general shard.
2020-06-26 13:36:06 -07:00
Jonah Williams
82a6f9bf0b
[flutter_tools] remove most use of global packages path (#60231)
The global packages path could cause tests to fail when it would be overriden to unexpected (in test setup) values. Remove most usage and make it a configuration on buildInfo, along with most other build information. Cleanup the asset builder to require the .packages path and the resident runners to no longer require it, since they already have the information in build_info.

It needs to stick around for the fuchsia deps we do not control.

Filled #60232 for remaining work.
2020-06-25 12:52:14 -07:00
Jonah Williams
14992c5951
Revert "[flutter_tools] separate target platform, host platform, and architecutre (#60119)" (#60147)
This reverts commit 30d97d89e0.
2020-06-23 17:19:29 -07:00
Jonah Williams
30d97d89e0
[flutter_tools] separate target platform, host platform, and architecutre (#60119)
separate target platform, host platform, and architecture
2020-06-23 13:51:17 -07:00
stuartmorgan
61c198e766
Switch Linux to the GTK embedding (#59287)
Updates the tooling to use the GTK embedding, rather than the GLFW embedding:
- Adds new requirements to `doctor`
- Updates the app and plugin templates to make GTK-based runners and plugins
- Stops downloading and installing the GLFW artifacts

Final part of #54860, other than cleanup.
2020-06-16 13:31:24 -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
80ea454288
[flutter_tools] change service worker load to NOTICES (#58890)
update flutter_service_worker.js to NOTICES
2020-06-08 12:33:31 -07:00
Jonah Williams
206ccc3632
[flutter_tools] rename library to be less absurd (#58891)
Instead of targets/dart.dart -> targets/common.dart
2020-06-08 11:19:53 -07:00
Jonah Williams
64538f4d78
[flutter_tools] disable dartdev when calling snapshots directly (#58830) 2020-06-06 14:48:03 -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
Jonah Williams
37a86c483c
Revert "[flutter_tools] Put a heap size limit on the frontend_server" (#58525)
* Revert "[flutter_tools] Put a heap size limit on the frontend_server (#58039)"
2020-06-02 17:52:20 -07:00
stuartmorgan
a3b9e20a6b
Fix non-local-engine Linux release builds (#58372) 2020-06-01 11:03:02 -07:00
Marcus Tomlinson
5ee5490a63
[flutter_tools] Support profile and release builds on Linux (#57135) 2020-05-29 15:38:02 -07:00
Jonah Williams
d9144bf8fc
[flutter_tools] rename output LICENSE file to NOTICES and support loading either (#57871)
Work towards #16723

This is only safe to land after #58131 lands in google3. Only build NOTICES in asset manfiest, and load either LICENSE or NOTICES from pubspec dependencies.
2020-05-29 11:55: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
Zachary Anderson
29736f6fea
[flutter_tools] Put a heap size limit on the frontend_server (#58039) 2020-05-27 10:12:24 -07:00
Jonah Williams
8432204194
[flutter_tools] throw if asked to build release for x86_64 (#57874) 2020-05-27 10:11:15 -07:00
Jonah Williams
a926715dac
[flutter_tools] URI encode dart-define values (#57873) 2020-05-27 10:11:04 -07:00
Jonah Williams
70b889a9a3
[flutter_tools] reland: integrate l10n tool into hot reload/restart/build (#57510)
Reland: #56167
2020-05-18 12:47:18 -07:00
Jonah Williams
27a6705aa4
[flutter_tools] chunk the hashing of large files (#57506)
For files larger than 250 KB (roughly the size of framework.dart), chunk the conversion. This may be important for large assets like images.
2020-05-18 12:45:20 -07:00
stuartmorgan
25e9d0494b
Add Linux GTK artifacts to unpack list (#57452)
To simplify development of the in-progress GTK embedding, which will
replace the GLFW embedding on Linux, add the GTK artifacts to the unpack
list. This means that until the transition, both the GLFW and GTK
artifacts will be unpacked.

Part of #54860
2020-05-18 09:26:07 -07:00
Jonah Williams
9e9524977e
[flutter_tools] introduce a BuildSystem interface (#56946) 2020-05-13 09:12:08 -07:00
Jonah Williams
d70d0913b2
Revert "[flutter_tools] integrate l10n tool into build/run (#56167)" (#56800)
This reverts commit f865ac7e25.
2020-05-09 17:50:46 -07:00
Jonah Williams
f865ac7e25
[flutter_tools] integrate l10n tool into build/run (#56167)
* [flutter_tools] integration l10n tool

* add runtime skip to build system

* Update build_system.dart

* add links to issues, comments

* Update packages/flutter_tools/test/general.shard/build_system/build_system_test.dart

Co-authored-by: Shi-Hao Hong <shihaohong@google.com>

* Update packages/flutter_tools/lib/src/build_system/targets/localizations.dart

Co-authored-by: Shi-Hao Hong <shihaohong@google.com>

* Update localizations.dart

* switch to gen_l10n localizations

* fix tests

Co-authored-by: Shi-Hao Hong <shihaohong@google.com>
2020-05-08 12:06:15 -07:00
Jonah Williams
2d26cbb2bf
[flutter_tools] reduce initial cache size on web (#56103) 2020-05-07 17:59:02 -07:00
Zachary Anderson
6f0ed5e142
[flutter_tools] Restore base/platform.dart (#56410) 2020-05-06 08:15:39 -07:00
Jonah Williams
ec93c51eaf
[flutter_tools] add support for faster incremental build (#56067)
Introduce BuildSystem.buildIncremental, which keeps an in-memory cache of timestamps instead of file hashes. This will be used to implement localization generation through the same build system API.
2020-05-01 17:30:26 -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
Jonah Williams
368da5bb59
[flutter_tools] support bundling SkSL shaders in flutter build apk/appbundle (#56059)
Support bundling SkSL shaders into an android APK or appbundle via the --bundle-sksl-path command line options. If provided, these are validated for platform engine revision and then placed in flutter_assets/io.flutter.shaders.json
2020-04-30 13:39:08 -07:00
Jonah Williams
c55b32204e
[flutter_tools] fix performance of tree-shake-icons (#55417)
Fixes the performance issue with tree-shake-icons and filters to ttf mime type. Does not change default or error behavior.
2020-04-29 11:43:47 -07:00
Jonah Williams
d72eea539e
[flutter_tools] precache and unpack updates for desktop release artifacts (#55510)
- Update windows precache to include placeholder profile/release artifacts
- Update Linux and windows unpack to account for the cpp_client_wrapper code to live separate from the engine binaries
- Cleanup testing in unpack_linux and remove test cases that are covered in build_system_test.dart
2020-04-25 14:27:55 -07:00
Jonah Williams
27d11da88f
Revert "[flutter_tools] default tree-shake-icons to enabled and improve performance (#54923)" (#55413)
This reverts commit 0b93a9219b.
2020-04-22 15:43:09 -07:00
Jonah Williams
0b93a9219b
[flutter_tools] default tree-shake-icons to enabled and improve performance (#54923) 2020-04-22 13:17:46 -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
b7e30cfc26
[flutter_tools] update compilation to use package config (#54467) 2020-04-20 14:02:49 -07:00
Jonah Williams
9e72bf565e
[flutter_tools] don't compute hashes of well known artifacts (#53848) 2020-04-20 12:21:20 -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
Christopher Fujino
03c566768b
[flutter_tools] Remove fromPlatform from tests (#54152) 2020-04-10 16:51:28 -07:00
Jonah Williams
cb8bafb38d
[flutter_tools] surgically remove outputs from shared directory (#53962) 2020-04-08 19:09:59 -07:00
Jonah Williams
fa35698ee3
[flutter_tools] allow passing non-config inputs (#54228) 2020-04-08 09:04:32 -07:00
Jonah Williams
981afe39ae
[flutter_tools] ensure build fails if asset files are missing (#54233)
Ensure build fails if asset files are missing and that stderr messages are forwarded through Gradle
2020-04-07 19:42:57 -07:00
Jonah Williams
58acf4e7b0
Revert "[flutter_tools] surgically remove outputs from shared directory (#53773)" (#53956)
This reverts commit 8a3bede1d3.
2020-04-03 14:22:37 -07:00
Jonah Williams
8a3bede1d3
[flutter_tools] surgically remove outputs from shared directory (#53773) 2020-04-03 14:11:01 -07:00
Ferhat
c3ec1caac2
Replace isInstanceOf<T> uses with isA<T> (#53834)
* Replace isInstanceOf<T> uses with isA<T>

* Update isInstanceOf in flutter tools
2020-04-02 10:57:07 -07:00
Jonah Williams
bb5c340066
[flutter_tools] cache the base URL as index.html (#53666) 2020-04-01 00:36:02 -07:00
Jonah Williams
7bf74c3460
[flutter_tools] handle unsafe build outputs (#53601) 2020-03-31 11:01:01 -07:00
Jonah Williams
72343ee0e4
[flutter_tools] refactor build_system and targets to be context-free (#53268) 2020-03-30 12:51:04 -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
Jenn Magder
c9323bdccd
Convert cocoapods_validator_test to testWithoutContext (#53177) 2020-03-24 11:34:57 -07:00
Jonah Williams
590f22ce82
[flutter_tools] restore report timings functionality to build aot (#52918) 2020-03-20 13:46:19 -07:00
Jonah Williams
b21e780aee
[flutter_tools] refactor AotBuilder, removing globals and duplicated kernel compilation (#52896)
Reland of #52091
2020-03-19 14:52:42 -07:00
Jonah Williams
9391e480b2
Revert "[flutter_tools] refactor GenSnapshot and AotBuilder (#52091)" (#52893)
This reverts commit f65421aaca.
2020-03-19 10:16:20 -07:00
Jonah Williams
f65421aaca
[flutter_tools] refactor GenSnapshot and AotBuilder (#52091)
Remove dependency injection from GenSnapshot and AotBuilder and update tests to use FakeProcessManager
2020-03-19 09:36:38 -07:00
Jonah Williams
a7011c4817
[flutter_tools] don't force service worker cache files to be absolute (#52606) 2020-03-17 10:17:03 -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
Jonah Williams
bafa03e5b5
[flutter_tools] Remove mocking and simplify Dart target tests (#50688) 2020-03-05 17:19:15 -08:00
Jonah Williams
8872d1d8c4
[flutter_tools] Reland: supports tree-shake-icons for web builds (#52054) 2020-03-05 17:18:44 -08:00
Jonah Williams
c411f588c6
Revert "[flutter_tools] supports tree-shake-icons for web builds (#51808)" (#52045)
This reverts commit aed961993d.
2020-03-05 13:02:22 -08:00
Jonah Williams
aed961993d
[flutter_tools] supports tree-shake-icons for web builds (#51808)
* [flutter_tools] supports tree-shake-icons for web builds

* Update compile.dart

* fix icon_tree_shaker
2020-03-05 12:35:04 -08:00
Alexandre Ardhuin
c2ae654ddf
enable avoid_single_cascade_in_expression_statements (#51944) 2020-03-05 08:03:26 +01:00
Jonah Williams
3489da9328
[flutter_tools] no more MockLogger in tests (#51684) 2020-03-02 16:23:56 -08:00
Jonah Williams
3b5668c996
[flutter_tools] hide usage of package:mustache behind interface (#51500) 2020-02-27 09:17:42 -08:00
Jonah Williams
6d0b1ef868
[flutter_tools] include LICENSE files as build dependencies (#50945) 2020-02-19 18:56:04 -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
Jonah Williams
9431229e4c
[flutter_tools] remove globals from depfile usage (#50710) 2020-02-13 13:59:40 -08:00
Alexandre Ardhuin
f15c887c63
change quote to avoid escapes (#50368) 2020-02-11 20:58:27 +01:00
Jonah Williams
fa44a1cf37
[flutter_tools] fix path escaping on in depfile generation (#50538) 2020-02-11 09:31:58 -08:00
Jonah Williams
a8cc85331a
[flutter-tools] replace mock with FakeProcessmanager (#50456) 2020-02-10 09:59:40 -08:00
Jonah Williams
db901ce5dd
[flutter_tools] remove dependencies checks that are no longer relevant in assemble-land (#50225) 2020-02-06 13:59:18 -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
Mehmet Oguz Derin
a4093edbcf
Fix Path Separator in Service Workers (#50154) 2020-02-04 20:18:01 -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
Alexandre Ardhuin
b5f328e37e
remove unnecessary string interpolations (#49622) 2020-01-31 18:30:21 +01:00
Dan Field
fabeb2a16f
Revert string interp (#49602) 2020-01-28 07:56:51 -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
Dan Field
8b2993337a
revert #48985 (#49572) 2020-01-27 14:36:02 -08:00
Jonah Williams
dc084b9097 [flutter_tools] handle plugins for entrypoints outside of main (#49459) 2020-01-27 13:08:02 -08:00
Jenn Magder
91f7902aad Move Xcode context fetch to global.dart (#49458) 2020-01-25 11:18:02 -08:00
Alexandre Ardhuin
92cbaa3efe remove unnecessary string interpolations (#49352) 2020-01-23 20:43:01 -08:00
Anthony
b67d5ec6e9 [a11y] Make sure RenderFractionalTranslation updates its semantics after the translation field is set (#48985) 2020-01-17 15:13:01 -08:00
Alexandre Ardhuin
003541499b use isA<Xxx>() matcher (#48482) 2020-01-16 12:43:03 -08:00
Jonah Williams
63c65e5cdb
[flutter_tools] Clean up build_aot code post assemble migration (#48771) 2020-01-14 19:07:15 -08:00
Jonah Williams
79c286705c
[flutter_tools] Refactor Environment and FileStore to be context-free (#48759) 2020-01-13 19:25:35 -08:00
Jonah Williams
9f145f6ced [flutter_tools][web] Add basic service worker generation support to web applications (#48344) 2020-01-13 17:13:02 -08:00
Jonah Williams
5d30c0970a
[flutter_tools][web] Add support for web app manifests and arbitrary resource files (from web/) (#48316) 2020-01-10 09:37:20 -08:00
Jonah Williams
bf6c4c4a41
[flutter_tools]web]Add support for --csp mode to build web (#48319) 2020-01-07 12:20:03 -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
Dan Field
24f39d40a4 Revert "Revert "Add many more global analyses. (#47875)" (#48080)" (#48081)
This reverts commit 04ea3183ce.
2020-01-02 11:47:28 -08:00
Francisco Magdaleno
04ea3183ce
Revert "Add many more global analyses. (#47875)" (#48080)
This reverts commit e768c92fbc.
2020-01-02 09:25:59 -08:00
Ian Hickson
e768c92fbc
Add many more global analyses. (#47875)
* Update packages.

* Add many more global analyses.

* Catch trailing spaces and trailing newlines in all text files.
  Before we were only checking newly added files, but that means we
  missed some.

* Port the trailing spaces logic to work on Windows too.

* Correct all the files with trailing spaces and newlines.

* Refactor some of the dev/bots logic into a utils.dart library.
  Notably, the "exit" and "print" shims for testing are now usable
  from test.dart, analyze.dart, and run_command.dart.

* Add an "exitWithError" function that prints the red lines and
  then exits. This is the preferred way to exit from test.dart,
  analyze.dart, and run_command.dart.

* More consistency in the output of analyze.dart.

* Refactor analyze.dart to use the _allFiles file enumerating logic
  more widely.

* Add some double-checking logic to the _allFiles logic to catch
  cases where changes to that logic end up catching fewer files
  than expected (helps prevent future false positives).

* Add a check to prevent new binary files from being added to
  the repository. Grandfather in the binaries that we've already
  added.

* Update all the dependencies (needed because we now import crypto in
  dev/bots/analyze.dart).
2019-12-30 17:12:19 -08:00
Jonah Williams
3fe6668849
[flutter_tool] ensure extraGenSnapshotArguments are forwarded to gen_snapshot from Android builds (#47059) 2019-12-19 13:44:21 -08:00
Dan Field
0a9ff388bf Revert "Use platform appropriate filepaths" (#47395) 2019-12-18 18:08:02 -08:00
Jonah Williams
e6fa5717d1
fix release web builds where the target file is not under lib (#46179) 2019-12-05 15:57:12 -08:00
Jonah Williams
9708e7d16a
use package-scheme imports for generated web entrypoint (#45934) 2019-12-02 21:10:08 -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
Alexandre Ardhuin
980f14e0c5
implicit-casts:false on flutter_tools (#45153)
* implicit-casts:false on flutter_tools

* use castStringKeyedMap

* address review comments

* address review comments

* fix issues after rebase
2019-11-24 06:54:43 +01:00
Jonah Williams
df3505c1f3
Improve performance of build APK (~50%) by running gen_snapshot concurrently (#44534) 2019-11-19 11:26:07 -08:00
Jonah Williams
58438fca3f Provide specific field to accept depfiles in target class (#44481)
* add depfile slot to Target class

* Update source.dart

* Update source.dart
2019-11-18 14:09:40 -08:00
Jonah Williams
2a576b774c
remove no-gen-bytecode flag (#43908) 2019-11-15 13:15:05 -08:00
Jonah Williams
3383b564a1
Always link desktop platforms (#44753) 2019-11-12 15:24:18 -08:00
Yegor
e7073f9a1f
add --dart-defines option (#44083) 2019-11-09 17:08:53 -08:00
Jonah Williams
978fada33c
Refactor flutter.gradle to use assemble directly (#43876)
Removes multiple re-entrant calls of bundle and aot and replaces them with a single call to assemble. This restores full caching and will allow follow-up performance improvements when building multiple ABIs
2019-11-08 12:41:24 -08:00
Jonah Williams
383e90eb13
Use platform appropriate filepaths when constructing asset bundle (#44221) 2019-11-06 12:50:18 -08:00
Jonah Williams
aa333fda25
link platform should be true for profile (#44279) 2019-11-06 12:21:41 -08:00
Jonah Williams
0f6c093d68
Remove Source.behavior, fix bug in depfile invalidation (#43945)
* remove Source.behavior, fix bug in depfile invalidation

* more cleanup of assets

* Add skip

* address comments

* Update build_system.dart
2019-11-04 16:37:43 -08:00
Jonah Williams
71740bef74
remove listDartSources (#43950) 2019-11-01 11:06:24 -07:00
Jonah Williams
79bc6cafc5
implement build aot with assemble for Android target platforms (#43282) 2019-10-30 15:23:25 -07:00
Zachary Anderson
d0d8e6edcb
[flutter_tool] Teach the tool about local engine Fuchsia artifacts (#43759) 2019-10-30 14:11:18 -07:00
Jonah Williams
1d7afd9c1d
Don't indefinitely persist file hashes, handle more error conditions (#43602) 2019-10-29 13:20:51 -07:00
Harry Terkelsen
dee4232d0c For --profile builds on web, still use -O4 but unminified names. (#43214) 2019-10-24 10:08:12 -07:00
Jonah Williams
4c677e4148
Extra defensive programming for pub modification time assert (#43315) 2019-10-22 22:05:00 -07:00
Jonah Williams
46ea99122b
Revert "Extra defensive programming for pub modification time assert (#42491)" (#43235)
This reverts commit 3597bae6a0.
2019-10-21 20:54:02 -07:00
Ian Hickson
3597bae6a0 Extra defensive programming for pub modification time assert (#42491) 2019-10-21 20:15:20 -07:00
Jonah Williams
27105cba2f
switch dart2js build to depfile, remove Source.function (#42977) 2019-10-21 16:46:44 -07:00
Jonah Williams
e67f9a3f6c
ensure we can disable --track-widget-creation in debug mode (#43016) 2019-10-18 12:40:50 -07:00
Jonah Williams
f53b32eb23
refactor depfile usage and update linux rule (#42487) 2019-10-17 17:42:40 -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
Ian Hickson
08643c41d7
Always fake ProcessManager when you fake Filesystem in tests (#42369)
...because otherwise, processes that think they're manipulating your
filesystem will be doing crazy things the test is ignoring, leading to
(at best) failures and (at worst) flakes or disk corruption.
2019-10-11 11:23:12 -07:00
Ryan Macnak
2a40c2ddb5
Pass -Ddart.developer.causal_async_stacks=true to frontend_server invocations. (#42354)
Bytecode generation will otherwise omit prologue code, causing --causal-async-stacks passed to the VM to behave inconsistently.
2019-10-10 10:41:24 -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
Ryan Macnak
cdb3578b14
Plumb --enable-asserts through to frontend_server invocation in debug mode. (#41832)
Bytecode generation will otherwise omit assert code, causing --enable-asserts to have no effect in the VM.
2019-10-04 12:07:23 -07:00
Jonah Williams
ae18f07324
Ensure plugin registrants are generated in build_web (#41906) 2019-10-04 00:36:09 -07:00
Jonah Williams
517c08e801
Make output directory a build input (#41862) 2019-10-03 11:07:53 -07:00
Jonah Williams
b2f38396f4
Reland: Switch to assemble API for dart2js (#41659)
* Stop using build_runner for dart2js

* fixes to yield when computing hashes and to imports

* add missing await

* Update filecache_test.dart

* Fix paths in filecache test

* use file uri for import

* add test cases and configurable override

* remove test dep

* fix filepaths for windows

* test no longer failing

* fix paths for test cases

* fix typo

* address comments

* make a constant

* make filehash async and use constant

* fix silly logic error
2019-10-01 14:03:42 -07:00
Jonah Williams
06a6fdbf23
Revert "Switch to assemble API for dart2js (#41447)" (#41658) 2019-09-30 18:35:01 -07:00
Jonah Williams
ccc3dd968c
Switch to assemble API for dart2js (#41447) 2019-09-30 18:26:28 -07:00
Jonah Williams
41b87255f5
Add support for depfile dependency in assemble (#41530) 2019-09-30 12:17:45 -07:00
Alexandre Ardhuin
f0553ba58e
Missing trailing commas (#41473)
* add missing trailing commas

* add more missing trailing commas

* add more and more missing trailing commas
2019-09-30 18:48:23 +02:00
Alexandre Ardhuin
f11c34109c
fix bad indentations(mainly around collection literals) (#41355) 2019-09-27 10:46:45 +02:00
Jonah Williams
9bd02a1787
Re-Re-Re-land implement flutter build bundle with assemble (#41302) 2019-09-25 13:55:29 -07:00
Jonah Williams
cc3ca9a916
Revert "Re-Re-land Implement flutter build bundle with assemble (#41230)" (#41295) 2019-09-25 10:57:58 -04:00
Jonah Williams
84a476a4db
Re-Re-land Implement flutter build bundle with assemble (#41230) 2019-09-25 10:17:04 -04:00
Alexandre Ardhuin
b873162194
fix some bad indentations (#41172) 2019-09-24 21:03:37 +02:00
Alexandre Ardhuin
89427d672d
add missing trailing commas in flutter_tools (#40968) 2019-09-24 08:06:09 +02:00
Jonah Williams
f8ba6756c3
Revert "Reland: implement build bundle with assemble (#40470)" (#40862) 2019-09-19 09:04:07 -07:00
Jonah Williams
ea7876ae82
Reland: implement build bundle with assemble (#40470) 2019-09-19 07:46:50 -07:00
Jonah Williams
6ba8fa9987
Remove direct flutter tool usage of protobuf for encoding file caches (#40410) 2019-09-13 12:49:03 -07:00
Jonah Williams
270878fc50
fix copy command and remove resolve sync for macOS assemble (#40294) 2019-09-11 20:29:27 -07:00
Jonah Williams
609a78fdca
Revert "build bundle with assemble (#37508)" (#40204) 2019-09-10 20:03:52 -07:00
Jonah Williams
a7aff56741
build bundle with assemble (#37508) 2019-09-10 19:28:38 -07:00
Jonah Williams
f877c97b3b
Use persisted build information to automatically clean old outputs in assemble (#39654) 2019-09-10 09:57:47 -07:00
stuartmorgan
4c2c7c417d
Switch to the Win32 Windows embedding (#39836)
Pulls the Win32 embedding artifacts instead of the GLFW versions for
Windows.

Fixes #38590
2019-09-05 10:09:12 -07:00
Jonah Williams
dd7694256e
remove input files argument to target (#39769) 2019-09-05 09:56:37 -07:00
Jonah Williams
af851ab6bc
Revert "remove input files argument to target (#39701)" (#39768)
This reverts commit 5e7beaf7b8.
2019-09-03 12:47:33 -07:00
Jonah Williams
5e7beaf7b8
remove input files argument to target (#39701) 2019-09-03 12:46:08 -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
Jonah Williams
b2d19d2af5
Add support for macOS release/profile mode (3 of 3) (#38909) 2019-08-23 08:46:24 -07:00
Jonah Williams
2504a416bb
Create correctly structured framework for macOS (#38748) 2019-08-20 10:49:15 -07:00
Jonah Williams
700020fc6b
per file caching (#38869) 2019-08-20 10:40:02 -07:00
stuartmorgan
2daab305aa
Use GLFW-name artifacts on Windows and Linux (#38858)
Switch from the un-suffixed Windows and Linux libraries to the
_glfw-suffixed versions, in preparation for having non-GLFW versions
using the previous library/wrapper names.

Part of #38589
2019-08-20 06:29:49 -07:00
Jonah Williams
1df165ea13
Rename iOS arch for macOS release mode (macOS release mode 2 of 3) (#38645) 2019-08-15 17:38:35 -07:00
Jonah Williams
01feddbece
Support for macOS release mode (1 of 3) (#37425) 2019-08-15 16:36:45 -07:00
Jonah Williams
caa56d6ac4
enable track widget creation on debug builds (#37512) 2019-08-05 22:07:35 -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
Jonah Williams
51d2d3511c
Expose functionality to compile dart to kernel for the VM (#36598) 2019-07-26 19:50:57 -07:00
Jonah Williams
188093c912
Rearrange flutter assemble implementation (#36240) 2019-07-25 08:50:03 -07:00
Jonah Williams
e5ea996a1f
disable flaky windows test (#36722) 2019-07-22 18:14:43 -07:00
Dan Field
c953cd19d2
Enable bitcode compilation for AOT (#36471) 2019-07-18 22:42:47 -07:00
Ian Hickson
d919e694b8
Move tools tests into a general.shard directory in preparation to changing how we shard tools tests (#36108) 2019-07-13 11:51:44 -07:00