Commit Graph

56 Commits

Author SHA1 Message Date
Zachary Anderson
6f0ed5e142
[flutter_tools] Restore base/platform.dart (#56410) 2020-05-06 08:15:39 -07:00
Jonah Williams
dd88b20435
[flutter_tools] quality pass on Linux build (#55556)
- Update the Linux build to support most of the build configuration, though like windows most only make sense for profile/release.
- Ensure VERBOSE_SCRIPT_LOGGING is set when the logger is verbose
- Automatically run pub get like other build commands
2020-04-25 19:02:03 -07:00
Alexandre Ardhuin
f5a9902577
enable avoid_equals_and_hash_code_on_mutable_classes (#52507) 2020-04-06 13:36:01 -07:00
Jenn Magder
ba57ea09d1
Revert "Move processUtils into globals (#53209)" (#53301) 2020-03-25 14:59:03 -07:00
Jenn Magder
9ccac00599
Move processUtils into globals (#53209) 2020-03-25 11:23:08 -07:00
Jenn Magder
2f216ceee5
Add timeout flag to devices command, pipe through discovery (#51678) 2020-03-16 14:15:00 -07:00
Jenn Magder
f6a55125d2
Add usage event for failed iOS project migration (#51879) 2020-03-06 12:14:29 -08:00
stuartmorgan
8d8439f8e3
Add pre-stable support for create on Linux (#51832)
Adds initial support for `flutter create` of apps and plugins. This is derived from the current FDE example app and sample plugin, with a few changes:
- Added template values where it makes sense.
- Moved some likely-to-change values into separate files for now, to simplify the delete/recreate cycle that will be necessary until it's stable.
- Added some minor Makefile flag handling improvements

Since the APIs/tooling/template aren't stable yet, the app template includes a version marker, which will be updated each time there's a breaking change. The build now checks that the template version matches the version known by that version of the tool, and gives a specific error message when there's a mismatch, which improves over the current breaking change experience of hitting whatever build failure the breaking change causes and having to figure out that the problem is that the runner is out of date. It also adds a warning to the `create` output about the fact that it won't be stable.
2020-03-03 22:42:52 +01: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
e00d424de5
[flutter_tools] clean-ups to linux doctor test (#51593) 2020-02-27 15:15:35 -08:00
stuartmorgan
7bdd4757ec
Create plugin symlinks for Windows and Linux (#50599)
This makes ephemeral symlinks to each plugin, for use by build systems.
This is similar to the logic implemented in the Podfile on iOS and
macOS, but managed internally to the Flutter tool.

Exploration for addressing #32719 and #32720
Related to #41146
2020-02-12 16:23:27 -08:00
Alexandre Ardhuin
f15c887c63
change quote to avoid escapes (#50368) 2020-02-11 20:58:27 +01:00
stuartmorgan
58d6c425e4
Check for desktop project files before building (#48350)
Moves the checks that projects have been configured for desktop to a lower level, where they will cover more codepaths (e.g., 'run'), and improves them to check for native build projects, rather than just directories, to catch cases where the directory exists (e.g., due to accidental creation of generated files).

Also adds links to the error messages pointing to instructions on adding desktop support to a project.

Fixes #47145
2020-01-08 12:39:49 -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
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
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
Jonah Williams
450a72488d
set trace to true for desktop builds (#43577) 2019-10-28 10:27:11 -07:00
Jonah Williams
480342899e
Switch desktop build commands to use process utils (#42373) 2019-10-09 18:58:27 -07:00
stuartmorgan
d992d6de20 Make desktop stopApp only apply to processes Flutter started (#41519) 2019-10-09 16:28:10 -07:00
Jonah Williams
14c1c211d5
Catch argument error from Make when it isn't installed (#42252) 2019-10-08 14:53:55 -07:00
Alexandre Ardhuin
83e5a8a0e4
some formatting changes (#41640) 2019-10-08 18:32:10 +02: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
stuartmorgan
d1761f1072
Pass Linux build mode on command line (#41551)
Currently Linux builds override the default BUILD mode by putting it in
the generated config. That makes it sticky for manual runs of make,
which is inconsistent with how other platforms work.

Instead, pass the build mode as a command-line override, the same way
someone would if building directly with make. This makes the flow of
controlling the mode less confusing.

Fixes #41528
2019-09-30 09:36:40 -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
Jonah Williams
79107e0fe2
Dont kill other processes when starting desktop application (#40472) 2019-09-16 13:12:50 -07:00
Jonah Williams
6f71ce26d6
Place terminalUi flag on terminal interface (#39214) 2019-08-27 14:20:51 -07:00
stuartmorgan
7407695816
Add profile support on macOS (#39264)
Fix some places where Debug/Release was treated as a binary switch.

Makes similar changes to Windows and Linux to simplify adding profile
support to those platforms in the future. This means `--profile` builds
will fail on Linux and Windows for now, but that's fine since they
aren't actually supported, and unlike `--release` don't provide useful
functionality at the native code level.

Also fixes 'stopApp' always using Debug on macOS, to avoid showing an
error when running Profile (or Release).

Fixes #33203
2019-08-26 16:30:30 -07:00
stuartmorgan
01530928f0
Add build warning for non-debug desktop builds (#38932)
When building in profile or release mode on desktop, add a prominent
warning that it's actually a debug build. This is to help address issues
with people being unaware of the current state of builds due to
following third-party guides rather than official documentation.

macOS is not included since PRs are in flight for macOS release support.
2019-08-20 20:16:29 -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
3fedb8cb5a
Reland: use flutter features for web and desktop (#36699) 2019-07-22 15:34:03 -07:00
Jonah Williams
8eae2dfb92
Revert "Use FlutterFeatures to configure web and desktop devices (#36465)" (#36654)
This reverts commit bd52a78c71.
2019-07-21 21:47:43 -07:00
Jonah Williams
bd52a78c71
Use FlutterFeatures to configure web and desktop devices (#36465) 2019-07-21 18:21:15 -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
stuartmorgan
d6bd1c0584
Add --target support for Windows and Linux (#34660)
- Adds desktop projects to ApplicationPackageStore
- Plumbs target overrides through the desktop builds
2019-07-01 14:49:34 -07:00
Danny Tuppeny
f3be1d9d95
Add emulatorID field to devices in daemon (#34794)
* Add emulatorId to Android and iOS emulator devices

* Update docs

* Review tweaks

* Add tests for AndroidConsole for getting avd names

* Remove unused import

* Remove duplicated header

* Fix imports
2019-06-26 16:39:23 +01:00
Jonah Williams
b9932d55e7
Add linux doctor implementation (#34755) 2019-06-20 08:20:57 -07:00
Jonah Williams
830fb38640
Revert "Add basic desktop linux checks (#31873)" (#34753)
This reverts commit f221ad1f92.
2019-06-19 16:03:05 -07:00
Jonah Williams
f221ad1f92
Add basic desktop linux checks (#31873) 2019-06-19 15:51:21 -07:00
Jonah Williams
0d9a1b201e
Remove environment variable guards for command line desktop and web (#33867) 2019-06-19 13:39:27 -07:00
Jonah Williams
5c52498d4e
Add device category, ephemeral, platformType for daemon (#33990) 2019-06-18 15:23:14 -07:00
Zachary Anderson
b847ba5a63
[flutter_tool] Send build timing to analytics (#34049) 2019-06-07 13:50:45 -07:00
Jonah Williams
8b0243f413
Teach Linux to use local engine (#31631) 2019-05-11 00:08:29 -07:00
Dan Field
fe9512fa72
Re-enable const (#31600)
* Re-enable const
2019-04-29 16:02:42 -07:00
Jonah Williams
4ff467191b
make FlutterProject synchronous (#31757) 2019-04-29 08:21:32 -07:00
Jonah Williams
0acd3e6b04
refactor context to be implicit-downcast safe (#31622) 2019-04-25 15:51:08 -07:00
Jonah Williams
6b191841f3
Allow filtering devices to only those supported by current project (#31446) 2019-04-25 12:25:12 -07:00
Jonah Williams
37c73e77f1
Remove need for build/name scripts on Linux desktop (#31567) 2019-04-24 13:34:56 -07:00
Jonah Williams
15ba39560a
replace no-op log reader with real implementation (#31526) 2019-04-23 17:19:47 -07:00
Jonah Williams
ac36e4423e
Add flutter run support for linux and windows (#31229) 2019-04-18 18:05:04 -07:00