Commit Graph

58 Commits

Author SHA1 Message Date
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
stuartmorgan
1be332eb8b Require Visual Studio 2019 for Windows (#48844) 2020-01-15 08:43:03 -08:00
Tim Sneath
5280dda15b Improve toolchain text (#48102) 2020-01-10 14:28:03 -08: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
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
Jonah Williams
450a72488d
set trace to true for desktop builds (#43577) 2019-10-28 10:27:11 -07:00
Jonah Williams
096a8ac40a handle format error from vswhere (#43402) 2019-10-24 10:07:05 -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
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
Francisco Magdaleno
d2a95ee344
Fix crash on vswhere query on missing installations (#40786) 2019-09-25 13:38:53 -07:00
Francisco Magdaleno
1ea760096a
Update toolchain description to request the latest version (#40795) 2019-09-24 12:00:05 -07:00
Alexandre Ardhuin
89427d672d
add missing trailing commas in flutter_tools (#40968) 2019-09-24 08:06:09 +02:00
Jonah Williams
79107e0fe2
Dont kill other processes when starting desktop application (#40472) 2019-09-16 13:12:50 -07:00
Francisco Magdaleno
09bb07f8dd
Adds list required components when VS is not installed (#40397) 2019-09-12 18:44:36 -07:00
Francisco Magdaleno
576a455a64
[windows] Refactor to optimize vswhere queries (#40197) 2019-09-12 15:48:25 -07:00
Francisco Magdaleno
f5733f7a62 Fix crash on vswhere search from flutter doctor (#40263)
Fixes a crash introduced on #40011 due to an incorrect type in the vswhere search

Fixes #40238
2019-09-11 21:03:42 -07:00
Zachary Anderson
73c10e8ced
[flutter_tool] process.dart cleanup (#39899) 2019-09-11 18:20: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
Francisco Magdaleno
362cde43ff
[windows] Searches for pre-release and 'all' Visual Studio installations (#40011) 2019-09-10 17:01:53 -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
David Martos
526339b63a Avoid killing Flutter tool process (#37471) (#37500) 2019-08-09 11:25:12 -07:00
GroovinChip
ced207836b Improve Windows build failure message (#36845)
* Improve Windows build failure message

* Undo dartfmt to match source formatting

* Removed prompt to file new issue per PR change request
2019-08-01 10:32:38 -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
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
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
stuartmorgan
5f6f70e677
Pass local engine variables to Windows build (#33540)
The props file used in the Windows build didn't include the local engine
build flags when applicable.
2019-05-30 12:45:33 -07:00
stuartmorgan
79ae04d4ed
Build the solution on Windows (#33528)
Switch from building Runner.vcxproj to Runner.sln on Windows, to allow
for multiple-project builds (e.g., separate plugin projects).
2019-05-29 13:17:23 -07:00
stuartmorgan
aecf053ee0
Use vswhere to find Visual Studio (#33448)
Rather than hard-coding a set of locations to check, use vswhere (which
is installed by VS 2017 and later), and construct the vcvars64.bat path
relative to that. This will allow Windows builds to work without special
configuration for people who have VS installed at a custom path.

Also adds error logging with different messages for each failure point,
so that rather than the not-very-informative 'failed to find
vcvars64.bat' message, the failure will provide feedback about what to
do.

This is an interim solution; later this will be replaced by a
VisualStudio class with associated validator to match the structure of
the other toolchains.

Fixes #33249
2019-05-29 09:17:17 -07:00
stuartmorgan
e1a784ae3f
Wrap Windows build invocation in a batch script (#33443)
Invoking msbuild with runInShell makes handling path escaping more
error-prone, and substantially increases the chances of running into
maximum path limits. This replaces the direct call with a .bat wrapper
that calls vsvars64.bat then msbuild, and uses relative paths within the
script to keep command lengths short.

Fixes https://github.com/flutter/flutter/issues/32792
2019-05-28 21:53:03 -07:00
stuartmorgan
4e1bfca847
Streamline Windows build process (#32783)
Allows Windows builds to use the same structure and script as Linux
builds now use, calling into tool_backend to manage copying resources to
the project directory and building the bundle.

Also switches from expecting name_update.bat to expecting flutter\exe_filename
to be written during the build, as with the recent changes to the macOS build, to
reduce the amount of boilerplate needed in a windows\ project directory.
2019-05-15 19:32:47 -04:00
stuartmorgan
6722fb448c
Teach flutter msbuild for Windows (#32335)
Eliminates the need for a build.bat in the Windows build workflow, adding
preliminary support for building using msbuild. The handling of
vcvars64.bat may be refined in the future, but this serves as a starting point.
2019-05-14 19:24:40 -04: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