flutter/packages/flutter_tools/lib/src/ios/ios_workflow.dart
Jonah Williams 859fce9010
[flutter_tools] add feature for iOS, android, and fuchsia (#61481)
Add feature flags for android, ios, and fuchsia (on by default). After updating the g3 rollers, the fuchsia feature will be turned off by default. Creates a simpler base type of feature flags for g3 to extend.

Updates android, ios, fuchsia workflows to use feature flags check.
Removes concept of stable artifacts and checks on flutter version.

Fixes #58999
#52859
#12768
2020-07-16 09:51:59 -07:00

40 lines
1.2 KiB
Dart

// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'package:meta/meta.dart';
import '../base/platform.dart';
import '../doctor.dart';
import '../features.dart';
import '../macos/xcode.dart';
class IOSWorkflow implements Workflow {
const IOSWorkflow({
@required Platform platform,
@required FeatureFlags featureFlags,
@required Xcode xcode,
}) : _platform = platform,
_featureFlags = featureFlags,
_xcode = xcode;
final Platform _platform;
final FeatureFlags _featureFlags;
final Xcode _xcode;
@override
bool get appliesToHostPlatform => _featureFlags.isIOSEnabled && _platform.isMacOS;
// We need xcode (+simctl) to list simulator devices, and libimobiledevice to list real devices.
@override
bool get canListDevices => _xcode.isInstalledAndMeetsVersionCheck && _xcode.isSimctlInstalled;
// We need xcode to launch simulator devices, and ios-deploy
// for real devices.
@override
bool get canLaunchDevices => _xcode.isInstalledAndMeetsVersionCheck;
@override
bool get canListEmulators => false;
}