flutter / samples

A collection of Flutter examples and demos

Home Page:https://flutter.github.io/samples/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

desktop_photo_search sample (fluent_ui) doesn't build against Flutter master branch

cbracken opened this issue · comments

Repro steps:

  1. cd desktop_photo_search/fluent_ui
  2. flutter run -d mac

Expected behaviour: app compiles and runs.

Actual behaviour: compile error:

% flutter run -d mac
Running "flutter pub get" in fluent_ui...                        2 638ms
Launching lib/main.dart on macOS in debug mode...
Running pod install...                                           1 384ms
../../../../../.pub-cache/hosted/pub.dartlang.org/fluent_ui-3.10.3/lib/src/controls/form/selection_controls.dart:26:29: Error: The parameter 'clipboardStatus' of the method '_FluentTextSelectionControls.buildToolbar' has type 'ClipboardStatusNotifier', which does not match the corresponding type, 'ClipboardStatusNotifier?', in the overridden method, 'TextSelectionControls.buildToolbar'.
 - 'ClipboardStatusNotifier' is from 'package:flutter/src/widgets/text_selection.dart' ('../../../flutter/packages/flutter/lib/src/widgets/text_selection.dart').
Change to a supertype of 'ClipboardStatusNotifier?', or, for a covariant parameter, a subtype.
    ClipboardStatusNotifier clipboardStatus,
                            ^
../../../flutter/packages/flutter/lib/src/widgets/text_selection.dart:138:10: Context: This is the overridden method ('buildToolbar').
  Widget buildToolbar(
         ^
lib/src/widgets/unsplash_notice.dart:30:20: Warning: Operand of null-aware operation '!' has type 'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../../flutter/packages/flutter/lib/src/widgets/binding.dart').
    WidgetsBinding.instance!.addPostFrameCallback((timeStamp) {
                   ^
../../../../../.pub-cache/hosted/pub.dartlang.org/fluent_ui-3.10.3/lib/src/controls/inputs/dropdown_button.dart:350:20: Warning: Operand of null-aware operation '?.' has type 'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../../flutter/packages/flutter/lib/src/widgets/binding.dart').
    WidgetsBinding.instance?.addPostFrameCallback((timeStamp) {
                   ^
../../../../../.pub-cache/hosted/pub.dartlang.org/fluent_ui-3.10.3/lib/src/controls/navigation/navigation_view/indicators.dart:50:20: Warning: Operand of null-aware operation '?.' has type 'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../../flutter/packages/flutter/lib/src/widgets/binding.dart').
    WidgetsBinding.instance?.addPostFrameCallback((timeStamp) {
                   ^
../../../../../.pub-cache/hosted/pub.dartlang.org/fluent_ui-3.10.3/lib/src/controls/navigation/navigation_view/indicators.dart:56:20: Warning: Operand of null-aware operation '?.' has type 'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../../flutter/packages/flutter/lib/src/widgets/binding.dart').
    WidgetsBinding.instance?.addPostFrameCallback((timeStamp) {
                   ^
../../../../../.pub-cache/hosted/pub.dartlang.org/fluent_ui-3.10.3/lib/src/controls/surfaces/tooltip.dart:190:41: Warning: Operand of null-aware operation '!' has type 'RendererBinding' which excludes null.
 - 'RendererBinding' is from 'package:flutter/src/rendering/binding.dart' ('../../../flutter/packages/flutter/lib/src/rendering/binding.dart').
    _mouseIsConnected = RendererBinding.instance!.mouseTracker.mouseIsConnected;
                                        ^
../../../../../.pub-cache/hosted/pub.dartlang.org/fluent_ui-3.10.3/lib/src/controls/surfaces/tooltip.dart:197:21: Warning: Operand of null-aware operation '!' has type 'RendererBinding' which excludes null.
 - 'RendererBinding' is from 'package:flutter/src/rendering/binding.dart' ('../../../flutter/packages/flutter/lib/src/rendering/binding.dart').
    RendererBinding.instance!.mouseTracker
                    ^
../../../../../.pub-cache/hosted/pub.dartlang.org/fluent_ui-3.10.3/lib/src/controls/surfaces/tooltip.dart:201:20: Warning: Operand of null-aware operation '!' has type 'GestureBinding' which excludes null.
 - 'GestureBinding' is from 'package:flutter/src/gestures/binding.dart' ('../../../flutter/packages/flutter/lib/src/gestures/binding.dart').
    GestureBinding.instance!.pointerRouter.addGlobalRoute(_handlePointerEvent);
                   ^
../../../../../.pub-cache/hosted/pub.dartlang.org/fluent_ui-3.10.3/lib/src/controls/surfaces/tooltip.dart:250:25: Warning: Operand of null-aware operation '!' has type 'RendererBinding' which excludes null.
 - 'RendererBinding' is from 'package:flutter/src/rendering/binding.dart' ('../../../flutter/packages/flutter/lib/src/rendering/binding.dart').
        RendererBinding.instance!.mouseTracker.mouseIsConnected;
                        ^
../../../../../.pub-cache/hosted/pub.dartlang.org/fluent_ui-3.10.3/lib/src/controls/surfaces/tooltip.dart:463:20: Warning: Operand of null-aware operation '!' has type 'GestureBinding' which excludes null.
 - 'GestureBinding' is from 'package:flutter/src/gestures/binding.dart' ('../../../flutter/packages/flutter/lib/src/gestures/binding.dart').
    GestureBinding.instance!.pointerRouter
                   ^
../../../../../.pub-cache/hosted/pub.dartlang.org/fluent_ui-3.10.3/lib/src/controls/surfaces/tooltip.dart:465:21: Warning: Operand of null-aware operation '!' has type 'RendererBinding' which excludes null.
 - 'RendererBinding' is from 'package:flutter/src/rendering/binding.dart' ('../../../flutter/packages/flutter/lib/src/rendering/binding.dart').
    RendererBinding.instance!.mouseTracker
                    ^
../../../../../.pub-cache/hosted/pub.dartlang.org/fluent_ui-3.10.3/lib/src/controls/form/combo_box.dart:1075:54: Warning: Operand of null-aware operation '!' has type 'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../../flutter/packages/flutter/lib/src/widgets/binding.dart').
    final FocusManager focusManager = WidgetsBinding.instance!.focusManager;
                                                     ^
../../../../../.pub-cache/hosted/pub.dartlang.org/fluent_ui-3.10.3/lib/src/controls/form/combo_box.dart:1082:20: Warning: Operand of null-aware operation '!' has type 'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../../flutter/packages/flutter/lib/src/widgets/binding.dart').
    WidgetsBinding.instance!.removeObserver(this);
                   ^
../../../../../.pub-cache/hosted/pub.dartlang.org/fluent_ui-3.10.3/lib/src/controls/form/combo_box.dart:1084:20: Warning: Operand of null-aware operation '!' has type 'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../../flutter/packages/flutter/lib/src/widgets/binding.dart').
    WidgetsBinding.instance!.focusManager
                   ^
../../../../../.pub-cache/hosted/pub.dartlang.org/fluent_ui-3.10.3/lib/src/layout/dynamic_overflow.dart:615:26: Warning: Operand of null-aware operation '?.' has type 'SchedulerBinding' which excludes null.
 - 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('../../../flutter/packages/flutter/lib/src/scheduler/binding.dart').
        SchedulerBinding.instance?.addPostFrameCallback((_) {
                         ^
../../../../../.pub-cache/hosted/pub.dartlang.org/fluent_ui-3.10.3/lib/src/styles/acrylic.dart:93:20: Warning: Operand of null-aware operation '!' has type 'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../../flutter/packages/flutter/lib/src/widgets/binding.dart').
    WidgetsBinding.instance!.addPostFrameCallback((timeStamp) {
                   ^
../../../../../.pub-cache/hosted/pub.dartlang.org/fluent_ui-3.10.3/lib/src/utils/horizontal_scroll_view.dart:52:32: Warning: Operand of null-aware operation '!' has type 'GestureBinding' which excludes null.
 - 'GestureBinding' is from 'package:flutter/src/gestures/binding.dart' ('../../../flutter/packages/flutter/lib/src/gestures/binding.dart').
                GestureBinding.instance!.pointerSignalResolver.register(event,
                               ^
../../../../../.pub-cache/git/flutter-desktop-embedding-5c51870ced62a00e809ba4b81a846a052d241c9f/plugins/menubar/lib/src/menu_channel.dart:19:1: Error: 'MenuItem' is imported from both 'package:flutter/src/widgets/platform_menu_bar.dart' and 'package:menubar/src/menu_item.dart'.
import 'menu_item.dart';
^^^^^^^^

Command PhaseScriptExecution failed with a nonzero exit code
** BUILD FAILED **

Doctor:

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel master, 2.13.0-0.0.pre.696, on macOS 12.3.1 21E258 darwin-x64, locale fr-CA)
[!] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.
[✓] Xcode - develop for iOS and macOS (Xcode 13.3.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.2)
[✓] VS Code (version 1.66.2)
[✓] Connected device (2 available)
[✓] HTTP Host Availability

! Doctor found issues in 1 category.

Compiling clean against master isn't something that flutter/samples has as a goal. The samples and codelabs repos aim to compile green on stable, and be ready with PRs in place for the quarterly stable release when it happens.

See #1132 for an example of a pre-release fixup PR for desktop_photo_search.