FlutterBuild.parse constructor

FlutterBuild.parse({
  1. String? appName,
  2. String? appVersion,
  3. String? buildVersion,
  4. String? buildPreRelease,
  5. String? buildMetadata,
  6. String? mainPath,
  7. String? flavor,
  8. List<String> buildArgs = const [],
  9. bool installDeps = true,
  10. String? releaseFolder,
  11. String? flutterSdkPath,
})

Implementation

factory FlutterBuild.parse({
  String? appName,
  String? appVersion,
  String? buildVersion,
  String? buildPreRelease,
  String? buildMetadata,
  String? mainPath,
  String? flavor,
  List<String> buildArgs = const [],
  bool installDeps = true,
  String? releaseFolder,
  String? flutterSdkPath,
}) {
  flutterSdkPath ??= 'flutter';
  releaseFolder ??= 'build/releases';
  final pubspecStr = File('pubspec.yaml').readAsStringSync();
  final pubspec = Pubspec.parse(pubspecStr);

  final parsedBuildVersion = resolveVersion(
    pubspecVersion: pubspec.version,
    appVersion: appVersion,
    buildVersion: buildVersion,
    buildPreRelease: buildPreRelease,
    buildMetadata: buildMetadata,
  );

  appVersion ??= 'v${parsedBuildVersion.canonicalizedVersion}';
  appName ??= pubspec.name;

  return FlutterBuild._(
    appName: appName,
    appVersion: appVersion,
    buildVersion: parsedBuildVersion,
    releaseFolder: releaseFolder,
    flutterSdkPath: flutterSdkPath,
    buildArgs: buildArgs,
    flavor: flavor,
    installDeps: installDeps,
    mainPath: mainPath,
  );
}