android_builder.dart 1.1 KB
Newer Older
Ian Hickson's avatar
Ian Hickson committed
1
// Copyright 2014 The Flutter Authors. All rights reserved.
2 3 4 5 6 7 8 9
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

import '../base/context.dart';
import '../build_info.dart';
import '../project.dart';

/// The builder in the current context.
10
AndroidBuilder? get androidBuilder {
11
  return context.get<AndroidBuilder>();
12
}
13 14

abstract class AndroidBuilder {
15
  const AndroidBuilder();
16 17
  /// Builds an AAR artifact.
  Future<void> buildAar({
18 19 20 21 22
    required FlutterProject project,
    required Set<AndroidBuildInfo> androidBuildInfo,
    required String target,
    String? outputDirectoryPath,
    required String buildNumber,
23 24 25 26
  });

  /// Builds an APK artifact.
  Future<void> buildApk({
27 28 29
    required FlutterProject project,
    required AndroidBuildInfo androidBuildInfo,
    required String target,
30 31 32 33
  });

  /// Builds an App Bundle artifact.
  Future<void> buildAab({
34 35 36
    required FlutterProject project,
    required AndroidBuildInfo androidBuildInfo,
    required String target,
37 38
    bool validateDeferredComponents = true,
    bool deferredComponentsEnabled = false,
39 40
  });
}