Commit Graph

169 Commits

Author SHA1 Message Date
Jonah Williams
9e9524977e
[flutter_tools] introduce a BuildSystem interface (#56946) 2020-05-13 09:12:08 -07:00
James D. Lin
b7fd24a7dc
[flutter tools] Move _informUserOfCrash into crash_reporting.dart (#55614) 2020-04-28 10:34:03 -07:00
Jonah Williams
8df0d68633
[flutter_tools] remove globals from pub (#55412) 2020-04-22 16:34:12 -07:00
Jonah Williams
f2761b6b04
[flutter_tools] refactor Chrome launch logic to remove globals/statics (#55160) 2020-04-22 01:28:51 -07:00
Jenn Magder
457972b757
Move doctor into globals (#54912)
* Move doctor into globals

* Fix tests
2020-04-15 19:44:42 -07:00
Jenn Magder
77ea848c46
Inject Usage dependency into FallbackDiscovery and BuildEvent (#53443)
* Usage dependency injection

* Review edits
2020-04-02 10:57:37 -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
Jenn Magder
8a9023522c
Push iMobileDevice and iosDeploy instantiation into XCDevice constructor (#53307) 2020-03-25 18:12:13 -07:00
Jenn Magder
ee3920c208
Remove SimControl from context (#53304) 2020-03-25 15:40:42 -07:00
Jenn Magder
86389be66e
Convert CocoaPods tests to testWithoutContext (#53291) 2020-03-25 13:27:10 -07:00
Jenn Magder
ec3653f41d
Remove XcodeValidator from context (#53213) 2020-03-25 11:57:05 -07:00
Jenn Magder
c93847d187
Remove IOSDeploy from globals, hoist to XCDevice constructor (#53203) 2020-03-24 16:50:35 -07:00
Jenn Magder
c9323bdccd
Convert cocoapods_validator_test to testWithoutContext (#53177) 2020-03-24 11:34:57 -07:00
Jenn Magder
0b321e6715
Remove IMobileDevice from globals, hoist to XCDevice constructor (#53144)
* Convert ios_device_logger_test.dart to testWithoutContext

* Remove IMobileDevice from globals, hoist to XCDevice constructor
2020-03-24 11:22:54 -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
Jenn Magder
ee845255de
Move XcodeProjectInterpreter to globals (#52847) 2020-03-18 15:55:09 -07:00
Jenn Magder
e0ab6fc00c
Move outputPreferences to globals (#52846) 2020-03-18 15:54:26 -07:00
Jonah Williams
028b7dced1
[flutter_tools] remove context from WebWorkflow (#52613) 2020-03-16 11:33:00 -07:00
Jonah Williams
ea3563ea4d
[flutter_tools] update visual studio and validator to remove globals, update test cases (#51680)
Updates VisualStudio and VisualStudioValidator to use constructors instead of global injection. Updates VisualStudio test cases to prefer FakeProcessManager
Updates build_windows test to work without injected VisualStudio
2020-03-10 16:49:23 -07:00
Christopher Fujino
2e18cd347e
Fix simctl process exceptions not being caught (#51916) 2020-03-06 13:16:01 -08:00
Zachary Anderson
914bd76979
[flutter_tools] Handle errors on the std{out,err}.done future (#51660) 2020-02-28 22:31:01 -08:00
Jonah Williams
42ae15f44e
[flutter_tools] remove LinuxWorkflow from injection and clean up tests (#51597) 2020-02-28 10:27:27 -08:00
Jonah Williams
65a7941228
[flutter_tools] reduce globals in web validator and chrome launcher (#51443) 2020-02-26 10:37:52 -08:00
Christopher Fujino
704fb4cbc7
Remove usage of ideviceinstaller in favor of ios-deploy (#50772) 2020-02-25 09:09:40 -08:00
Zachary Anderson
b9ecebf101
Reland: [flutter_tools] Disable analytics for more bots (#50641) 2020-02-12 10:58:02 -08:00
Zachary Anderson
1903ce012e
Revert "[flutter_tools] Disable analytics for more bots (#50579)" (#50622)
This reverts commit 0a38f29c0d.
2020-02-11 22:47:41 -08:00
Zachary Anderson
0a38f29c0d
[flutter_tools] Disable analytics for more bots (#50579) 2020-02-11 15:48:02 -08:00
Zachary Anderson
c23d9cd4ce
[flutter_tools] Print emojis in Windows Terminal (#50446) 2020-02-10 10:23:35 -08:00
Christopher Fujino
e6e14b0dd2
Have android validator suggest ANDROID_SDK_ROOT instead of deprecated ANDROID_HOME (#49846) 2020-02-06 14:03:03 -08:00
Jenn Magder
a0665aba49
Reland Replace ideviceinfo and idevice_id with xcdevice (#50252) 2020-02-06 11:38:47 -08:00
Jenn Magder
ce6fbf6668
Revert "Replace ideviceinfo and idevice_id with xcdevice (#49854)" (#50243)
This reverts commit 3aa7a80053.
2020-02-05 18:00:31 -08:00
Jenn Magder
3aa7a80053
Replace ideviceinfo and idevice_id with xcdevice (#49854) 2020-02-05 17:37:25 -08:00
Zachary Anderson
103b12fc11
[flutter_tools] Isolate userHomePath, other cleanups (#50125) 2020-02-04 18:03:03 -08:00
Zachary Anderson
2c51efef29
[flutter_tools] Make Config context-free (#49834) 2020-01-31 12:51:20 -08:00
Zachary Anderson
92f7e16312
[flutter_tools] Make OperatingSystemUtils context-free (#49740) 2020-01-29 17:51:31 -08:00
Jonah Williams
ef15eac821 [flutter_tools] Remove context from Xcode and most of Xcodeproj (#48661) 2020-01-23 15:03:03 -08:00
Jonah Williams
ad9476dc9e
[flutter_tools] Remove context from Artifacts class (#48776) 2020-01-14 16:47:34 -08:00
Zachary Anderson
23a3d1014f
[flutter_tool] Make BotDetector context free (#48605) 2020-01-13 10:12:06 -08:00
Jonah Williams
749589d896
[flutter_tools] Remove context usage from status and clean up test cases (#48446) 2020-01-10 09:36:49 -08:00
Zachary Anderson
07161e8267
[flutter_tool] Don't use context in ProcessUtils (#48444) 2020-01-08 15:20:32 -08:00
Jonah Williams
f7b8d62cbc
[flutter_tool] Refactor Logger and Terminal to (mostly) no longer depend directly on context (#47269) 2020-01-08 12:35:12 -08:00
Jonah Williams
ee7a37f1d3
[flutter_tools] Ensure that global variables are easily identifiable (#47398) 2020-01-06 11:04:20 -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
Jonah Williams
785e557a43
remove Flags (#45320) 2019-11-21 12:52:52 -08:00
Zachary Anderson
372fe290e4
[flutter_tool] Update analytics policy, send event on disable (#43217) 2019-11-05 10:43:52 -08:00
Emmanuel Garcia
175b37247d
Refactor gradle.dart (#43479) 2019-10-31 13:19:15 -07:00
Jonah Williams
fde267516b
Make Pub an interface in the flutter tool (#42257) 2019-10-08 14:53:28 -07:00
Zachary Anderson
7fa5dd7454
[flutter_tools] Allows adding multiple signal handlers (#41304) 2019-09-26 08:12:48 -07:00
Zachary Anderson
5142238c85
[flutter_tool] Report rss high watermark in command analytics events (#40988) 2019-09-25 11:26:06 -07:00
Christopher Fujino
0b24a5a2ff
Implement mdns for flutter run (#40447) 2019-09-18 11:01:08 -07:00
Zachary Anderson
73c10e8ced
[flutter_tool] process.dart cleanup (#39899) 2019-09-11 18:20:42 -07:00
Emmanuel Garcia
f098de1fde
Enable Proguard by default on release mode (#39986) 2019-09-10 17:22:55 -07:00
Zachary Anderson
0f2af976a2
[flutter_tools] Add a timeout to another showBuildSettings command (#39579) 2019-09-05 09:50:46 -07:00
Zachary Anderson
ef146f63bb
[flutter_tool] Clean up usage events and custom dimensions (#36785) 2019-07-29 07:24:02 -07:00
Jonah Williams
188093c912
Rearrange flutter assemble implementation (#36240) 2019-07-25 08:50:03 -07:00
Jonah Williams
36c37ccab5
Implement feature flag system for flutter tools (#36138) 2019-07-16 17:33:28 -07:00
Todd Volkert
aa9a115181
Move reporting files to reporting/ (#36017)
Slight cleanup of file locations in flutter_tools
to make it easier to see which files are responsible
for data reporting.
2019-07-16 13:21:06 -07:00
Christopher Fujino
102ab1e6d9
Reland bundle ios deps (#36093)
This updates the flutter tool cache to download binary files for ideviceinstaller, ios-deploy, libimobiledevice, and dynamically linked dependencies from Flutter's GCP bucket.
2019-07-15 09:22:29 -07:00
Christopher Fujino
e91822da24
Revert "Bundle ios dependencies (#34669)" (#36071)
This reverts commit 14d489adc5.
2019-07-12 09:03:34 -07:00
Christopher Fujino
14d489adc5
Bundle ios dependencies (#34669)
This updates the flutter tool to cache binary files for ideviceinstaller, ios-deploy, libimobiledevice, and dynamically linked dependencies from Flutter's GCP bucket.
2019-07-12 08:36:18 -07:00
Jonah Williams
e91b98a41f
Add initial implementation of flutter assemble (#32816) 2019-07-11 16:53:17 -07:00
Jenn Magder
c8bf7abeee
Disable CocoaPods input and output paths in Xcode build phase and adopt new Xcode build system (#34167)
Updates the Podfile template to use the CocoaPod disable_input_output_paths installation option which prevents the [CP] Embed Pods Frameworks build phase from outputting the Flutter.framework files.
2019-06-10 14:30:28 -07:00
Jonah Williams
c91b657116
Codegen an entrypoint for flutter web applications (#33956) 2019-06-06 21:05:55 -07:00
stuartmorgan
fb8df82c06
Add 'doctor' support for Windows (#33872)
Moves the logic for finding vcvars64.bat to a new VisualStudio class
that encapsulates finding, and providing information about, VisualStudio
installations. Adds a validator for it, and runs it for Windows
workflows in doctor.
2019-06-06 14:02:27 -07:00
Jenn Magder
035e3d37d7
Revert "Disable CocoaPods input and output paths in Xcode build phase and adopt new Xcode build system (#33852)" (#33882)
This reverts commit d053fe5cb3.
2019-06-04 15:35:35 -07:00
Jenn Magder
d053fe5cb3
Disable CocoaPods input and output paths in Xcode build phase and adopt new Xcode build system (#33852)
Updates the Podfile template to use the CocoaPod disable_input_output_paths installation option which prevents the [CP] Embed Pods Frameworks build phase from outputting the Flutter.framework files.
2019-06-04 12:17:57 -07:00
Jonah Williams
83986acbdb
Add a real-er web restart, doctor, workflow (#33786) 2019-06-03 23:19:42 -07:00
Jenn Magder
9734f4ed43 Revert "Disable CocoaPods input and output paths in Xcode build phase and adopt new Xcode build system (#33684)"
This reverts commit ef792fc30d.
2019-06-03 17:19:53 -07:00
Jenn Magder
ef792fc30d
Disable CocoaPods input and output paths in Xcode build phase and adopt new Xcode build system (#33684)
Updates the Podfile template to use the CocoaPod disable_input_output_paths installation option which prevents the [CP] Embed Pods Frameworks build phase from outputting the Flutter.framework files.
2019-06-03 16:11:33 -07:00
Chris Bracken
98ea501995
Revert "Add real-er restart for web using webkit inspection protocol (#33629)" (#33703)
Revert "fix devicelab manfiest (#33698)"

This reverts commit 5a6a00dc54.
This reverts commit 0d79f0fc79.
2019-05-31 21:53:30 -07:00
Jonah Williams
5a6a00dc54
Add real-er restart for web using webkit inspection protocol (#33629) 2019-05-31 17:37:01 -07:00
stuartmorgan
81c38b22cb
Implement macOS support in flutter doctor (#33277)
Splits Xcode validation out of the iOS validator and into a stand-alone
validator, and groups the CocoaPods validator with that top-level
validator instead of the iOS validator. iOS now validates only the
iOS-specific tools (e.g., ideviceinstaller).

Reorganizes many of the associated clases so that those that are used by
both macOS and iOS live in macos/ rather than ios/. Moves some
validators to their own files as part of the restructuring.

This is the macOS portion of #31368
2019-05-24 22:51:02 -04:00
Zachary Anderson
94ce956f0a
[flutter_tool] Adds support for 'run' for Fuchsia devices (#32849) 2019-05-21 08:49:43 -07:00
Zachary Anderson
8841afeb1f
[flutter_tool] Build a Fuchsia package (#32519) 2019-05-14 10:59:23 -07:00
Jonah Williams
1d91bd2583
Revert "Start abstracting platform logic builds behind a shared interface (#31889)" (#32003)
This reverts commit e5459942c8.
2019-05-02 14:14:46 -07:00
Jonah Williams
e5459942c8
Start abstracting platform logic builds behind a shared interface (#31889) 2019-05-02 13:31:00 -07:00
Zachary Anderson
6a69f8c98c
[fuchsia] Add support for the 'device' command using the SDK (#31910) 2019-05-01 13:24:09 -07:00
Jonah Williams
99866f4a3d
Make timeout durations configurable (#30053) 2019-03-27 16:21:16 -07:00
Jonah Williams
469a859c72
Enable code generation features in tool (#29399) 2019-03-21 13:12:10 -07:00
Jonah Williams
6f5f037689
Add basic web device and run support (#28302) 2019-02-26 16:58:24 -08:00
Jonah Williams
67cf21577f
Add basic codegen app to be used for integration testing and benchmarks (#27257) 2019-02-14 23:17:16 -08:00
Jonah Williams
9bc5656637
Wire dart2js through flutter tool, add compilation test (#27668) 2019-02-14 22:42:30 -08:00
Jonah Williams
c920cb7c57
Remove build runner from injection (#27607) 2019-02-06 14:38:50 -08:00
Jonah Williams
b06a709305
Use flutter_tools to generate build_script (#27277) 2019-02-05 18:35:20 -08:00
Jonah Williams
c219e6f3b1
Inject KernelCompiler via KernelCompilerFactory (#27211) 2019-01-30 08:34:01 -08:00
Jonah Williams
1237ee8f63
Add experimentalBuildEnabled flag and initial shim for build_runner (#26989) 2019-01-24 15:59:55 -08:00
Luca Zuccarini
36a493602c Create an injectable factory for application packages. (#26422) 2019-01-16 14:12:47 -08:00
Jonah Williams
3a694a6d5d
desktop workflow, devices, and test (#26511) 2019-01-15 07:45:04 -08:00
tonyzhao1
f8ab72657e Flutter doctor error message lookup (#23889) 2018-12-19 10:10:08 -08:00
Jonah Williams
a871d59164
Apply basic log filtering and formatting to fuchsia logs. (#24143) 2018-11-10 17:02:32 -08:00
Jonah Williams
81c7af342d
Add fuchsia specific entrypoint (#23916) 2018-11-06 14:36:35 -08:00
Jonah Williams
b7c9c96c6b
Support for fuchsia device discovery, workflow, and sdk wrapper (#23282) 2018-10-22 16:48:17 -07:00
tonyzhao1
b04447d51c Split Android license checks into their own subvalidator (#22446) 2018-10-05 08:45:16 -07:00
tonyzhao1
8b5af14f24 Use grouped validator instead of categories (#21577)
This is a cleanup PR.
2018-09-19 15:42:51 -07:00
Chris Bracken
f8c50ea15f
Use Xcode legacy build system for iOS builds (#21901) (#21994)
Xcode 10 introduces a new build system which includes stricter checks on
duplicate build outputs.

When plugins are in use, there are two competing build actions that copy
Flutter.framework into the build application Frameworks directory:

  1. The Embed Frameworks build phase for the Runner project
  2. The [CP] Embed Pods Frameworks build phase that pod install creates
     in the project.

Item (1) is there to ensure the framework is copied into the built app
in the case where there are no plugins (and therefore no CocoaPods
integration in the Xcode project). Item (2) is there because Flutter's
podspec declares Flutter.framework as a vended_framework, and CocoaPods
automatically adds a copy step for each such vended_framework in the
transitive closure of CocoaPods dependencies.

As an immediate fix, we opt back into the build system used by Xcode 9
and earlier. Longer term, we need to update our templates and
flutter_tools to correctly handle this situation.

See: https://github.com/flutter/flutter/issues/20685
2018-09-18 10:05:46 -07:00
Chris Bracken
4c045e79fb
Revert "Use Xcode legacy build system for iOS builds (#21901)" (#21966)
This caused issues for projects without an Xcode workspace. Almost all
Flutter projects in the wild will have a workspace, but this patch needs
to add a check to catch any that lack one.

This reverts commit 021f472efc.
2018-09-17 18:22:54 -07:00
Chris Bracken
021f472efc
Use Xcode legacy build system for iOS builds (#21901)
Xcode 10 introduces a new build system which includes stricter checks on
duplicate build outputs.

When plugins are in use, there are two competing build actions that copy
Flutter.framework into the build application Frameworks directory:

  1. The Embed Frameworks build phase for the Runner project
  2. The [CP] Embed Pods Frameworks build phase that pod install creates
     in the project.

Item (1) is there to ensure the framework is copied into the built app
in the case where there are no plugins (and therefore no CocoaPods
integration in the Xcode project). Item (2) is there because Flutter's
podspec declares Flutter.framework as a vended_framework, and CocoaPods
automatically adds a copy step for each such vended_framework in the
transitive closure of CocoaPods dependencies.

As an immediate fix, we opt back into the build system used by Xcode 9
and earlier. Longer term, we need to update our templates and
flutter_tools to correctly handle this situation.

See: https://github.com/flutter/flutter/issues/20685
2018-09-17 17:54:57 -07: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