makePubspecYaml function

Future<PackageInfo> makePubspecYaml(
  1. Directory path,
  2. List<String> arguments
)

Implementation

Future<PackageInfo> makePubspecYaml(
  Directory path,
  List<String> arguments,
) async {
  final packageName = basename(path.path);
  final appName = _after('--app-name', arguments) ?? _defaultName(packageName);
  final domain = _reverse(_after('--org', arguments)) ?? 'example.com';
  final pubspecFile = File('${path.path}${Platform.pathSeparator}pubspec.yaml')
    ..writeAsStringSync(
      _content(await _flutterVersion(), packageName, appName, domain),
    );
  await _flutterExec(path, ['pub', 'add', 'dev:riddance_env']);
  final myVersion = _freezeVersion(pubspecFile);
  try {
    File('${path.path}${Platform.pathSeparator}pubspec.lock').deleteSync();
  } on PathNotFoundException catch (_) {}
  await _flutterExec(path, ['pub', 'get']);
  return PackageInfo(
    packageName,
    appName,
    '0.0.1',
    domain,
    null,
    [],
    false,
    _allPlatforms,
    ['internet-client'],
    myVersion,
  );
}