Cordova добавляет плагины в Android-проект очень медленно - PullRequest
0 голосов
/ 16 октября 2018

Мы автоматизируем сборку APK на CI, но весь процесс занимает около 10 минут, и 80% времени уходит на этот этап.

Discovered plugin "cordova-plugin-statusbar" in config.xml. Adding it to the project
Installing "cordova-plugin-statusbar" for android
Adding cordova-plugin-statusbar to package.json
Saved plugin info for "cordova-plugin-statusbar" to config.xml.

Это плагины из config.xml

<plugin name="cordova-plugin-whitelist" spec="1.3.3" />
<plugin name="cordova-plugin-statusbar" spec="2.4.2" />
<plugin name="cordova-plugin-device" spec="2.0.2" />
<plugin name="cordova-plugin-splashscreen" spec="5.0.2" />
<plugin name="cordova-plugin-ionic-webview" spec="^2.0.0" />
<plugin name="phonegap-plugin-barcodescanner" spec="^8.0.0">
    <variable name="ANDROID_SUPPORT_V4_VERSION" value="27.+" />
</plugin>
<plugin name="cordova-plugin-camera-preview" spec="^0.10.0" />
<plugin name="cordova-plugin-screen-orientation" spec="^3.0.1" />
<plugin name="cordova.plugins.diagnostic" spec="^4.0.10" />
<plugin name="cordova-android-support-gradle-release" spec="^1.4.4">
    <variable name="ANDROID_SUPPORT_VERSION" value="26.+" />
</plugin>
<plugin name="cordova-sqlite-storage" spec="^2.4.0" />
<plugin name="cordova-plugin-ionic-keyboard" spec="^2.1.2" />
<plugin name="cordova-plugin-camera" spec="^4.0.3" />

Можно ли ускорить этот процесс, кэшируя результаты или каким-либо другим способом ускорить установку плагинов?

1 Ответ

0 голосов
/ 16 октября 2018

Если вы поместите свой каталог Cordova plugins/ в систему управления версиями (предположительно, в вашем Git-репо), то когда проект извлечен в среде CI, Cordova будет искать и использовать эти локальные плагины вместо того, чтобы уходить для извлечениякаждый удаленно через нпм.Это должно сделать процесс намного быстрее.Если / когда вам нужно обновить ваши плагины, просто зафиксируйте обновления в репо.

Хотя теоретически вы также можете зафиксировать platforms/ в своем репо, чтобы сделать сборку еще быстрее (тогда Cordova не придетсяустановить и собрать каждый проект платформы), я бы посоветовал против этого, поскольку проекты платформы в проекте Cordova следует рассматривать как нестабильные.

...