init static method

Future<void> init(
  1. ArgResults args
)

Implementation

static Future<void> init(ArgResults args) async {
  final directories = getDirectories();
  final pubspec = await getPubspec();
  for (String dir in directories) {
    bool isAndroid = dir.endsWith('android');

    final appFile = File('$dir/fastlane/Appfile')
      ..createSync(recursive: true)
      ..writeAsStringSync(
        (isAndroid ? File('${await getPackagePath()}/assets/android/Appfile') : File('${await getPackagePath()}/assets/ios/Appfile'))
            .readAsStringSync()
            .replaceAll('path/to/json_key_file', pubspec['android_json_key_file_path'])
            .replaceAll('com.example.app', isAndroid ? pubspec['android_package_name'] : pubspec['ios_package_name']),
      );

    final fastFile = File('$dir/fastlane/Fastfile')
      ..createSync(recursive: true)
      ..writeAsStringSync(
        (isAndroid ? File('${await getPackagePath()}/assets/android/Fastfile') : File('${await getPackagePath()}/assets/ios/Fastfile'))
            .readAsStringSync()
            .replaceAll('track: \'beta\',', "track: '${pubspec['android_beta_track']}',")
            .replaceAll('com.example.app', isAndroid ? pubspec['android_package_name'] : pubspec['ios_package_name']),
      );
  }
}