Commit Graph

1639 Commits

Author SHA1 Message Date
John McCutchan
a80e5c20f3 Add a doctor check for host executable compatibility (#8798)
Fixes #6207
2017-03-15 15:22:54 -07:00
Alexandre Ardhuin
2166ea5b7f apply partially the upcoming unnecessary_lambdas (#8810) 2017-03-15 23:09:58 +01:00
Todd Volkert
f9ad230f15 Bump file to 2.3.1 (#8807) 2017-03-15 14:11:13 -07:00
Todd Volkert
12ebb66d9e Allow FlutterVersion to be overridden in the context (#8801) 2017-03-15 14:01:45 -07:00
Michael Goderbauer
15330ffbc4 Make ProcessSignals portable (#8779)
* Make ProcessSignals portable

This removes the need to wrap unsupported signals with in `if (!platform.isWindows) ..`.

It also allows us to implement a work around for breaking the Windows console when flutter is exited with Ctrl+C.

* review comments

* adding tests

* add license header
2017-03-15 11:28:14 -07:00
Alexandre Ardhuin
a9ba0e2f88 prefer_initializing_formals (#8797) 2017-03-15 18:30:55 +01:00
John McCutchan
7843afd4d6 Tweak reload finished message (#8792) 2017-03-15 07:08:42 -07:00
Jakob Andersen
1457f3dbb0 Put Gradle output in build/ (#8759)
Changed the default build output directory in the new project template
to build/, instead of android/build/ and android/app/build/.

Updated tools to ask the Gradle scripts what the build directory is,
since this is configurable in the build scripts, and we need to know
where the build output actually is.

Silenced output from 'flutter build aot' when invoked from Gradle, since
the output was confusing in this case.

Fixes #8723
Fixes #8656
Fixes #8138
2017-03-15 10:53:22 +01:00
Chris Bracken
bd15e8dd76 Emit macOS version information in doctor (#8772)
macOS counterpart to c670cd9e64.
2017-03-14 12:11:09 -07:00
Michael Goderbauer
c670cd9e64 add windows version to flutter doctor (#8771) 2017-03-14 11:42:52 -07:00
Zachary Anderson
b6ba37d768 Adds initial support for hot reload for Fuchsia to flutter_tool. (#8764) 2017-03-14 11:12:19 -07:00
Todd Volkert
1b4f817b0c Make tests more hermetic. (#8765)
1. Add `PortScanner` abstraction so that we don't do actual port scanning
   in tests.
2. Don't change the real `cwd` of the isolate during tests, as it affects
   all tests, not just the current running test.

Fixes #8761
2017-03-14 10:28:56 -07:00
Jason Simmons
e44f513e43 Fix the gen_snapshot path for a local_engine FLX build in debug mode (#8754)
gen_snapshot is now used for both JIT and AOT snapshots.  The JIT version
used in debug mode will be a 64-bit binary.
2017-03-14 10:17:59 -07:00
John McCutchan
2148e9aff6 Improvements to flutter doctor JDK search. (#8745)
- [x] Add custom logic on MacOS to determine if Java is installed before invoking `java`.
- [x] Check JAVA_HOME, platform specific logic, and finally PATH to locate the `java` executable.
- [x] Improved doctor messages.

Fixes #8508
Fixes #8521
2017-03-14 09:57:34 -07:00
Chris Bracken
e22d0e603c Make only Flutter.framework files read-only (#8766)
Making the directories read-only causes problems with deletion, which
breaks the Mac chrome buildbot and DeviceLab.

Followup patch to cb2b89c38.
2017-03-14 09:31:31 -07:00
Jakob Andersen
9c6ffc8281 Use snapshot's .d file as source inputs in Gradle build. (#8756)
* Use snapshot's .d file as source inputs in Gradle build.

If we don't yet have a .d file (first build), fall back to using the
.dart files in the current directory. This enables us to detect changes
in dependent source files (Flutter framework, packages outside the
source directory, etc.), and re-generate the snapshots as needed.

Unfortunately, Gradle requires knowing the source files before executing
the task, and can't update them after building, so Gradle considers the
second build to be out-of-date (because it has more input files than the
first build). Sub-sequent builds have the correct dependency
information, and will be skipped if the source files haven't changed.

Also added a dependency on gen_snapshot. The snapshot ABI isn't stable,
so we need to re-generate the snapshots when we roll the Dart SDK
dependency.

Fixes #8315
Fixes #8687
Fixes #8607
2017-03-14 12:49:30 +01:00
Chris Bracken
cb2b89c389 Set derived dir Flutter.framework directory readonly (#8748)
Provides a strong hint to developers that editing Flutter framework
headers isn't supported.
2017-03-13 15:26:35 -07:00
Ian Hickson
0edc4d2a76 Make hot mode a little less aggressive about catching errors. (#8743)
It was resulting in weird situations where the tool would dump an
error message and stack but not quit, or would fail hard but then just
hang.

Instead, specifically catch errors you expect. As an example of this,
there's one error we expect from the DartDependencySetBuilder, so we
catch that one, turn it into a dedicated exception class, then in the
caller catch that specific exception.
2017-03-13 14:50:30 -07:00
Devon Carew
71aaa5db91 add --offline to flutter packages get (#8707) 2017-03-13 14:04:27 -07:00
Dan Rubel
b10e60bc15 do not forward errors if stream is closed (#8739) 2017-03-13 15:07:13 -04:00
John McCutchan
31dc3c4722 Try all possible Android SDK locations before giving up (#8730)
Fixes #8618
2017-03-13 11:21:34 -07:00
Jason Simmons
3d5d63a8aa Accept any nonzero exit code as a signal of failure in the missing dependency test (#8738) 2017-03-13 11:17:09 -07:00
Dan Rubel
8742fb09fa Fix tests (#8736)
* do not forward status if stream is closed
* remove devfs test timeout
2017-03-13 13:47:29 -04:00
Todd Volkert
a4c58292b2 Fix and enable broken flutter_tools tests (#8720)
(follow-on to #8698)
2017-03-10 15:34:20 -08:00
Todd Volkert
5d29737a04 Bump mockito to version 2.0.2 (#8713) 2017-03-10 13:53:22 -08:00
Yegor
9f020d6104 upgrade package:http so we no longer need custom MultipartRequest (#8715) 2017-03-10 11:05:06 -08:00
Michael Goderbauer
03d3186531 Transfer URIs instead of platform-dependent file paths (#8701) 2017-03-10 10:13:53 -08:00
Todd Volkert
34ed3d2d24 Pay off some technical debt. (#8710)
* Rename `Device.platform` to `Device.targetPlatform` to avoid
  collision with the exported variable from `platform.dart`
2017-03-10 10:11:05 -08:00
Todd Volkert
83d411f979 Change flutter_tools tests to run via pub (#8698)
`all.dart` is no longer needed. Furthermore, it causes tests to
be skipped, or to silently fail to run anything.

Fixes #7941
2017-03-10 09:39:01 -08:00
Chris Bracken
1a2e6f3389 Support Xcode builds in project dirs with spaces (#8709)
Use line-based iteration in place of word-based iteration over the
framework directories, to avoid breaking on spaces.
2017-03-10 09:32:58 -08:00
Jakob Andersen
60c0c3d323 Revert "Eliminate CocoaPods install step (#8694)" (#8705)
* Revert "Eliminate CocoaPods install step (#8694)"

This reverts commit f4a13bc72b.

If the developer is relying on CocoaPods and hasn't done a pod install, we will do it for them. This is needed for a smooth native plugin experience, similar to what Gradle is doing on the Android side.

There's no hard dependency on CocoaPods. We only run pod install if the project uses CocoaPods, so developers are still free to use alternatives if they prefer (and if they don't want to use native plugins).

Fixes #8685
Fixes #8657
Fixes #8526

* Require CocoaPods 1.0.0 or newer.

And make sure we don't get a crash if running `pod install` fails.

* Address review feedback
2017-03-10 13:43:57 +01:00
Alexandre Ardhuin
c22812e0ea Flutter style guide: Prefer naming the argument to a setter 'value' (#8691) 2017-03-10 09:00:29 +01:00
Chris Bracken
7b9cefb3be Add brew update step before install/upgrade (#8703)
This avoids unintentionally installing an older version if the
developer's homebrew installation is out-of-date.
2017-03-09 20:45:40 -08:00
Chris Bracken
1bb0d7728e Eliminate brew tap flutter/flutter instruction (#8702)
The flutter tap was deleted as part of the resolution to #7783.
2017-03-09 18:26:38 -08:00
Chris Bracken
f4a13bc72b Eliminate CocoaPods install step (#8694)
If the developer is relying on CocoaPods and hasn't done a pod install,
they'll get a build failure indicating the issue.

This also avoids a hard dependency on CocoaPods in the tool and allows
developers to customize their Xcode steps to use alternatives such as
Carthage if they prefer.
2017-03-09 17:57:45 -08:00
Yegor
3146e13414 print less in flutter_tool tests (fixes #8641) (#8699) 2017-03-09 16:51:46 -08:00
Todd Volkert
1ada132ee8 Add first replay test (#8628) 2017-03-09 12:58:31 -08:00
Michael Goderbauer
5571cb1140 remove unneded deps to pub_semver (#8688) 2017-03-09 12:57:56 -08:00
Michael Goderbauer
edbfb17b62 remove remaining references to sky_snapshot (#8665) 2017-03-09 11:40:59 -08:00
Chris Bracken
cabd58dbb2 Correct instructions for libimobiledevice install (#8675)
As of the latest Xcode versions, the latest published libimobiledevice
is out-of-date and build from HEAD is required.

This fixes two bugs:
1. Update initial install instructions to add --HEAD flag.
2. Update uninstall, reinstall instructions to include
   --ignore-dependencies flag, since other brew formulae depend on
   libimobiledevice.
2017-03-08 21:24:00 -08:00
Chris Bracken
bf6b6e188d Check for CocoaPods installation if required (#8666) 2017-03-08 16:42:31 -08:00
Chris Bracken
2bbdacce35 Improve ideviceinstaller error message (#8662)
Homebrew is an expected part of the iOS toolchain. Update the error
message to assume that.
2017-03-08 15:31:32 -08:00
Alexandre Ardhuin
6a2148dde9 prefer const constructors (#8594)
* prefer const constructors

* fix double throw
2017-03-08 14:58:14 -08:00
Alexandre Ardhuin
ce734e8f24 apply the upcoming rule : directives_ordering (#8582) 2017-03-08 14:58:09 -08:00
Alexandre Ardhuin
329e52c02c apply upcoming rule use_collection_literals_when_possible (#8649) 2017-03-08 14:57:31 -08:00
Michael Goderbauer
906103dd10 eliminate sky snapshot (#8631)
* eliminate sky snapshot

* roll engine
2017-03-08 13:33:06 -08:00
Chris Bracken
eb14385297 Update CocoaPods install instructions to use Homebrew (#8644)
This is consistent with the rest of the iOS toolchain.
2017-03-07 21:52:40 -08:00
Jakob Andersen
a4883de38f Run 'pod install' before building iOS app. (#8609)
Since iOS builds are CocoaPods enabled by default, we should make sure to run `pod install` to get pods wired up before building the app.

Also added a check to `flutter doctor` to verify CocoaPods is installed.

I'm passing FLUTTER_FRAMEWORK_DIR to the `pod install` command, so we can have the app's Podfile link in Flutter.framework as a pod instead of having to copy it over in xcode_backend.sh.
2017-03-07 20:34:38 -08:00
Chris Bracken
a4125f3b0e Declare Xcode 8.3.x compatibility in project files (#8622)
Update templates and example Xcode project files to indicate they've
been tested for Xcode 8.3 compatibility.
2017-03-07 13:11:41 -08:00
Michael Goderbauer
644e7b131d Faster hot reload (#8600)
This implements the `DartDependencySetBuilder` completely in Dart instead of calling out to `sky_snapshot` (Linux/Mac) or `gen_snapshot` (Windows) and allows us to use the same code path on all supported host platforms.

It also slightly reduces hot reload times on Linux from ~750ms to ~690ms for the unchanged flutter_gallery app and significantly reduces hot reload times on Windows from almost 1.5s to just slightly slower than on Linux.

This change will also allow us to retire `sky_snapshot` completely in the future.
2017-03-07 13:09:48 -08:00