You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by fi...@apache.org on 2013/07/25 00:54:57 UTC
git commit: [CB-4322] Use npms proxy configuration (if set) in the
lazy load module. Added proxy verbiage to README. Bumped dependency on
plugman to 0.9.11. Bumped version to 3.0.1.
Updated Branches:
refs/heads/master a5f40b2fa -> 1148e6f73
[CB-4322] Use npms proxy configuration (if set) in the lazy load module. Added proxy verbiage to README. Bumped dependency on plugman to 0.9.11. Bumped version to 3.0.1.
Project: http://git-wip-us.apache.org/repos/asf/cordova-cli/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-cli/commit/1148e6f7
Tree: http://git-wip-us.apache.org/repos/asf/cordova-cli/tree/1148e6f7
Diff: http://git-wip-us.apache.org/repos/asf/cordova-cli/diff/1148e6f7
Branch: refs/heads/master
Commit: 1148e6f73b0f9fba8ef4706fae876113dc9a85a9
Parents: a5f40b2
Author: Fil Maj <ma...@gmail.com>
Authored: Wed Jul 24 15:54:46 2013 -0700
Committer: Fil Maj <ma...@gmail.com>
Committed: Wed Jul 24 15:54:46 2013 -0700
----------------------------------------------------------------------
README.md | 11 ++++++++++-
package.json | 7 ++++---
spec/lazy_load.spec.js | 24 ++++++++++++++++++++++++
src/lazy_load.js | 23 +++++++++++++++++++----
4 files changed, 57 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/1148e6f7/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
index cc5d6d7..3c658a2 100644
--- a/README.md
+++ b/README.md
@@ -182,7 +182,16 @@ Thanks to everyone for contributing! For a list of people involved, please see t
# Known Issues and Troubleshooting
-##Windows
+## Any OS
+
+### Proxy Settings
+
+cordova-cli will use `npm`'s proxy settings. If you downloaded cordova-cli via `npm` and are behind a proxy, chances are cordova-cli should work for you as it will use those settings in the first place. Make sure that the `https-proxy` and `proxy` npm config variables are set properly. See [npm's configuration documentation](https://npmjs.org/doc/config.html) for more information.
+
+## Windows
+
+### Trouble Adding Android as a Platform
+
When trying to add a platform on a Windows machine if you run into the following error message:
cordova library for "android" already exists. No need to download. Continuing.
Checking if platform "android" passes minimum requirements...
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/1148e6f7/package.json
----------------------------------------------------------------------
diff --git a/package.json b/package.json
index 0edd241..da12bee 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "cordova",
- "version": "3.0.0",
+ "version": "3.0.1",
"preferGlobal": "true",
"description": "Cordova command line interface tool",
"main": "cordova",
@@ -30,7 +30,7 @@
"dependencies": {
"colors":">=0.6.0",
"elementtree":"0.1.3",
- "plugman":"0.9.10",
+ "plugman":"0.9.11",
"plist":"0.4.x",
"xcode":"0.5.1",
"express":"3.0.0",
@@ -43,7 +43,8 @@
"follow-redirects":"0.0.x",
"prompt":"0.2.7",
"tar":"0.1.x",
- "open": "0.0.3"
+ "open": "0.0.3",
+ "npm":"1.3.x"
},
"devDependencies": {
"jasmine-node":"1.8.x"
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/1148e6f7/spec/lazy_load.spec.js
----------------------------------------------------------------------
diff --git a/spec/lazy_load.spec.js b/spec/lazy_load.spec.js
index 1605240..b5a5448 100644
--- a/spec/lazy_load.spec.js
+++ b/spec/lazy_load.spec.js
@@ -2,6 +2,7 @@ var lazy_load = require('../src/lazy_load'),
config = require('../src/config'),
util = require('../src/util'),
shell = require('shelljs'),
+ npm = require('npm');
path = require('path'),
hooker = require('../src/hooker'),
request = require('request'),
@@ -56,6 +57,7 @@ describe('lazy_load module', function() {
describe('remote URLs for libraries', function() {
var req,
+ load_spy,
p1 = jasmine.createSpy().andReturn({
on:function() {
return {
@@ -68,6 +70,8 @@ describe('lazy_load module', function() {
req = spyOn(request, 'get').andReturn({
pipe:p2
});
+ load_spy = spyOn(npm, 'load').andCallFake(function(cb) { cb(); });
+ npm.config.get = function() { return null; };
});
it('should call request with appopriate url params', function() {
@@ -77,6 +81,26 @@ describe('lazy_load module', function() {
uri:url
}, jasmine.any(Function));
});
+ it('should take into account https-proxy npm configuration var if exists for https:// calls', function() {
+ var proxy = 'https://somelocalproxy.com';
+ npm.config.get = function() { return proxy; };
+ var url = 'https://github.com/apache/someplugin';
+ lazy_load.custom(url, 'random', 'android', '1.0');
+ expect(req).toHaveBeenCalledWith({
+ uri:url,
+ proxy:proxy
+ }, jasmine.any(Function));
+ });
+ it('should take into account proxy npm config var if exists for http:// calls', function() {
+ var proxy = 'http://somelocalproxy.com';
+ npm.config.get = function() { return proxy; };
+ var url = 'http://github.com/apache/someplugin';
+ lazy_load.custom(url, 'random', 'android', '1.0');
+ expect(req).toHaveBeenCalledWith({
+ uri:url,
+ proxy:proxy
+ }, jasmine.any(Function));
+ });
});
describe('local paths for libraries', function() {
http://git-wip-us.apache.org/repos/asf/cordova-cli/blob/1148e6f7/src/lazy_load.js
----------------------------------------------------------------------
diff --git a/src/lazy_load.js b/src/lazy_load.js
index 193f895..aeda169 100644
--- a/src/lazy_load.js
+++ b/src/lazy_load.js
@@ -20,6 +20,7 @@ var path = require('path'),
fs = require('fs'),
shell = require('shelljs'),
platforms = require('../platforms'),
+ npm = require('npm'),
events = require('./events'),
request = require('request'),
config = require('./config'),
@@ -64,10 +65,23 @@ module.exports = {
}, function() {
var uri = URL.parse(url);
if (uri.protocol && uri.protocol[1] != ':') { // second part of conditional is for awesome windows support. fuuu windows
- shell.mkdir('-p', download_dir);
- events.emit('log', 'Requesting ' + url + '...');
- var size = 0;
- request.get({uri:url}, function(err, req, body) { size = body.length; })
+ npm.load(function() {
+ // Check if NPM proxy settings are set. If so, include them in the request() call.
+ var proxy;
+ if (uri.protocol == 'https:') {
+ proxy = npm.config.get('https-proxy');
+ } else if (uri.protocol == 'http:') {
+ proxy = npm.config.get('proxy');
+ }
+
+ shell.mkdir('-p', download_dir);
+ var size = 0;
+ var request_options = {uri:url};
+ if (proxy) {
+ request_options.proxy = proxy;
+ }
+ events.emit('log', 'Requesting ' + JSON.stringify(request_options) + '...');
+ request.get(request_options, function(err, req, body) { size = body.length; })
.pipe(zlib.createUnzip())
.pipe(tar.Extract({path:download_dir}))
.on('error', function(err) {
@@ -91,6 +105,7 @@ module.exports = {
}, function() {
if (callback) callback();
});
+ });
});
} else {
// local path