Подтвердить что ты не робот

Какова цель файла fetch.json внутри папки плагинов cordova?

Файл fetch.json создан внутри папки плагинов после того, как плагин cordova добавляет в первый раз. Этот файл также изменялся каждый раз, когда я добавляю/удаляю плагины.

  • Какова цель этого файла?
  • Какие инструменты используют этот файл, когда и почему?
  • Есть ли способ восстановить плагины с помощью fetch.json(не пытайтесь разместить плагины в repositiory)?
  • Где я могу найти некоторые документы о содержании этого файла?

Содержимое fetch.json:

{
    "com.phonegap.plugins.PushPlugin": {
        "source": {
            "type": "git",
            "url": "https://github.com/phonegap-build/PushPlugin.git",
            "subdir": "."
        },
        "is_top_level": true,
        "variables": {}
    },
    "cordova-plugin-file": {
        "source": {
            "type": "registry",
            "id": "cordova-plugin-file"
        },
        "is_top_level": true,
        "variables": {}
    }
}
4b9b3361

Ответ 1

Похоже, что этот файл отслеживает установленные плагины, их происхождение и версию, например, зависимости npm package.json, но для плагина. Я думаю, и надеюсь, что это должно скоро перейти на стандарт npm.

Этот файл обновляется на кордонах добавления/удаления плагинов (https://github.com/apache/cordova-lib/blob/e4e5904619bab05705d62bce92a4c4cd0d45bb82/cordova-lib/src/cordova/plugin.js#L272)

Когда мы cordova prepare, cordova читает список плагинов из plugins/ios.json (для ios), то для каждого из них:

  • получить информацию о плагине от plugins/fetch.json
  • попытайтесь локально найти плагин

похоже, что невозможно восстановить плагины с этим файлом. Мой рабочий процесс:

  • определить зависимости плагинов в файле config.xml
  • удаленные платформы и пустые папки с плагинами
  • run cordova platform add xxx

это приведет к восстановлению плагинов, как определено в config.xml

Похоже, что единственным документом является исходный код: https://github.com/apache/cordova-lib/search?utf8=%E2%9C%93&q=fetch