install method

void install(
  1. List<String> arguments
)

Implementation

void install(List<String> arguments) {
  // check configuration
  YamlMap config = _loadConfigFile();
  if (!config.containsKey(_yamlBundleIdentifier) ||
      !config.containsKey(_yamlBundleTypeName) ||
      !config.containsKey(_yamlExtensions)) {
    throw new Exception(
        'Configuration expects $_yamlExtensions, $_yamlBundleIdentifier, $_yamlBundleTypeName and $_yamlMimeType');
  }

  // platform configuration
  String andConfiguration = '';
  String iosConfiguration = '';

  // iterate on extensions
  for (YamlMap extensionEntry in config[_yamlExtensions]) {
    String fileExtension = extensionEntry.keys.first;
    String mimeType = extensionEntry.values.first;

    // add to templates
    andConfiguration += androidManifestTemplate(
      fileExtension,
      mimeType,
    );
    iosConfiguration += iosInfoPlistTemplate(
      config[_yamlBundleIdentifier],
      config[_yamlBundleTypeName],
      fileExtension,
      mimeType,
    );
  }

  // add delimiters
  andConfiguration = '$_delimiter\n$andConfiguration\n$_delimiter';

  // add additional configuration
  iosConfiguration +=
      '\n' + iosAdditionalConfiguration(config[_yamlIOSInPlace] ?? false);

  // now add
  updateAndroidManifest(andConfiguration);
  updateIosInfoPlist(iosConfiguration);
}