// 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:flutter_tools/src/android/android_builder.dart'; import 'package:flutter_tools/src/base/file_system.dart'; import 'package:flutter_tools/src/build_info.dart'; import 'package:flutter_tools/src/globals.dart' as globals; import 'package:flutter_tools/src/project.dart'; /// A fake implementation of [AndroidBuilder]. class FakeAndroidBuilder implements AndroidBuilder { @override Future<void> buildAar({ required FlutterProject project, required Set<AndroidBuildInfo> androidBuildInfo, required String target, String? outputDirectoryPath, required String buildNumber, }) async {} @override Future<void> buildApk({ required FlutterProject project, required AndroidBuildInfo androidBuildInfo, required String target, }) async {} @override Future<void> buildAab({ required FlutterProject project, required AndroidBuildInfo androidBuildInfo, required String target, bool validateDeferredComponents = true, bool deferredComponentsEnabled = false, }) async {} } /// Creates a [FlutterProject] in a directory named [flutter_project] /// within [directoryOverride]. class FakeFlutterProjectFactory extends FlutterProjectFactory { FakeFlutterProjectFactory(this.directoryOverride) : assert(directoryOverride != null), super( fileSystem: globals.fs, logger: globals.logger, ); final Directory directoryOverride; @override FlutterProject fromDirectory(Directory _) { projects.clear(); return super.fromDirectory(directoryOverride.childDirectory('flutter_project')); } }