You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2016/10/08 03:33:20 UTC
[jira] [Commented] (CB-11985) Cordova hits internet unnecessarily
when getting cached platform or plugin
[ https://issues.apache.org/jira/browse/CB-11985?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15557058#comment-15557058 ]
ASF GitHub Bot commented on CB-11985:
-------------------------------------
GitHub user TimBarham opened a pull request:
https://github.com/apache/cordova-lib/pull/498
CB-11985 Check if cached platform/plugin exists before 'npm cache'
### What does this PR do?
Before calling `npm cache add` when installing a platform or plugin, look for an existing `package.tgz` file in the cache directory. This avoids unnecessary `npm` call with long timeout if not connected to the internet.
Background: First time build failures in Cordova tools in Visual Studio are primarily due to `npm` failures. Therefore we are working to avoid any requirement for `npm` to hit the internet in simple build scenarios. This includes pre-installing cached versions of certain platforms and plugins. But we only get the full benefit if Cordova uses these cached versions if it finds them, without calling npm cache add.
A couple of things to note:
* This change uses shared code for platforms and plugins, and means plugins will also be cached to the `.cordova` directory rather than the global npm cache directory. Is that a concern?
* It is likely this change will be meaningless with the proposed changes to installing platforms and plugins in Cordova 7.x. We'll cross the bridge when we come to it 😄.
### What testing has been done on this change?
Local testing.
### Checklist
- [x] [Reported an issue](http://cordova.apache.org/contribute/issues.html) in the JIRA database
- [x] Commit message follows the format: "CB-3232: (android) Fix bug with resolving file paths", where CB-xxxx is the JIRA ID & "android" is the platform affected.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/TimBarham/cordova-lib use-cached-platform
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/cordova-lib/pull/498.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #498
----
commit 667e774d46399cf97a9481c3890fa7a862871d46
Author: TimBarham <ti...@microsoft.com>
Date: 2016-10-07T22:58:35Z
CB-11985 Check if cached platform/plugin exists before 'npm cache'
This avoids unnecessary npm call with long timeout if not connected to the internet.
----
> Cordova hits internet unnecessarily when getting cached platform or plugin
> --------------------------------------------------------------------------
>
> Key: CB-11985
> URL: https://issues.apache.org/jira/browse/CB-11985
> Project: Apache Cordova
> Issue Type: Improvement
> Components: CordovaLib
> Affects Versions: 6.3.1
> Reporter: Tim Barham
> Assignee: Tim Barham
>
> In you are disconnected from the internet and try to add a platform or plugin that has previously been cached, Cordova eventually successfully installs the platform/plugin, but only after a very long wait.
> We could check for the existence of the cached platform/plugin before calling {{npm cache add}}. This would mean an instant return when not connected to the internet.
> Note that this will only help if we are adding a specific version - when a version range is specified, we need to hit the internet anyway to find the matching version.
> Background: First time build failures in Cordova tools in Visual Studio are primarily due to {{npm}} failures. Therefore we are working to avoid any requirement for {{npm}}} to hit the internet in simple build scenarios. This includes pre-installing cached versions of certain platforms and plugins. But we only get the full benefit if Cordova uses these cached versions if it finds them, without calling {{npm cache add}}.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org