152 Commits

Author SHA1 Message Date
Jenn Magder
c8c55b4098
Check Xcode build setting FULL_PRODUCT_NAME for bundle name (#55799) 2020-05-04 11:31:08 -07:00
James D. Lin
566c1d1124
flutter_tools: Prefer using .of() over .from() when possible (#55250)
Prefer using `.of()` (which is statically type-checked) over
`.from()` (which is dynamically type-checked) when possible.
2020-04-21 22:09:50 -07:00
Jonah Williams
d46da3ae11
[flutter_tools] remove PackageMap and finish PackageConfig migration (#55244) 2020-04-21 19:55:15 -07:00
tauu
56b7c93584
[flutter_tools] fix build for projects with watchOS companion app (#51126)
Co-authored-by: Georg Wechslberger <wechslbe@ma.tum.de>
2020-04-15 12:13:06 -07:00
Jonah Williams
8ed40ddd4b
[flutter_tools] refactor FlutterManifest to be context-free (#54555) 2020-04-13 18:55:01 -07:00
Jenn Magder
ce40fbaf51
Include metadata in GitHub crash template (#53118) 2020-03-27 16:21:45 -07:00
stuartmorgan
685e9d1e47
Add pre-stable support for create on Windows (#51895)
Adds initial support for flutter create of apps and plugins. This is derived from the current FDE example app and sample plugin, adding template values where relevant.

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.

Plugins don't currently have a version marker since in practice this is not a significant problem for plugins yet the way it is for runners; we can add it later if that changes.

Fixes #30704
2020-03-23 10:42:26 -07:00
Jenn Magder
ee845255de
Move XcodeProjectInterpreter to globals (#52847) 2020-03-18 15:55:09 -07:00
Jenn Magder
4fb9ce8414
Clean App.framework, Generated.xcconfig, flutter_export_environment.sh (#51532) 2020-02-27 12:18:06 -08:00
stuartmorgan
dd2756c36a
Generate a makefile for Linux plugins (#51520)
When generating the plugin registrant for Linux, also generate a
makefile that can be included in the app-level Makefile to manage all of
the plugin targets and flags, exporting them in a few known variables
for use in the outer makefile.

Part of #32720
2020-02-27 09:45:22 -08:00
Jonah Williams
80619f100f
[flutter_tools] remove globals from plist parser and update tests (#51444) 2020-02-26 18:31:42 -08:00
stuartmorgan
f4177a6dde
Generate a Property Sheet for Windows plugins (#50740)
Generates a Property Sheet for Windows builds containing link and include path
information for any included plugins. This allows automating part of the process
of integrating plugins into the build that is currently manual.

To support this change, refactored msbuild_utils into a PropertySheet class so that
it can be used to make different property sheets.
2020-02-13 12:53:28 -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
b953c3e5a8
use raw strings to avoid escaping (#50322) 2020-02-07 16:35:55 +01:00
Alexandre Ardhuin
5c28e3eeea
unnecessary escapes fixes (#50178)
* unnecessary escapes fixes

* replace some strings with raw strings

* update regexp

* address review comments
2020-02-07 06:35:50 +01:00
Alexandre Ardhuin
94c7e823be
remove unnecessary string escapes (#50096) 2020-02-05 08:00:32 +01:00
Zachary Anderson
2c51efef29
[flutter_tools] Make Config context-free (#49834) 2020-01-31 12:51:20 -08:00
Jenn Magder
2a7d57791d Generate bitcode for plugin frameworks for flutter build ios-framework (#49102) 2020-01-21 16:38:03 -08:00
Francisco Magdaleno
fcf341e4f3
Reland "[flutter_tools] Removes the need of a no-op plugin implementations #48614" (#49085) 2020-01-17 14:43:34 -08:00
Jenn Magder
b225cb8d53
Revert "[flutter_tools] Removes the need of a no-op plugin implementations (#48614)" (#49005)
This reverts commit 5eb394e08492fadd66581c4c0af45ec657d4495a.
2020-01-16 16:19:54 -08:00
Francisco Magdaleno
5eb394e084
[flutter_tools] Removes the need of a no-op plugin implementations (#48614) 2020-01-16 12:42:05 -08:00
Zachary Anderson
29490887e0
Reland: [flutter_tools] File system utilities (#48757)
* Reland: [flutter_tools] File system utilities

* Remove unused imports
2020-01-14 09:40:39 -08:00
Zachary Anderson
ef62092b9b
Revert "[flutter_tools] File system utilities (#48738)" (#48755)
This reverts commit 034966062249c490e12ff252828e4ba4993bac2b.
2020-01-13 14:30:37 -08:00
Zachary Anderson
0349660622
[flutter_tools] File system utilities (#48738) 2020-01-13 13:17:45 -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
a6c3ffe10c Allow Xcode project Info.plist to be moved (#47993) 2020-01-02 12:03:02 -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 648a5d8a1ebbe95a6f0fa1c41ed34195c11c4d64.
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
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 e54e301d5001efce7c6aa0ff17c028263cfcc38c.
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
Emmanuel Garcia
a15a81be21
Fix androidSdk NPE (#47187) 2019-12-17 14:10:36 -08:00
Jenn Magder
1cdf0f44db
Only set flutter run usage values for targeted device platforms (#46931) 2019-12-17 14:09:34 -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
Emmanuel Garcia
354f80b84a
Check and give execute permission to Gradle if needed (#46748) 2019-12-11 16:36:03 -08:00
Jonah Williams
523ac7b6f5
[flutter_tool] Always re-copy Framework/podspec when regenerating iOS module project (#45877) 2019-12-09 21:18:09 -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
Emmanuel Garcia
b6e92003c8
Add .flutter-plugins-dependencies to the project, which contains the app's plugin dependency graph (#45379) 2019-11-22 15:02:20 -08:00
Greg Spencer
a60bf8e23a
Spell check of Flutter docs (#45200)
No code changes, just comments: I spell-checked all the comments in the repo.
2019-11-22 08:43:55 -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
xster
9e0df259df
Show a warning when a module uses a v1 only plugin (#44499) 2019-11-11 15:56:43 -08:00
xster
ba26f926c7
Add Android embedding version analytics (#44043) 2019-11-05 12:38:42 -08:00
Emmanuel Garcia
175b37247d
Refactor gradle.dart (#43479) 2019-10-31 13:19:15 -07:00
Emmanuel Garcia
08c645b3b2
Test the Android embedding v2 (#42708)
* Test the Android embedding v2

* Update integration tests

* Split into shards
2019-10-16 21:26:10 -07:00
Jenn Magder
357d02c87b
Always embed Flutter.framework build mode version from Xcode configuration (#42029) 2019-10-15 15:33:55 -07:00
Emmanuel Garcia
5961bcc505
Generate projects using the new Android embedding (#41666)
* Generate projects using the new Android embedding

* Add comment about usesNewEmbedding:true

* Feedback

* Rework way to detect new embedding in new apps
2019-10-04 06:23:03 -07:00
stuartmorgan
56d68a9071
Add the beginnings of plugin support for Windows and Linux (#41015)
Adds very preliminary support for Windows and Linux plugins:
- Adds those platforms to the new plugin schema, initially supporting just a plugin class.
- Adds C++ plugin registrant generation for any Windows or Linux plugins found.

This doesn't have yet have any build tooling for either platform, so anyone using the generated registrant still needs to do manual build configuration. This reduces the manual work, however, and creates a starting point for future tooling work.

As with all Windows and Linux work at this time, this is not final, and subject to change without warning in the future (e.g., Windows could potentially switch to a C# interface, or
'linux' may change to 'gtk' or 'linux_gtk' in pubspec.yaml).
2019-09-26 14:01:57 -07:00
Jonah Williams
0980fa2ddd
Serve every html file under web (#41386) 2019-09-26 13:24:05 -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