[jira] [Commented] (CB-8596) cordova-lib API for retrieval of platforms and plugins from config.xml
[ https://issues.apache.org/jira/browse/CB-8596?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14346512#comment-14346512 ] ASF GitHub Bot commented on CB-8596: Github user omefire commented on the pull request: https://github.com/apache/cordova-lib/pull/177#issuecomment-77107166 After migrating platforms & plugins to package.json, This implementation will be updated, but clients will remain unchanged. > cordova-lib API for retrieval of platforms and plugins from config.xml > --- > > Key: CB-8596 > URL: https://issues.apache.org/jira/browse/CB-8596 > Project: Apache Cordova > Issue Type: New Feature >Reporter: Omar Mefire >Assignee: Omar Mefire > > IDE's and other apps using cordova's APIs need a way to access project's > metadata (platforms and plugins within config.xml) without going directly > through the ConfigParser. They should be abstracted away from the storage > details. > This modification is made even more important with the upcoming move to npm > that is going to necessitate moving platforms and plugins infos to > package.json. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8596) cordova-lib API for retrieval of platforms and plugins from config.xml
[ https://issues.apache.org/jira/browse/CB-8596?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14346513#comment-14346513 ] ASF GitHub Bot commented on CB-8596: Github user omefire commented on the pull request: https://github.com/apache/cordova-lib/pull/177#issuecomment-77107191 @agrieve , @stevengill please review. > cordova-lib API for retrieval of platforms and plugins from config.xml > --- > > Key: CB-8596 > URL: https://issues.apache.org/jira/browse/CB-8596 > Project: Apache Cordova > Issue Type: New Feature >Reporter: Omar Mefire >Assignee: Omar Mefire > > IDE's and other apps using cordova's APIs need a way to access project's > metadata (platforms and plugins within config.xml) without going directly > through the ConfigParser. They should be abstracted away from the storage > details. > This modification is made even more important with the upcoming move to npm > that is going to necessitate moving platforms and plugins infos to > package.json. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8596) cordova-lib API for retrieval of platforms and plugins from config.xml
[ https://issues.apache.org/jira/browse/CB-8596?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14346496#comment-14346496 ] ASF GitHub Bot commented on CB-8596: GitHub user omefire opened a pull request: https://github.com/apache/cordova-lib/pull/177 CB-8596 Expose APIs to retrieve platforms and plugins saved in config.xml CB-8596 Expose APIs to retrieve platforms and plugins saved in config.xml so as to abstract clients away from the config.xml details. You can merge this pull request into a Git repository by running: $ git pull https://github.com/MSOpenTech/cordova-lib CB-8596 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/cordova-lib/pull/177.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 #177 commit d7d5e5b89d014f0f038263b612486d07facb3ef7 Author: Omar Mefire Date: 2015-03-03T22:42:59Z CB-8596 Expose APIs to retrieve platforms and plugins saved in config.xml so as to abstract clients away from the config.xml details. After migrating platforms & plugins to package.json, This implementation will be updated, but clients will remain stable. commit cbebb6785616119e82cd5dd3cd885fab806ec2ce Author: Omar Mefire Date: 2015-03-04T06:52:14Z CB-8596 Cleaning up > cordova-lib API for retrieval of platforms and plugins from config.xml > --- > > Key: CB-8596 > URL: https://issues.apache.org/jira/browse/CB-8596 > Project: Apache Cordova > Issue Type: New Feature >Reporter: Omar Mefire >Assignee: Omar Mefire > > IDE's and other apps using cordova's APIs need a way to access project's > metadata (platforms and plugins within config.xml) without going directly > through the ConfigParser. They should be abstracted away from the storage > details. > This modification is made even more important with the upcoming move to npm > that is going to necessitate moving platforms and plugins infos to > package.json. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8092) File plugin on windows doesn't encode URIs when using toUrl() method
[ https://issues.apache.org/jira/browse/CB-8092?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14346486#comment-14346486 ] ASF GitHub Bot commented on CB-8092: Github user ferryfax commented on the pull request: https://github.com/apache/cordova-plugin-file/pull/94#issuecomment-77104836 Ok will do. In fact looking at it some more the culprit seems to be File-Transfer that is calling resolveLocalFileSystemURI with a mix of \ and / in the URI. Not sure if File-transfer should be fixed or if resolveLocalFileSystemURI should handle it. > File plugin on windows doesn't encode URIs when using toUrl() method > > > Key: CB-8092 > URL: https://issues.apache.org/jira/browse/CB-8092 > Project: Apache Cordova > Issue Type: Bug > Components: Plugin File >Reporter: Vladimir Kotikov > Labels: plugin-file, windows > > This can be reprod by file.spec.52 > {{Entry.toURL on directory: entryFile.toURL() return URL with “\\\” slashes > and non-encoded spaces in folder’s names}} > This issue consists of 2 parts. First, windows is missing > {{filesystem.__format__()}} method which is common place to handle URI > encoding. Second, methods in FileProxy for windows can't handle encoded URIs -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8092) File plugin on windows doesn't encode URIs when using toUrl() method
[ https://issues.apache.org/jira/browse/CB-8092?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14346462#comment-14346462 ] ASF GitHub Bot commented on CB-8092: Github user vladimir-kotikov commented on the pull request: https://github.com/apache/cordova-plugin-file/pull/94#issuecomment-77102704 @ferryfax Probably [Apache JIRA](https://issues.apache.org/jira/browse) is the best place for reporting such issues. Could you please also post a short snippet of code to repro the problem? > File plugin on windows doesn't encode URIs when using toUrl() method > > > Key: CB-8092 > URL: https://issues.apache.org/jira/browse/CB-8092 > Project: Apache Cordova > Issue Type: Bug > Components: Plugin File >Reporter: Vladimir Kotikov > Labels: plugin-file, windows > > This can be reprod by file.spec.52 > {{Entry.toURL on directory: entryFile.toURL() return URL with “\\\” slashes > and non-encoded spaces in folder’s names}} > This issue consists of 2 parts. First, windows is missing > {{filesystem.__format__()}} method which is common place to handle URI > encoding. Second, methods in FileProxy for windows can't handle encoded URIs -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8092) File plugin on windows doesn't encode URIs when using toUrl() method
[ https://issues.apache.org/jira/browse/CB-8092?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14346463#comment-14346463 ] ASF GitHub Bot commented on CB-8092: Github user vladimir-kotikov closed the pull request at: https://github.com/apache/cordova-plugin-file/pull/94 > File plugin on windows doesn't encode URIs when using toUrl() method > > > Key: CB-8092 > URL: https://issues.apache.org/jira/browse/CB-8092 > Project: Apache Cordova > Issue Type: Bug > Components: Plugin File >Reporter: Vladimir Kotikov > Labels: plugin-file, windows > > This can be reprod by file.spec.52 > {{Entry.toURL on directory: entryFile.toURL() return URL with “\\\” slashes > and non-encoded spaces in folder’s names}} > This issue consists of 2 parts. First, windows is missing > {{filesystem.__format__()}} method which is common place to handle URI > encoding. Second, methods in FileProxy for windows can't handle encoded URIs -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8092) File plugin on windows doesn't encode URIs when using toUrl() method
[ https://issues.apache.org/jira/browse/CB-8092?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14346437#comment-14346437 ] ASF GitHub Bot commented on CB-8092: Github user ferryfax commented on the pull request: https://github.com/apache/cordova-plugin-file/pull/94#issuecomment-77101334 Don't know if this is the right place to comment on this but when I tried to use the latest File plugin I was getting an exception because the validName check in resolveLocalFileSystemURI was failing. The path returned from pathFromURL(uri) had a \ in it so I needed to clean it up first with nativePathToCordova. > File plugin on windows doesn't encode URIs when using toUrl() method > > > Key: CB-8092 > URL: https://issues.apache.org/jira/browse/CB-8092 > Project: Apache Cordova > Issue Type: Bug > Components: Plugin File >Reporter: Vladimir Kotikov > Labels: plugin-file, windows > > This can be reprod by file.spec.52 > {{Entry.toURL on directory: entryFile.toURL() return URL with “\\\” slashes > and non-encoded spaces in folder’s names}} > This issue consists of 2 parts. First, windows is missing > {{filesystem.__format__()}} method which is common place to handle URI > encoding. Second, methods in FileProxy for windows can't handle encoded URIs -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8478) cordova platform add android doesn't use the latest version
[ https://issues.apache.org/jira/browse/CB-8478?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14346386#comment-14346386 ] Herb Abrams commented on CB-8478: - Wolfgang, I don't know why. It could be a flaw in the CLI script or a problem with the repo. Maybe just an administrative error. The news item on the Cordova web site from March 2 mentions making 3.7.1 default. Maybe 3.7.1 became 'official' only on March 2. > cordova platform add android doesn't use the latest version > --- > > Key: CB-8478 > URL: https://issues.apache.org/jira/browse/CB-8478 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Affects Versions: Master > Environment: Ubuntu 14 >Reporter: Wolfgang Flohr-Hochbichler > > If I create a new cordova 4.2.0 project (using CLI) and add the android > platform (cordova platform add android), the android platform version which > is used is: 3.6.4. > I expected that version 3.7.1 is used because this is the actual version of > the cordova-android module. > $ npm view cordova-android > npm http GET https://registry.npmjs.org/cordova-android > npm http 304 https://registry.npmjs.org/cordova-android > { name: 'cordova-android', > description: 'cordova-android release', > 'dist-tags': { latest: '3.7.1', rc: '3.7.0' }, -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Closed] (CB-8593) Allow --save to work with existing projects
[ https://issues.apache.org/jira/browse/CB-8593?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Omar Mefire closed CB-8593. --- Resolution: Duplicate > Allow --save to work with existing projects > --- > > Key: CB-8593 > URL: https://issues.apache.org/jira/browse/CB-8593 > Project: Apache Cordova > Issue Type: Bug >Reporter: Raymond Camden >Priority: Minor > > The new --save ability only works when you *add* a platform or project. If I > have an existing project I need to remove every single platform and plugin > and then add them back in, one at a time, using --save for each one. > Can we not support a "cordova save" command that would introspect current > platforms/plugins and save them to the configuration? -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8602) publish fails with incomprehensible error message
[ https://issues.apache.org/jira/browse/CB-8602?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14346283#comment-14346283 ] ASF GitHub Bot commented on CB-8602: GitHub user jsoref opened a pull request: https://github.com/apache/cordova-lib/pull/176 CB-8602 plugman: publish fail early if unsupported npm is active @stevengill You can merge this pull request into a Git repository by running: $ git pull https://github.com/jsoref/cordova-lib cb_8602 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/cordova-lib/pull/176.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 #176 commit 21d9e83003d18f719076c143da4742b73bd6a4d5 Author: Josh Soref Date: 2015-03-04T02:39:38Z CB-8602 plugman: publish fail early if unsupported npm is active > publish fails with incomprehensible error message > - > > Key: CB-8602 > URL: https://issues.apache.org/jira/browse/CB-8602 > Project: Apache Cordova > Issue Type: Bug > Components: Plugman >Reporter: Josh Soref >Assignee: Josh Soref > > {quote} > $ ~/Cordova/cordova-plugman/main.js publish > attempting to publish plugin to registry > Error Code: undefined > conflict Document update conflict.: com.blackberry.app > {quote} > this is caused by npm@1.4.28 being present in my cordova-lib/node_modules. > Note that simply deleting the directory didn't fix it. I tried that, npm > install decided not to install 1.3.4 (probably because i had a newer one > globally installed). -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Created] (CB-8602) publish fails with incomprehensible error message
Josh Soref created CB-8602: -- Summary: publish fails with incomprehensible error message Key: CB-8602 URL: https://issues.apache.org/jira/browse/CB-8602 Project: Apache Cordova Issue Type: Bug Components: Plugman Reporter: Josh Soref Assignee: Josh Soref {quote} $ ~/Cordova/cordova-plugman/main.js publish attempting to publish plugin to registry Error Code: undefined conflict Document update conflict.: com.blackberry.app {quote} this is caused by npm@1.4.28 being present in my cordova-lib/node_modules. Note that simply deleting the directory didn't fix it. I tried that, npm install decided not to install 1.3.4 (probably because i had a newer one globally installed). -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14346222#comment-14346222 ] ASF GitHub Bot commented on CB-8551: Github user TimBarham commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25746864 --- Diff: cordova-lib/src/plugman/registry/registry.js --- @@ -218,10 +205,18 @@ module.exports = { /** * @method initSettings + * @param {Boolean} using npm registry * @return {Promise.} Promised settings. */ -function initSettings() { +function initSettings(npm) { var settings = module.exports.settings; +var registryURL = 'http://registry.cordova.io'; + +//if npm is true, use npm registry +if(npm) { +registryURL = 'http://registry.npmjs.org'; +} + --- End diff -- Ok, fair enough - I get some people don't like `?:`. The usual alternative is: var registryURL; if (npm) { registryURL = 'http://registry.npmjs.org'; } else { registryURL = 'http://registry.cordova.io'; } I know this is slightly more verbose, but I think it is cleaner code than assigning something, then immediately assigning something else if a condition is true. That said, it's only a minor nit so I won't complain very loudly if you leave it as is :). > Setup fetching from npm as fallback > --- > > Key: CB-8551 > URL: https://issues.apache.org/jira/browse/CB-8551 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Steve Gill >Assignee: Steve Gill > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8141) infinite redirection loop when searching for plugin with a space
[ https://issues.apache.org/jira/browse/CB-8141?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14346079#comment-14346079 ] Tommy-Carlos Williams commented on CB-8141: --- This actually caused an infinite loop and I had to kill my browser and do some pretty tricky stuff to get it reopened again without again falling into the loop. This is a pretty serious bug, I imagine it could well have crashed my browser, given a bit more time. > infinite redirection loop when searching for plugin with a space > > > Key: CB-8141 > URL: https://issues.apache.org/jira/browse/CB-8141 > Project: Apache Cordova > Issue Type: Bug > Components: Registry Web >Reporter: Josh Soref > > * Load http://plugins.cordova.io/#/ > * Search for `video player` > You get sent to: > * http://plugins.cordova.io/#/search?search=video player > * http://plugins.cordova.io/#/search?search=video%20player > Get an infinite `window.location.hashbang` loop > Reported on irc by a chrome user (confirmed) -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14346016#comment-14346016 ] ASF GitHub Bot commented on CB-8551: Github user purplecabbage commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25739712 --- Diff: cordova-lib/src/plugman/registry/registry.js --- @@ -236,15 +231,22 @@ function initSettings() { module.exports.settings = rc('plugman', { cache: plugmanCacheDir, -registry: 'http://registry.cordova.io', +registry: registryURL, logstream: fs.createWriteStream(path.resolve(plugmanConfigDir, 'plugman.log')), userconfig: path.resolve(plugmanConfigDir, 'config'), 'cache-min': oneDay }); + +// if npm is true, use npm registry. +// ~/.plugman/config overides the above config if it exists. +// Need to reset the registry value in settings +if(npm) { +settings.registry = 'http://registry.npmjs.org'; --- End diff -- +1 // suggestion: const NPM_REG_URL = 'http://registry.npmjs.org'; const CPR_REG_URL = 'http://registry.cordova.io'; > Setup fetching from npm as fallback > --- > > Key: CB-8551 > URL: https://issues.apache.org/jira/browse/CB-8551 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Steve Gill >Assignee: Steve Gill > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345980#comment-14345980 ] ASF GitHub Bot commented on CB-8551: Github user stevengill commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25738050 --- Diff: cordova-lib/src/plugman/registry/registry.js --- @@ -236,15 +231,22 @@ function initSettings() { module.exports.settings = rc('plugman', { cache: plugmanCacheDir, -registry: 'http://registry.cordova.io', +registry: registryURL, logstream: fs.createWriteStream(path.resolve(plugmanConfigDir, 'plugman.log')), userconfig: path.resolve(plugmanConfigDir, 'config'), 'cache-min': oneDay }); + +// if npm is true, use npm registry. +// ~/.plugman/config overides the above config if it exists. --- End diff -- I think custom registry should still work. Ex: `plugman config set registry "MYSPECIALREGISTRY"` This updates the registry field in `~/.plugman/config` By the time the code hits line 243, the registry value equals the registry value from config. If npm is true, then it would set it to use npm. But this is currently set to happen on the fail (fallback). So it would hit custom registry and then fallback to npm. > Setup fetching from npm as fallback > --- > > Key: CB-8551 > URL: https://issues.apache.org/jira/browse/CB-8551 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Steve Gill >Assignee: Steve Gill > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345985#comment-14345985 ] ASF GitHub Bot commented on CB-8551: Github user jsoref commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25738172 --- Diff: cordova-lib/src/plugman/registry/registry.js --- @@ -322,3 +324,102 @@ function makeRequest (method, where, what, cb_) { return req; } + +/** + * @method fetchNPM + * @param {Array} with one element - the plugin id or "id@version" + * @return {Promise.} Promised path to fetched package. + */ +function fetchNPM(plugin, client) { +return initSettings(true) +.then(function (settings) { +return Q.nfcall(npm.load) +// configure npm here instead of passing parameters to npm.load due to CB-7670 +.then(function () { +for (var prop in settings){ +npm.config.set(prop, settings[prop]); +} +}); +}) +.then(function() { +events.emit('log', 'Fetching plugin "' + plugin + '" via npm'); +return Q.ninvoke(npm.commands, 'cache', ['add', plugin]); +}) +.then(function(info) { +var cl = (client === 'plugman' ? 'plugman' : 'cordova-cli'); +bumpCounter(info, cl); +var pluginDir = path.resolve(npm.cache, info.name, info.version, 'package'); +// Unpack the plugin that was added to the cache (CB-8154) +var package_tgz = path.resolve(npm.cache, info.name, info.version, 'package.tgz'); +return unpack.unpackTgz(package_tgz, pluginDir); +}) +.fail(function(error) { +events.emit('log', 'Fetching from npm registry failed'); +return Q.reject(error); +}); +} + + +/** + * @method fetchPlugReg + * @param {Array} with one element - the plugin id or "id@version" + * @return {Promise.} Promised path to fetched package. + */ +function fetchPlugReg(plugin, client) { +return initSettings() +.then(function (settings) { +return Q.nfcall(npm.load) +// configure npm here instead of passing parameters to npm.load due to CB-7670 +.then(function () { +for (var prop in settings){ +npm.config.set(prop, settings[prop]); +} +}); +}) +.then(function() { +events.emit('log', 'Fetching plugin "' + plugin + '" via plugin registry'); +return Q.ninvoke(npm.commands, 'cache', ['add', plugin]); +}) +.then(function(info) { +var cl = (client === 'plugman' ? 'plugman' : 'cordova-cli'); +bumpCounter(info, cl); +var pluginDir = path.resolve(npm.cache, info.name, info.version, 'package'); +// Unpack the plugin that was added to the cache (CB-8154) +var package_tgz = path.resolve(npm.cache, info.name, info.version, 'package.tgz'); +return unpack.unpackTgz(package_tgz, pluginDir); +}) +.fail(function(error) { +events.emit('log', 'Fetching from cordova plugin registry failed'); +return Q.reject(error); +}); +} + +/** + * @method checkPluginID + * @param {Array} with one element - the plugin id or "id@version" + * @return {Promise.} Promised path to fetched package. + */ +function checkPluginID(plugin) { +//if plugin id is not reverse domain name style, skip CPR and fetch from npm + +//Create regex to for digits, words and dashes and three dots in plugin ids which excludes @VERSION. +var re = /([\w-]*\.[\w-]*\.[\w-]*\.[\w-]*[^@])/; +var pluginID = plugin.match(re); +//If pluginID equals null, plugin is not reverse domain name style +if(pluginID === null) { +events.emit('verbose', 'Skipping CPR'); +//Q.reject will send us straight to the fail method which is where fetchNPM gets called. +return Q.reject(); +} else { +//Reverse domain name style plugin ID +//Check if a mapping exists for the pluginID +//if it does, warn the users to use package-name +var packageName = pluginMapper[pluginID[0]]; +if(packageName) { +events.emit('log', 'WARNING: ' + plugin + ' has been renamed to ' + +packageName + ' and moved to npm. Please use `cordova plugin add ' + +packageName + '` next time.'); --- End diff -- fwiw, i agree w/ the suggestion. > Setup fetching from npm as fallback > --- > > Key: CB-8551 >
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345983#comment-14345983 ] ASF GitHub Bot commented on CB-8551: Github user stevengill commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25738089 --- Diff: cordova-lib/src/plugman/registry/registry.js --- @@ -236,15 +231,22 @@ function initSettings() { module.exports.settings = rc('plugman', { cache: plugmanCacheDir, -registry: 'http://registry.cordova.io', +registry: registryURL, logstream: fs.createWriteStream(path.resolve(plugmanConfigDir, 'plugman.log')), userconfig: path.resolve(plugmanConfigDir, 'config'), 'cache-min': oneDay }); + +// if npm is true, use npm registry. +// ~/.plugman/config overides the above config if it exists. +// Need to reset the registry value in settings +if(npm) { +settings.registry = 'http://registry.npmjs.org'; --- End diff -- Fair enough. > Setup fetching from npm as fallback > --- > > Key: CB-8551 > URL: https://issues.apache.org/jira/browse/CB-8551 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Steve Gill >Assignee: Steve Gill > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345964#comment-14345964 ] ASF GitHub Bot commented on CB-8551: Github user jsoref commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25737449 --- Diff: cordova-lib/src/plugman/registry/registry.js --- @@ -236,15 +231,22 @@ function initSettings() { module.exports.settings = rc('plugman', { cache: plugmanCacheDir, -registry: 'http://registry.cordova.io', +registry: registryURL, logstream: fs.createWriteStream(path.resolve(plugmanConfigDir, 'plugman.log')), userconfig: path.resolve(plugmanConfigDir, 'config'), 'cache-min': oneDay }); + +// if npm is true, use npm registry. +// ~/.plugman/config overides the above config if it exists. +// Need to reset the registry value in settings +if(npm) { +settings.registry = 'http://registry.npmjs.org'; --- End diff -- fwiw, I'm +1 for not duplicating strings. I tend to lose a lot of time having to adjust things... > Setup fetching from npm as fallback > --- > > Key: CB-8551 > URL: https://issues.apache.org/jira/browse/CB-8551 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Steve Gill >Assignee: Steve Gill > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345959#comment-14345959 ] ASF GitHub Bot commented on CB-8551: Github user TimBarham commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25737174 --- Diff: cordova-lib/src/plugman/registry/registry.js --- @@ -236,15 +231,22 @@ function initSettings() { module.exports.settings = rc('plugman', { cache: plugmanCacheDir, -registry: 'http://registry.cordova.io', +registry: registryURL, logstream: fs.createWriteStream(path.resolve(plugmanConfigDir, 'plugman.log')), userconfig: path.resolve(plugmanConfigDir, 'config'), 'cache-min': oneDay }); + +// if npm is true, use npm registry. +// ~/.plugman/config overides the above config if it exists. +// Need to reset the registry value in settings +if(npm) { +settings.registry = 'http://registry.npmjs.org'; --- End diff -- It's just the general principle of avoiding duplicating strings (makes maintenance easier, for a start). > Setup fetching from npm as fallback > --- > > Key: CB-8551 > URL: https://issues.apache.org/jira/browse/CB-8551 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Steve Gill >Assignee: Steve Gill > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8597) Change cordova-lib create.js to import config.xml of app hello world by using the --copy-from code path
[ https://issues.apache.org/jira/browse/CB-8597?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345921#comment-14345921 ] Michal Mocny commented on CB-8597: -- And now also: * https://github.com/Apache/cordova-lib/tree/copy-from-app-hello-world > Change cordova-lib create.js to import config.xml of app hello world by using > the --copy-from code path > --- > > Key: CB-8597 > URL: https://issues.apache.org/jira/browse/CB-8597 > Project: Apache Cordova > Issue Type: Improvement > Components: App Hello World, CLI, CordovaLib >Reporter: Michal Mocny >Assignee: Michal Mocny > > Right now, when creating a new project with CLI, we will lazy_load the hello > world application to load its www/. We will not, however, load its > config.xml -- we always use the cordova-lib default. > This is needlessly complex (aka, special code paths, requires lazy_loading > when everything else has moved to npm), given that create already supports > `--copy-from` which imports both www/ and config.xml (and hooks and merges). > I think we should: > - Add a config.xml to app hello world. > - Remove many of the special cases in cordova-lib create(), and always just > expect a path to import, aka always use the --copy-from/--link-to logic. > - Change cordova-cli to call create() with a path to app hello world if > --copy-from/--link-to are not in cli args. > - Publish app hello world to npm and add it to cordova-cli dependencies. > Note: some users use --copy-from directly to a www/, which has no config.xml. > We should still support that use case, either by leaving the cordova-lib > config.xml template, or better yet, by using the app hello world config.xml > for this use case. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8286) cordova create --link-to should not result in a .cordova/config.json file
[ https://issues.apache.org/jira/browse/CB-8286?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345917#comment-14345917 ] Michal Mocny commented on CB-8286: -- Sorry, I pasted the wrong CB-id in that commit. Its unrelated. > cordova create --link-to should not result in a .cordova/config.json file > - > > Key: CB-8286 > URL: https://issues.apache.org/jira/browse/CB-8286 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Andrew Grieve >Assignee: Andrew Grieve >Priority: Minor > > {code} > cordova create foo --link-to=bar > ls -a foo > {code} > shows a .cordova/config.json being created with no useful info in it. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8286) cordova create --link-to should not result in a .cordova/config.json file
[ https://issues.apache.org/jira/browse/CB-8286?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345913#comment-14345913 ] ASF subversion and git services commented on CB-8286: - Commit e70432f2d3ad37506d1824a61d066887dbaf68b7 in cordova-lib's branch refs/heads/copy-from-app-hello-world from [~mmocny] [ https://git-wip-us.apache.org/repos/asf?p=cordova-lib.git;h=e70432f ] [CB-8286] Update create.js to always require passing in a www > cordova create --link-to should not result in a .cordova/config.json file > - > > Key: CB-8286 > URL: https://issues.apache.org/jira/browse/CB-8286 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Andrew Grieve >Assignee: Andrew Grieve >Priority: Minor > > {code} > cordova create foo --link-to=bar > ls -a foo > {code} > shows a .cordova/config.json being created with no useful info in it. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8601) ios camera unit tests broken
[ https://issues.apache.org/jira/browse/CB-8601?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345877#comment-14345877 ] Shazron Abdullah commented on CB-8601: -- (3 failing tests are expected to fail -- due to the sizing). This is more of a compile error. > ios camera unit tests broken > > > Key: CB-8601 > URL: https://issues.apache.org/jira/browse/CB-8601 > Project: Apache Cordova > Issue Type: Bug > Components: iOS >Reporter: Shazron Abdullah > > Broken due to change in CB-8351 -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Created] (CB-8601) ios camera unit tests broken
Shazron Abdullah created CB-8601: Summary: ios camera unit tests broken Key: CB-8601 URL: https://issues.apache.org/jira/browse/CB-8601 Project: Apache Cordova Issue Type: Bug Components: iOS Reporter: Shazron Abdullah Broken due to change in CB-8351 -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8599) camera crashes when opened
[ https://issues.apache.org/jira/browse/CB-8599?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345856#comment-14345856 ] ASF subversion and git services commented on CB-8599: - Commit bca73e6ee95c005dea59f6f05ff0b3f50917de33 in cordova-plugin-camera's branch refs/heads/master from [~muratsu] [ https://git-wip-us.apache.org/repos/asf?p=cordova-plugin-camera.git;h=bca73e6 ] CB-8599 fix threading issue with cameraPicker (fixes #72) Signed-off-by: Shazron Abdullah > camera crashes when opened > -- > > Key: CB-8599 > URL: https://issues.apache.org/jira/browse/CB-8599 > Project: Apache Cordova > Issue Type: Bug > Components: iOS, Plugin Camera >Affects Versions: 3.5.0, 3.8.0 > Environment: cordova-lib@4.3.1-dev > ios@3.8.0 > camera@0.3.5 > iPhone 5s @ 8.1.3 (12B466) >Reporter: Murat Sutunc >Assignee: Shazron Abdullah > > -Create a new project. > -Add ios platform and camera > -Replace www/index.html with: > https://gist.github.com/anonymous/09d4cd8134afe8a53d50 > -Deploy the app to iphone5s > -It will crash with the following messages on console: > https://gist.github.com/muratsu/daf959cad4905cbb5b3e > When debugged in xcode I've found the following. In CDVViewController.m > (shouldAutorotateToInterfaceOrientation) calling the eval is throwing: > {code} > NSString* jsCall = [NSString stringWithFormat: > @"window.shouldRotateToOrientation && > window.shouldRotateToOrientation(%ld);" > , (long)[self mapIosOrientationToJsOrientation:interfaceOrientation]]; > NSString* res = [webView stringByEvaluatingJavaScriptFromString:jsCall]; > {code} > On a separate thread we have CDVCamera.m (takePicture): > throwing a EXC_BAD_ACCESS at > {code} > weakSelf.viewController presentViewController:cameraPicker animated:YES > completion:^ > {code} > The bad access I believe is due to the fact that this thread runs in the > background but tries to do UI manipulation. > I've tried the same cordova app with camera r0.3.4 and it worked fine on > iphone 5s. Looks like we've broken this with r0.3.5 refactoring. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8599) camera crashes when opened
[ https://issues.apache.org/jira/browse/CB-8599?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345857#comment-14345857 ] ASF GitHub Bot commented on CB-8599: Github user asfgit closed the pull request at: https://github.com/apache/cordova-plugin-camera/pull/72 > camera crashes when opened > -- > > Key: CB-8599 > URL: https://issues.apache.org/jira/browse/CB-8599 > Project: Apache Cordova > Issue Type: Bug > Components: iOS, Plugin Camera >Affects Versions: 3.5.0, 3.8.0 > Environment: cordova-lib@4.3.1-dev > ios@3.8.0 > camera@0.3.5 > iPhone 5s @ 8.1.3 (12B466) >Reporter: Murat Sutunc >Assignee: Shazron Abdullah > > -Create a new project. > -Add ios platform and camera > -Replace www/index.html with: > https://gist.github.com/anonymous/09d4cd8134afe8a53d50 > -Deploy the app to iphone5s > -It will crash with the following messages on console: > https://gist.github.com/muratsu/daf959cad4905cbb5b3e > When debugged in xcode I've found the following. In CDVViewController.m > (shouldAutorotateToInterfaceOrientation) calling the eval is throwing: > {code} > NSString* jsCall = [NSString stringWithFormat: > @"window.shouldRotateToOrientation && > window.shouldRotateToOrientation(%ld);" > , (long)[self mapIosOrientationToJsOrientation:interfaceOrientation]]; > NSString* res = [webView stringByEvaluatingJavaScriptFromString:jsCall]; > {code} > On a separate thread we have CDVCamera.m (takePicture): > throwing a EXC_BAD_ACCESS at > {code} > weakSelf.viewController presentViewController:cameraPicker animated:YES > completion:^ > {code} > The bad access I believe is due to the fact that this thread runs in the > background but tries to do UI manipulation. > I've tried the same cordova app with camera r0.3.4 and it worked fine on > iphone 5s. Looks like we've broken this with r0.3.5 refactoring. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Resolved] (CB-8599) camera crashes when opened
[ https://issues.apache.org/jira/browse/CB-8599?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Shazron Abdullah resolved CB-8599. -- Resolution: Fixed Assignee: Murat Sutunc (was: Shazron Abdullah) > camera crashes when opened > -- > > Key: CB-8599 > URL: https://issues.apache.org/jira/browse/CB-8599 > Project: Apache Cordova > Issue Type: Bug > Components: iOS, Plugin Camera >Affects Versions: 3.5.0, 3.8.0 > Environment: cordova-lib@4.3.1-dev > ios@3.8.0 > camera@0.3.5 > iPhone 5s @ 8.1.3 (12B466) >Reporter: Murat Sutunc >Assignee: Murat Sutunc > > -Create a new project. > -Add ios platform and camera > -Replace www/index.html with: > https://gist.github.com/anonymous/09d4cd8134afe8a53d50 > -Deploy the app to iphone5s > -It will crash with the following messages on console: > https://gist.github.com/muratsu/daf959cad4905cbb5b3e > When debugged in xcode I've found the following. In CDVViewController.m > (shouldAutorotateToInterfaceOrientation) calling the eval is throwing: > {code} > NSString* jsCall = [NSString stringWithFormat: > @"window.shouldRotateToOrientation && > window.shouldRotateToOrientation(%ld);" > , (long)[self mapIosOrientationToJsOrientation:interfaceOrientation]]; > NSString* res = [webView stringByEvaluatingJavaScriptFromString:jsCall]; > {code} > On a separate thread we have CDVCamera.m (takePicture): > throwing a EXC_BAD_ACCESS at > {code} > weakSelf.viewController presentViewController:cameraPicker animated:YES > completion:^ > {code} > The bad access I believe is due to the fact that this thread runs in the > background but tries to do UI manipulation. > I've tried the same cordova app with camera r0.3.4 and it worked fine on > iphone 5s. Looks like we've broken this with r0.3.5 refactoring. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Updated] (CB-8600) Translations for March
[ https://issues.apache.org/jira/browse/CB-8600?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Victor Adrian Sosa Herrera updated CB-8600: --- Summary: Translations for March (was: CLONE - Translations for March) > Translations for March > -- > > Key: CB-8600 > URL: https://issues.apache.org/jira/browse/CB-8600 > Project: Apache Cordova > Issue Type: Improvement > Components: Translation >Reporter: Victor Adrian Sosa Herrera >Assignee: Victor Adrian Sosa Herrera >Priority: Minor > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Created] (CB-8600) CLONE - Translations for March
Victor Adrian Sosa Herrera created CB-8600: -- Summary: CLONE - Translations for March Key: CB-8600 URL: https://issues.apache.org/jira/browse/CB-8600 Project: Apache Cordova Issue Type: Improvement Components: Translation Reporter: Victor Adrian Sosa Herrera Assignee: Victor Adrian Sosa Herrera Priority: Minor -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Closed] (CB-8438) Translations for February
[ https://issues.apache.org/jira/browse/CB-8438?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Victor Adrian Sosa Herrera closed CB-8438. -- Resolution: Fixed > Translations for February > - > > Key: CB-8438 > URL: https://issues.apache.org/jira/browse/CB-8438 > Project: Apache Cordova > Issue Type: Improvement > Components: Translation >Reporter: Victor Adrian Sosa Herrera >Assignee: Victor Adrian Sosa Herrera >Priority: Minor > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8599) camera crashes when opened
[ https://issues.apache.org/jira/browse/CB-8599?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345740#comment-14345740 ] ASF GitHub Bot commented on CB-8599: GitHub user muratsu opened a pull request: https://github.com/apache/cordova-plugin-camera/pull/72 CB-8599 fix threading issue with cameraPicker Fixes the issue where cameraPicker is trying to modify the main thread UI from a background thread. You can merge this pull request into a Git repository by running: $ git pull https://github.com/MSOpenTech/cordova-plugin-camera CB-8599 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/cordova-plugin-camera/pull/72.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 #72 commit 3e7e40565892ea779febf9f1f8573a3b308dde1a Author: Murat Sutunc Date: 2015-03-03T21:11:01Z CB-8599 fix threading issue with cameraPicker > camera crashes when opened > -- > > Key: CB-8599 > URL: https://issues.apache.org/jira/browse/CB-8599 > Project: Apache Cordova > Issue Type: Bug > Components: iOS, Plugin Camera >Affects Versions: 3.5.0, 3.8.0 > Environment: cordova-lib@4.3.1-dev > ios@3.8.0 > camera@0.3.5 > iPhone 5s @ 8.1.3 (12B466) >Reporter: Murat Sutunc >Assignee: Shazron Abdullah > > -Create a new project. > -Add ios platform and camera > -Replace www/index.html with: > https://gist.github.com/anonymous/09d4cd8134afe8a53d50 > -Deploy the app to iphone5s > -It will crash with the following messages on console: > https://gist.github.com/muratsu/daf959cad4905cbb5b3e > When debugged in xcode I've found the following. In CDVViewController.m > (shouldAutorotateToInterfaceOrientation) calling the eval is throwing: > {code} > NSString* jsCall = [NSString stringWithFormat: > @"window.shouldRotateToOrientation && > window.shouldRotateToOrientation(%ld);" > , (long)[self mapIosOrientationToJsOrientation:interfaceOrientation]]; > NSString* res = [webView stringByEvaluatingJavaScriptFromString:jsCall]; > {code} > On a separate thread we have CDVCamera.m (takePicture): > throwing a EXC_BAD_ACCESS at > {code} > weakSelf.viewController presentViewController:cameraPicker animated:YES > completion:^ > {code} > The bad access I believe is due to the fact that this thread runs in the > background but tries to do UI manipulation. > I've tried the same cordova app with camera r0.3.4 and it worked fine on > iphone 5s. Looks like we've broken this with r0.3.5 refactoring. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8385) Ensure plugin-test-framework runs tests only once
[ https://issues.apache.org/jira/browse/CB-8385?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345731#comment-14345731 ] ASF GitHub Bot commented on CB-8385: Github user asfgit closed the pull request at: https://github.com/apache/cordova-plugin-test-framework/pull/10 > Ensure plugin-test-framework runs tests only once > - > > Key: CB-8385 > URL: https://issues.apache.org/jira/browse/CB-8385 > Project: Apache Cordova > Issue Type: Bug > Components: Plugin TestFramework >Reporter: Sergey Grebnov > Labels: cordova-plugin-test-framework > > I see this on Windows. This is happening when test-framework checks whether > Medic config exists and calls callback twice when there is no config > available (default case when you use test framework locally): > 1. Inside onload > 2. Inside exception catch block > {code} > exports.load = function (callback) { > var xhr = new XMLHttpRequest(); > xhr.open("GET", "../medic.json", true); > xhr.onload = function() { > if (xhr.readyState == 4 && xhr.status == 200) { > var cfg = JSON.parse(xhr.responseText); > exports.logurl = cfg.logurl; > exports.enabled = true; > console.log('Loaded Medic Config: logurl=' + exports.logurl); > } > callback(); > } > xhr.onerror = function() { >callback(); > } > try { > xhr.send(null); > } > catch(ex) { > // some platforms throw on a file not found > console.log('Did not find medic config file'); > setTimeout(function(){ > callback(); > },0); > } > } > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8599) camera crashes when opened
[ https://issues.apache.org/jira/browse/CB-8599?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345722#comment-14345722 ] Shazron Abdullah commented on CB-8599: -- {code} dispatch_async(dispatch_get_main_queue(), ^{ // presentViewController here }); {code} > camera crashes when opened > -- > > Key: CB-8599 > URL: https://issues.apache.org/jira/browse/CB-8599 > Project: Apache Cordova > Issue Type: Bug > Components: iOS, Plugin Camera >Affects Versions: 3.5.0, 3.8.0 > Environment: cordova-lib@4.3.1-dev > ios@3.8.0 > camera@0.3.5 > iPhone 5s @ 8.1.3 (12B466) >Reporter: Murat Sutunc >Assignee: Shazron Abdullah > > -Create a new project. > -Add ios platform and camera > -Replace www/index.html with: > https://gist.github.com/anonymous/09d4cd8134afe8a53d50 > -Deploy the app to iphone5s > -It will crash with the following messages on console: > https://gist.github.com/muratsu/daf959cad4905cbb5b3e > When debugged in xcode I've found the following. In CDVViewController.m > (shouldAutorotateToInterfaceOrientation) calling the eval is throwing: > {code} > NSString* jsCall = [NSString stringWithFormat: > @"window.shouldRotateToOrientation && > window.shouldRotateToOrientation(%ld);" > , (long)[self mapIosOrientationToJsOrientation:interfaceOrientation]]; > NSString* res = [webView stringByEvaluatingJavaScriptFromString:jsCall]; > {code} > On a separate thread we have CDVCamera.m (takePicture): > throwing a EXC_BAD_ACCESS at > {code} > weakSelf.viewController presentViewController:cameraPicker animated:YES > completion:^ > {code} > The bad access I believe is due to the fact that this thread runs in the > background but tries to do UI manipulation. > I've tried the same cordova app with camera r0.3.4 and it worked fine on > iphone 5s. Looks like we've broken this with r0.3.5 refactoring. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8599) camera crashes when opened
[ https://issues.apache.org/jira/browse/CB-8599?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345717#comment-14345717 ] Shazron Abdullah commented on CB-8599: -- Fix is that whole call should be dispatched in the main thread: https://github.com/apache/cordova-plugin-camera/blob/80b00483846ce30c9b895b106a69767a102fc0f1/src/ios/CDVCamera.m#L170 > camera crashes when opened > -- > > Key: CB-8599 > URL: https://issues.apache.org/jira/browse/CB-8599 > Project: Apache Cordova > Issue Type: Bug > Components: iOS, Plugin Camera >Affects Versions: 3.5.0, 3.8.0 > Environment: cordova-lib@4.3.1-dev > ios@3.8.0 > camera@0.3.5 > iPhone 5s @ 8.1.3 (12B466) >Reporter: Murat Sutunc >Assignee: Shazron Abdullah > > -Create a new project. > -Add ios platform and camera > -Replace www/index.html with: > https://gist.github.com/anonymous/09d4cd8134afe8a53d50 > -Deploy the app to iphone5s > -It will crash with the following messages on console: > https://gist.github.com/muratsu/daf959cad4905cbb5b3e > When debugged in xcode I've found the following. In CDVViewController.m > (shouldAutorotateToInterfaceOrientation) calling the eval is throwing: > {code} > NSString* jsCall = [NSString stringWithFormat: > @"window.shouldRotateToOrientation && > window.shouldRotateToOrientation(%ld);" > , (long)[self mapIosOrientationToJsOrientation:interfaceOrientation]]; > NSString* res = [webView stringByEvaluatingJavaScriptFromString:jsCall]; > {code} > On a separate thread we have CDVCamera.m (takePicture): > throwing a EXC_BAD_ACCESS at > {code} > weakSelf.viewController presentViewController:cameraPicker animated:YES > completion:^ > {code} > The bad access I believe is due to the fact that this thread runs in the > background but tries to do UI manipulation. > I've tried the same cordova app with camera r0.3.4 and it worked fine on > iphone 5s. Looks like we've broken this with r0.3.5 refactoring. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345712#comment-14345712 ] ASF GitHub Bot commented on CB-8551: Github user agrieve commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25725351 --- Diff: cordova-lib/src/plugman/registry/registry.js --- @@ -236,15 +231,22 @@ function initSettings() { module.exports.settings = rc('plugman', { cache: plugmanCacheDir, -registry: 'http://registry.cordova.io', +registry: registryURL, logstream: fs.createWriteStream(path.resolve(plugmanConfigDir, 'plugman.log')), userconfig: path.resolve(plugmanConfigDir, 'config'), 'cache-min': oneDay }); + +// if npm is true, use npm registry. +// ~/.plugman/config overides the above config if it exists. --- End diff -- I think it's the same that Tim points out. Normally users don't have a registry override in their plugman/config, but when they do, we should use it. Probably the logic should actually be: if (custom registry) { use it only } else { try CPR and fallback to NPM } It's pretty fringe though, so maybe just add a TODO to support custom registries again? > Setup fetching from npm as fallback > --- > > Key: CB-8551 > URL: https://issues.apache.org/jira/browse/CB-8551 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Steve Gill >Assignee: Steve Gill > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Updated] (CB-8599) camera crashes when opened
[ https://issues.apache.org/jira/browse/CB-8599?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Shazron Abdullah updated CB-8599: - Description: -Create a new project. -Add ios platform and camera -Replace www/index.html with: https://gist.github.com/anonymous/09d4cd8134afe8a53d50 -Deploy the app to iphone5s -It will crash with the following messages on console: https://gist.github.com/muratsu/daf959cad4905cbb5b3e When debugged in xcode I've found the following. In CDVViewController.m (shouldAutorotateToInterfaceOrientation) calling the eval is throwing: {code} NSString* jsCall = [NSString stringWithFormat: @"window.shouldRotateToOrientation && window.shouldRotateToOrientation(%ld);" , (long)[self mapIosOrientationToJsOrientation:interfaceOrientation]]; NSString* res = [webView stringByEvaluatingJavaScriptFromString:jsCall]; {code} On a separate thread we have CDVCamera.m (takePicture): throwing a EXC_BAD_ACCESS at {code} weakSelf.viewController presentViewController:cameraPicker animated:YES completion:^ {code} The bad access I believe is due to the fact that this thread runs in the background but tries to do UI manipulation. I've tried the same cordova app with camera r0.3.4 and it worked fine on iphone 5s. Looks like we've broken this with r0.3.5 refactoring. was: -Create a new project. -Add ios platform and camera -Replace www/index.html with: https://gist.github.com/anonymous/09d4cd8134afe8a53d50 -Deploy the app to iphone5s -It will crash with the following messages on console: https://gist.github.com/muratsu/daf959cad4905cbb5b3e When debugged in xcode I've found the following. In CDVViewController.m (shouldAutorotateToInterfaceOrientation) calling the eval is throwing: NSString* jsCall = [NSString stringWithFormat: @"window.shouldRotateToOrientation && window.shouldRotateToOrientation(%ld);" , (long)[self mapIosOrientationToJsOrientation:interfaceOrientation]]; NSString* res = [webView stringByEvaluatingJavaScriptFromString:jsCall]; On a separate thread we have CDVCamera.m (takePicture): throwing a EXC_BAD_ACCESS at weakSelf.viewController presentViewController:cameraPicker animated:YES completion:^ The bad access I believe is due to the fact that this thread runs in the background but tries to do UI manipulation. I've tried the same cordova app with camera r0.3.4 and it worked fine on iphone 5s. Looks like we've broken this with r0.3.5 refactoring. > camera crashes when opened > -- > > Key: CB-8599 > URL: https://issues.apache.org/jira/browse/CB-8599 > Project: Apache Cordova > Issue Type: Bug > Components: iOS, Plugin Camera >Affects Versions: 3.5.0, 3.8.0 > Environment: cordova-lib@4.3.1-dev > ios@3.8.0 > camera@0.3.5 > iPhone 5s @ 8.1.3 (12B466) >Reporter: Murat Sutunc >Assignee: Shazron Abdullah > > -Create a new project. > -Add ios platform and camera > -Replace www/index.html with: > https://gist.github.com/anonymous/09d4cd8134afe8a53d50 > -Deploy the app to iphone5s > -It will crash with the following messages on console: > https://gist.github.com/muratsu/daf959cad4905cbb5b3e > When debugged in xcode I've found the following. In CDVViewController.m > (shouldAutorotateToInterfaceOrientation) calling the eval is throwing: > {code} > NSString* jsCall = [NSString stringWithFormat: > @"window.shouldRotateToOrientation && > window.shouldRotateToOrientation(%ld);" > , (long)[self mapIosOrientationToJsOrientation:interfaceOrientation]]; > NSString* res = [webView stringByEvaluatingJavaScriptFromString:jsCall]; > {code} > On a separate thread we have CDVCamera.m (takePicture): > throwing a EXC_BAD_ACCESS at > {code} > weakSelf.viewController presentViewController:cameraPicker animated:YES > completion:^ > {code} > The bad access I believe is due to the fact that this thread runs in the > background but tries to do UI manipulation. > I've tried the same cordova app with camera r0.3.4 and it worked fine on > iphone 5s. Looks like we've broken this with r0.3.5 refactoring. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Created] (CB-8599) camera crashes when opened
Murat Sutunc created CB-8599: Summary: camera crashes when opened Key: CB-8599 URL: https://issues.apache.org/jira/browse/CB-8599 Project: Apache Cordova Issue Type: Bug Components: iOS, Plugin Camera Affects Versions: 3.5.0, 3.8.0 Environment: cordova-lib@4.3.1-dev ios@3.8.0 camera@0.3.5 iPhone 5s @ 8.1.3 (12B466) Reporter: Murat Sutunc Assignee: Shazron Abdullah -Create a new project. -Add ios platform and camera -Replace www/index.html with: https://gist.github.com/anonymous/09d4cd8134afe8a53d50 -Deploy the app to iphone5s -It will crash with the following messages on console: https://gist.github.com/muratsu/daf959cad4905cbb5b3e When debugged in xcode I've found the following. In CDVViewController.m (shouldAutorotateToInterfaceOrientation) calling the eval is throwing: NSString* jsCall = [NSString stringWithFormat: @"window.shouldRotateToOrientation && window.shouldRotateToOrientation(%ld);" , (long)[self mapIosOrientationToJsOrientation:interfaceOrientation]]; NSString* res = [webView stringByEvaluatingJavaScriptFromString:jsCall]; On a separate thread we have CDVCamera.m (takePicture): throwing a EXC_BAD_ACCESS at weakSelf.viewController presentViewController:cameraPicker animated:YES completion:^ The bad access I believe is due to the fact that this thread runs in the background but tries to do UI manipulation. I've tried the same cordova app with camera r0.3.4 and it worked fine on iphone 5s. Looks like we've broken this with r0.3.5 refactoring. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345661#comment-14345661 ] ASF GitHub Bot commented on CB-8551: Github user mmocny commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25722381 --- Diff: cordova-lib/src/plugman/registry/registry.js --- @@ -322,3 +324,102 @@ function makeRequest (method, where, what, cb_) { return req; } + +/** + * @method fetchNPM + * @param {Array} with one element - the plugin id or "id@version" + * @return {Promise.} Promised path to fetched package. + */ +function fetchNPM(plugin, client) { +return initSettings(true) +.then(function (settings) { +return Q.nfcall(npm.load) +// configure npm here instead of passing parameters to npm.load due to CB-7670 +.then(function () { +for (var prop in settings){ +npm.config.set(prop, settings[prop]); +} +}); +}) +.then(function() { +events.emit('log', 'Fetching plugin "' + plugin + '" via npm'); +return Q.ninvoke(npm.commands, 'cache', ['add', plugin]); +}) +.then(function(info) { +var cl = (client === 'plugman' ? 'plugman' : 'cordova-cli'); +bumpCounter(info, cl); +var pluginDir = path.resolve(npm.cache, info.name, info.version, 'package'); +// Unpack the plugin that was added to the cache (CB-8154) +var package_tgz = path.resolve(npm.cache, info.name, info.version, 'package.tgz'); +return unpack.unpackTgz(package_tgz, pluginDir); +}) +.fail(function(error) { +events.emit('log', 'Fetching from npm registry failed'); +return Q.reject(error); +}); +} + + +/** + * @method fetchPlugReg + * @param {Array} with one element - the plugin id or "id@version" + * @return {Promise.} Promised path to fetched package. + */ +function fetchPlugReg(plugin, client) { +return initSettings() +.then(function (settings) { +return Q.nfcall(npm.load) +// configure npm here instead of passing parameters to npm.load due to CB-7670 +.then(function () { +for (var prop in settings){ +npm.config.set(prop, settings[prop]); +} +}); +}) +.then(function() { +events.emit('log', 'Fetching plugin "' + plugin + '" via plugin registry'); +return Q.ninvoke(npm.commands, 'cache', ['add', plugin]); +}) +.then(function(info) { +var cl = (client === 'plugman' ? 'plugman' : 'cordova-cli'); +bumpCounter(info, cl); +var pluginDir = path.resolve(npm.cache, info.name, info.version, 'package'); +// Unpack the plugin that was added to the cache (CB-8154) +var package_tgz = path.resolve(npm.cache, info.name, info.version, 'package.tgz'); +return unpack.unpackTgz(package_tgz, pluginDir); +}) +.fail(function(error) { +events.emit('log', 'Fetching from cordova plugin registry failed'); +return Q.reject(error); +}); +} + +/** + * @method checkPluginID + * @param {Array} with one element - the plugin id or "id@version" + * @return {Promise.} Promised path to fetched package. + */ +function checkPluginID(plugin) { +//if plugin id is not reverse domain name style, skip CPR and fetch from npm + +//Create regex to for digits, words and dashes and three dots in plugin ids which excludes @VERSION. +var re = /([\w-]*\.[\w-]*\.[\w-]*\.[\w-]*[^@])/; +var pluginID = plugin.match(re); +//If pluginID equals null, plugin is not reverse domain name style +if(pluginID === null) { +events.emit('verbose', 'Skipping CPR'); +//Q.reject will send us straight to the fail method which is where fetchNPM gets called. +return Q.reject(); +} else { +//Reverse domain name style plugin ID +//Check if a mapping exists for the pluginID +//if it does, warn the users to use package-name +var packageName = pluginMapper[pluginID[0]]; +if(packageName) { +events.emit('log', 'WARNING: ' + plugin + ' has been renamed to ' + +packageName + ' and moved to npm. Please use `cordova plugin add ' + +packageName + '` next time.'); --- End diff -- Okay, thanks for clarification. I guess I agree with the choices, but think we could change the messaging to be more clear. Perhaps something lik
[jira] [Commented] (CB-8597) Change cordova-lib create.js to import config.xml of app hello world by using the --copy-from code path
[ https://issues.apache.org/jira/browse/CB-8597?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345647#comment-14345647 ] Michal Mocny commented on CB-8597: -- Pushed first attempt to remote branches: - https://github.com/Apache/cordova-cli/tree/copy-from-app-hello-world - https://github.com/Apache/cordova-app-hello-world/tree/copy-from-app-hello-world > Change cordova-lib create.js to import config.xml of app hello world by using > the --copy-from code path > --- > > Key: CB-8597 > URL: https://issues.apache.org/jira/browse/CB-8597 > Project: Apache Cordova > Issue Type: Improvement > Components: App Hello World, CLI, CordovaLib >Reporter: Michal Mocny >Assignee: Michal Mocny > > Right now, when creating a new project with CLI, we will lazy_load the hello > world application to load its www/. We will not, however, load its > config.xml -- we always use the cordova-lib default. > This is needlessly complex (aka, special code paths, requires lazy_loading > when everything else has moved to npm), given that create already supports > `--copy-from` which imports both www/ and config.xml (and hooks and merges). > I think we should: > - Add a config.xml to app hello world. > - Remove many of the special cases in cordova-lib create(), and always just > expect a path to import, aka always use the --copy-from/--link-to logic. > - Change cordova-cli to call create() with a path to app hello world if > --copy-from/--link-to are not in cli args. > - Publish app hello world to npm and add it to cordova-cli dependencies. > Note: some users use --copy-from directly to a www/, which has no config.xml. > We should still support that use case, either by leaving the cordova-lib > config.xml template, or better yet, by using the app hello world config.xml > for this use case. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8597) Change cordova-lib create.js to import config.xml of app hello world by using the --copy-from code path
[ https://issues.apache.org/jira/browse/CB-8597?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345645#comment-14345645 ] ASF subversion and git services commented on CB-8597: - Commit d4eb5930b45838229f0a8944716018ba3c1b in cordova-app-hello-world's branch refs/heads/copy-from-app-hello-world from [~mmocny] [ https://git-wip-us.apache.org/repos/asf?p=cordova-app-hello-world.git;h=d4eb593 ] [CB-8597] First attempt at importing cordova-app-hello-world via npm dependency > Change cordova-lib create.js to import config.xml of app hello world by using > the --copy-from code path > --- > > Key: CB-8597 > URL: https://issues.apache.org/jira/browse/CB-8597 > Project: Apache Cordova > Issue Type: Improvement > Components: App Hello World, CLI, CordovaLib >Reporter: Michal Mocny >Assignee: Michal Mocny > > Right now, when creating a new project with CLI, we will lazy_load the hello > world application to load its www/. We will not, however, load its > config.xml -- we always use the cordova-lib default. > This is needlessly complex (aka, special code paths, requires lazy_loading > when everything else has moved to npm), given that create already supports > `--copy-from` which imports both www/ and config.xml (and hooks and merges). > I think we should: > - Add a config.xml to app hello world. > - Remove many of the special cases in cordova-lib create(), and always just > expect a path to import, aka always use the --copy-from/--link-to logic. > - Change cordova-cli to call create() with a path to app hello world if > --copy-from/--link-to are not in cli args. > - Publish app hello world to npm and add it to cordova-cli dependencies. > Note: some users use --copy-from directly to a www/, which has no config.xml. > We should still support that use case, either by leaving the cordova-lib > config.xml template, or better yet, by using the app hello world config.xml > for this use case. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8597) Change cordova-lib create.js to import config.xml of app hello world by using the --copy-from code path
[ https://issues.apache.org/jira/browse/CB-8597?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345639#comment-14345639 ] ASF subversion and git services commented on CB-8597: - Commit 4ed51ee6650e6ef80d8219139b893711b71a98e1 in cordova-cli's branch refs/heads/copy-from-app-hello-world from [~mmocny] [ https://git-wip-us.apache.org/repos/asf?p=cordova-cli.git;h=4ed51ee ] [CB-8597] First attempt at importing cordova-app-hello-world via npm dependency > Change cordova-lib create.js to import config.xml of app hello world by using > the --copy-from code path > --- > > Key: CB-8597 > URL: https://issues.apache.org/jira/browse/CB-8597 > Project: Apache Cordova > Issue Type: Improvement > Components: App Hello World, CLI, CordovaLib >Reporter: Michal Mocny >Assignee: Michal Mocny > > Right now, when creating a new project with CLI, we will lazy_load the hello > world application to load its www/. We will not, however, load its > config.xml -- we always use the cordova-lib default. > This is needlessly complex (aka, special code paths, requires lazy_loading > when everything else has moved to npm), given that create already supports > `--copy-from` which imports both www/ and config.xml (and hooks and merges). > I think we should: > - Add a config.xml to app hello world. > - Remove many of the special cases in cordova-lib create(), and always just > expect a path to import, aka always use the --copy-from/--link-to logic. > - Change cordova-cli to call create() with a path to app hello world if > --copy-from/--link-to are not in cli args. > - Publish app hello world to npm and add it to cordova-cli dependencies. > Note: some users use --copy-from directly to a www/, which has no config.xml. > We should still support that use case, either by leaving the cordova-lib > config.xml template, or better yet, by using the app hello world config.xml > for this use case. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345632#comment-14345632 ] ASF GitHub Bot commented on CB-8551: Github user stevengill commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25720721 --- Diff: cordova-lib/src/plugman/registry/registry.js --- @@ -218,10 +205,18 @@ module.exports = { /** * @method initSettings + * @param {Boolean} using npm registry * @return {Promise.} Promised settings. */ -function initSettings() { +function initSettings(npm) { var settings = module.exports.settings; +var registryURL = 'http://registry.cordova.io'; + +//if npm is true, use npm registry +if(npm) { +registryURL = 'http://registry.npmjs.org'; +} + --- End diff -- TBH, I prefer `if(npm) {...}` to `?`. I think it is just easier to read and leaves us open to add other changes if we realize we need to. If I am unaware of some performance boost or something, please let me know. > Setup fetching from npm as fallback > --- > > Key: CB-8551 > URL: https://issues.apache.org/jira/browse/CB-8551 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Steve Gill >Assignee: Steve Gill > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345627#comment-14345627 ] ASF GitHub Bot commented on CB-8551: Github user stevengill commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25720506 --- Diff: cordova-lib/src/plugman/registry/registry.js --- @@ -236,15 +231,22 @@ function initSettings() { module.exports.settings = rc('plugman', { cache: plugmanCacheDir, -registry: 'http://registry.cordova.io', +registry: registryURL, logstream: fs.createWriteStream(path.resolve(plugmanConfigDir, 'plugman.log')), userconfig: path.resolve(plugmanConfigDir, 'config'), 'cache-min': oneDay }); + +// if npm is true, use npm registry. +// ~/.plugman/config overides the above config if it exists. +// Need to reset the registry value in settings +if(npm) { +settings.registry = 'http://registry.npmjs.org'; --- End diff -- If `~/.plugman/config` exists, it doesn't matter what I passed in above. It gets overwritten by what's in that `config` file. That is why I have to do the check down here. I could move the string to a variable. Doesn't really add much though. > Setup fetching from npm as fallback > --- > > Key: CB-8551 > URL: https://issues.apache.org/jira/browse/CB-8551 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Steve Gill >Assignee: Steve Gill > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8597) Change cordova-lib create.js to import config.xml of app hello world by using the --copy-from code path
[ https://issues.apache.org/jira/browse/CB-8597?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345617#comment-14345617 ] Michal Mocny commented on CB-8597: -- Starting to test implementation. Seems we will also need to change the create script to override the imported config.xml's id/name if it was explicitly provided. > Change cordova-lib create.js to import config.xml of app hello world by using > the --copy-from code path > --- > > Key: CB-8597 > URL: https://issues.apache.org/jira/browse/CB-8597 > Project: Apache Cordova > Issue Type: Improvement > Components: App Hello World, CLI, CordovaLib >Reporter: Michal Mocny >Assignee: Michal Mocny > > Right now, when creating a new project with CLI, we will lazy_load the hello > world application to load its www/. We will not, however, load its > config.xml -- we always use the cordova-lib default. > This is needlessly complex (aka, special code paths, requires lazy_loading > when everything else has moved to npm), given that create already supports > `--copy-from` which imports both www/ and config.xml (and hooks and merges). > I think we should: > - Add a config.xml to app hello world. > - Remove many of the special cases in cordova-lib create(), and always just > expect a path to import, aka always use the --copy-from/--link-to logic. > - Change cordova-cli to call create() with a path to app hello world if > --copy-from/--link-to are not in cli args. > - Publish app hello world to npm and add it to cordova-cli dependencies. > Note: some users use --copy-from directly to a www/, which has no config.xml. > We should still support that use case, either by leaving the cordova-lib > config.xml template, or better yet, by using the app hello world config.xml > for this use case. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Created] (CB-8598) 'cordova plugin add --save' should overwrite existing plugin in config.xml if any exists
Omar Mefire created CB-8598: --- Summary: 'cordova plugin add --save' should overwrite existing plugin in config.xml if any exists Key: CB-8598 URL: https://issues.apache.org/jira/browse/CB-8598 Project: Apache Cordova Issue Type: Bug Components: CordovaLib Reporter: Omar Mefire Priority: Minor 'cordova plugin add --save' should overwrite existing plugin in config.xml if any exists. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345605#comment-14345605 ] ASF GitHub Bot commented on CB-8551: Github user stevengill commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25719212 --- Diff: cordova-lib/src/plugman/fetch.js --- @@ -147,6 +146,9 @@ function fetchPlugin(plugin_src, plugins_dir, options) { checkID(options.expected_id, result.pinfo); metadata.save_fetch_metadata(plugins_dir, result.pinfo.id, { source: result.fetchJsonSource }); return result.dest; +}) +.fail(function(error) { --- End diff -- I'm not 100% sure, but I think I needed to add this during one of my iterations. It very well could be no-op now. I will see if I can hit it and if it is needed. > Setup fetching from npm as fallback > --- > > Key: CB-8551 > URL: https://issues.apache.org/jira/browse/CB-8551 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Steve Gill >Assignee: Steve Gill > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345597#comment-14345597 ] ASF GitHub Bot commented on CB-8551: Github user stevengill commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25718971 --- Diff: cordova-lib/src/plugman/registry/registry.js --- @@ -236,15 +231,22 @@ function initSettings() { module.exports.settings = rc('plugman', { cache: plugmanCacheDir, -registry: 'http://registry.cordova.io', +registry: registryURL, logstream: fs.createWriteStream(path.resolve(plugmanConfigDir, 'plugman.log')), userconfig: path.resolve(plugmanConfigDir, 'config'), 'cache-min': oneDay }); + +// if npm is true, use npm registry. +// ~/.plugman/config overides the above config if it exists. --- End diff -- I think it is by design. I don't know the reason though. As far as I can tell, `~/.plugman/config` is used by `plugman publish`. We probably don't actually want to change the registry value in the config itself. What do you mean by wouldn't you want to be able to still set this? > Setup fetching from npm as fallback > --- > > Key: CB-8551 > URL: https://issues.apache.org/jira/browse/CB-8551 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Steve Gill >Assignee: Steve Gill > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345598#comment-14345598 ] ASF GitHub Bot commented on CB-8551: Github user stevengill commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25719020 --- Diff: cordova-lib/src/plugman/registry/registry.js --- @@ -218,10 +205,18 @@ module.exports = { /** * @method initSettings + * @param {Boolean} using npm registry * @return {Promise.} Promised settings. */ -function initSettings() { +function initSettings(npm) { --- End diff -- Good call > Setup fetching from npm as fallback > --- > > Key: CB-8551 > URL: https://issues.apache.org/jira/browse/CB-8551 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Steve Gill >Assignee: Steve Gill > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345587#comment-14345587 ] ASF GitHub Bot commented on CB-8551: Github user stevengill commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25718379 --- Diff: cordova-lib/src/plugman/registry/registry.js --- @@ -322,3 +324,102 @@ function makeRequest (method, where, what, cb_) { return req; } + +/** + * @method fetchNPM + * @param {Array} with one element - the plugin id or "id@version" + * @return {Promise.} Promised path to fetched package. + */ +function fetchNPM(plugin, client) { +return initSettings(true) +.then(function (settings) { +return Q.nfcall(npm.load) +// configure npm here instead of passing parameters to npm.load due to CB-7670 +.then(function () { +for (var prop in settings){ +npm.config.set(prop, settings[prop]); +} +}); +}) +.then(function() { +events.emit('log', 'Fetching plugin "' + plugin + '" via npm'); +return Q.ninvoke(npm.commands, 'cache', ['add', plugin]); +}) +.then(function(info) { +var cl = (client === 'plugman' ? 'plugman' : 'cordova-cli'); +bumpCounter(info, cl); +var pluginDir = path.resolve(npm.cache, info.name, info.version, 'package'); +// Unpack the plugin that was added to the cache (CB-8154) +var package_tgz = path.resolve(npm.cache, info.name, info.version, 'package.tgz'); +return unpack.unpackTgz(package_tgz, pluginDir); +}) +.fail(function(error) { +events.emit('log', 'Fetching from npm registry failed'); +return Q.reject(error); +}); +} + + +/** + * @method fetchPlugReg + * @param {Array} with one element - the plugin id or "id@version" + * @return {Promise.} Promised path to fetched package. + */ +function fetchPlugReg(plugin, client) { --- End diff -- Yeah probably. I started off having more differences between the two, but ended up slowly making these very similar. I'll look into simplifying it more. > Setup fetching from npm as fallback > --- > > Key: CB-8551 > URL: https://issues.apache.org/jira/browse/CB-8551 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Steve Gill >Assignee: Steve Gill > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Updated] (CB-8597) Change cordova-lib create.js to import config.xml of default application
[ https://issues.apache.org/jira/browse/CB-8597?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Michal Mocny updated CB-8597: - Description: Right now, when creating a new project with CLI, we will lazy_load the hello world application to load its www/. We will not, however, load its config.xml -- we always use the cordova-lib default. This is needlessly complex (aka, special code paths, requires lazy_loading when everything else has moved to npm), given that create already supports `--copy-from` which imports both www/ and config.xml (and hooks and merges). I think we should: - Add a config.xml to app hello world. - Remove many of the special cases in cordova-lib create(), and always just expect a path to import, aka always use the --copy-from/--link-to logic. - Change cordova-cli to call create() with a path to app hello world if --copy-from/--link-to are not in cli args. - Publish app hello world to npm and add it to cordova-cli dependencies. Note: some users use --copy-from directly to a www/, which has no config.xml. We should still support that use case, either by leaving the cordova-lib config.xml template, or better yet, by using the app hello world config.xml for this use case. > Change cordova-lib create.js to import config.xml of default application > > > Key: CB-8597 > URL: https://issues.apache.org/jira/browse/CB-8597 > Project: Apache Cordova > Issue Type: Improvement > Components: App Hello World, CLI, CordovaLib >Reporter: Michal Mocny >Assignee: Michal Mocny > > Right now, when creating a new project with CLI, we will lazy_load the hello > world application to load its www/. We will not, however, load its > config.xml -- we always use the cordova-lib default. > This is needlessly complex (aka, special code paths, requires lazy_loading > when everything else has moved to npm), given that create already supports > `--copy-from` which imports both www/ and config.xml (and hooks and merges). > I think we should: > - Add a config.xml to app hello world. > - Remove many of the special cases in cordova-lib create(), and always just > expect a path to import, aka always use the --copy-from/--link-to logic. > - Change cordova-cli to call create() with a path to app hello world if > --copy-from/--link-to are not in cli args. > - Publish app hello world to npm and add it to cordova-cli dependencies. > Note: some users use --copy-from directly to a www/, which has no config.xml. > We should still support that use case, either by leaving the cordova-lib > config.xml template, or better yet, by using the app hello world config.xml > for this use case. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Updated] (CB-8597) Change cordova-lib create.js to import config.xml of app hello world by using the --copy-from code path
[ https://issues.apache.org/jira/browse/CB-8597?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Michal Mocny updated CB-8597: - Summary: Change cordova-lib create.js to import config.xml of app hello world by using the --copy-from code path (was: Change cordova-lib create.js to import config.xml of default application) > Change cordova-lib create.js to import config.xml of app hello world by using > the --copy-from code path > --- > > Key: CB-8597 > URL: https://issues.apache.org/jira/browse/CB-8597 > Project: Apache Cordova > Issue Type: Improvement > Components: App Hello World, CLI, CordovaLib >Reporter: Michal Mocny >Assignee: Michal Mocny > > Right now, when creating a new project with CLI, we will lazy_load the hello > world application to load its www/. We will not, however, load its > config.xml -- we always use the cordova-lib default. > This is needlessly complex (aka, special code paths, requires lazy_loading > when everything else has moved to npm), given that create already supports > `--copy-from` which imports both www/ and config.xml (and hooks and merges). > I think we should: > - Add a config.xml to app hello world. > - Remove many of the special cases in cordova-lib create(), and always just > expect a path to import, aka always use the --copy-from/--link-to logic. > - Change cordova-cli to call create() with a path to app hello world if > --copy-from/--link-to are not in cli args. > - Publish app hello world to npm and add it to cordova-cli dependencies. > Note: some users use --copy-from directly to a www/, which has no config.xml. > We should still support that use case, either by leaving the cordova-lib > config.xml template, or better yet, by using the app hello world config.xml > for this use case. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345563#comment-14345563 ] ASF GitHub Bot commented on CB-8551: Github user stevengill commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25717156 --- Diff: cordova-lib/src/plugman/registry/registry.js --- @@ -322,3 +324,102 @@ function makeRequest (method, where, what, cb_) { return req; } + +/** + * @method fetchNPM + * @param {Array} with one element - the plugin id or "id@version" + * @return {Promise.} Promised path to fetched package. + */ +function fetchNPM(plugin, client) { +return initSettings(true) +.then(function (settings) { +return Q.nfcall(npm.load) +// configure npm here instead of passing parameters to npm.load due to CB-7670 +.then(function () { +for (var prop in settings){ +npm.config.set(prop, settings[prop]); +} +}); +}) +.then(function() { +events.emit('log', 'Fetching plugin "' + plugin + '" via npm'); +return Q.ninvoke(npm.commands, 'cache', ['add', plugin]); +}) +.then(function(info) { +var cl = (client === 'plugman' ? 'plugman' : 'cordova-cli'); +bumpCounter(info, cl); +var pluginDir = path.resolve(npm.cache, info.name, info.version, 'package'); +// Unpack the plugin that was added to the cache (CB-8154) +var package_tgz = path.resolve(npm.cache, info.name, info.version, 'package.tgz'); +return unpack.unpackTgz(package_tgz, pluginDir); +}) +.fail(function(error) { +events.emit('log', 'Fetching from npm registry failed'); +return Q.reject(error); +}); +} + + +/** + * @method fetchPlugReg + * @param {Array} with one element - the plugin id or "id@version" + * @return {Promise.} Promised path to fetched package. + */ +function fetchPlugReg(plugin, client) { +return initSettings() +.then(function (settings) { +return Q.nfcall(npm.load) +// configure npm here instead of passing parameters to npm.load due to CB-7670 +.then(function () { +for (var prop in settings){ +npm.config.set(prop, settings[prop]); +} +}); +}) +.then(function() { +events.emit('log', 'Fetching plugin "' + plugin + '" via plugin registry'); +return Q.ninvoke(npm.commands, 'cache', ['add', plugin]); +}) +.then(function(info) { +var cl = (client === 'plugman' ? 'plugman' : 'cordova-cli'); +bumpCounter(info, cl); +var pluginDir = path.resolve(npm.cache, info.name, info.version, 'package'); +// Unpack the plugin that was added to the cache (CB-8154) +var package_tgz = path.resolve(npm.cache, info.name, info.version, 'package.tgz'); +return unpack.unpackTgz(package_tgz, pluginDir); +}) +.fail(function(error) { +events.emit('log', 'Fetching from cordova plugin registry failed'); +return Q.reject(error); +}); +} + +/** + * @method checkPluginID --- End diff -- LIES! I just followed the format of the other comments in this file. :smile: > Setup fetching from npm as fallback > --- > > Key: CB-8551 > URL: https://issues.apache.org/jira/browse/CB-8551 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Steve Gill >Assignee: Steve Gill > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345558#comment-14345558 ] ASF GitHub Bot commented on CB-8551: Github user stevengill commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25716978 --- Diff: cordova-lib/src/plugman/registry/registry.js --- @@ -322,3 +324,102 @@ function makeRequest (method, where, what, cb_) { return req; } + +/** + * @method fetchNPM + * @param {Array} with one element - the plugin id or "id@version" + * @return {Promise.} Promised path to fetched package. + */ +function fetchNPM(plugin, client) { +return initSettings(true) +.then(function (settings) { +return Q.nfcall(npm.load) +// configure npm here instead of passing parameters to npm.load due to CB-7670 +.then(function () { +for (var prop in settings){ +npm.config.set(prop, settings[prop]); +} +}); +}) +.then(function() { +events.emit('log', 'Fetching plugin "' + plugin + '" via npm'); +return Q.ninvoke(npm.commands, 'cache', ['add', plugin]); +}) +.then(function(info) { +var cl = (client === 'plugman' ? 'plugman' : 'cordova-cli'); +bumpCounter(info, cl); +var pluginDir = path.resolve(npm.cache, info.name, info.version, 'package'); +// Unpack the plugin that was added to the cache (CB-8154) +var package_tgz = path.resolve(npm.cache, info.name, info.version, 'package.tgz'); +return unpack.unpackTgz(package_tgz, pluginDir); +}) +.fail(function(error) { +events.emit('log', 'Fetching from npm registry failed'); +return Q.reject(error); +}); +} + + +/** + * @method fetchPlugReg + * @param {Array} with one element - the plugin id or "id@version" + * @return {Promise.} Promised path to fetched package. + */ +function fetchPlugReg(plugin, client) { +return initSettings() +.then(function (settings) { +return Q.nfcall(npm.load) +// configure npm here instead of passing parameters to npm.load due to CB-7670 +.then(function () { +for (var prop in settings){ +npm.config.set(prop, settings[prop]); +} +}); +}) +.then(function() { +events.emit('log', 'Fetching plugin "' + plugin + '" via plugin registry'); +return Q.ninvoke(npm.commands, 'cache', ['add', plugin]); +}) +.then(function(info) { +var cl = (client === 'plugman' ? 'plugman' : 'cordova-cli'); +bumpCounter(info, cl); +var pluginDir = path.resolve(npm.cache, info.name, info.version, 'package'); +// Unpack the plugin that was added to the cache (CB-8154) +var package_tgz = path.resolve(npm.cache, info.name, info.version, 'package.tgz'); +return unpack.unpackTgz(package_tgz, pluginDir); +}) +.fail(function(error) { +events.emit('log', 'Fetching from cordova plugin registry failed'); +return Q.reject(error); +}); +} + +/** + * @method checkPluginID + * @param {Array} with one element - the plugin id or "id@version" + * @return {Promise.} Promised path to fetched package. + */ +function checkPluginID(plugin) { --- End diff -- Good suggestions. Agreed > Setup fetching from npm as fallback > --- > > Key: CB-8551 > URL: https://issues.apache.org/jira/browse/CB-8551 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Steve Gill >Assignee: Steve Gill > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=1434#comment-1434 ] ASF GitHub Bot commented on CB-8551: Github user stevengill commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25716916 --- Diff: cordova-lib/src/plugman/registry/registry.js --- @@ -322,3 +324,102 @@ function makeRequest (method, where, what, cb_) { return req; } + +/** + * @method fetchNPM + * @param {Array} with one element - the plugin id or "id@version" + * @return {Promise.} Promised path to fetched package. + */ +function fetchNPM(plugin, client) { +return initSettings(true) +.then(function (settings) { +return Q.nfcall(npm.load) +// configure npm here instead of passing parameters to npm.load due to CB-7670 +.then(function () { +for (var prop in settings){ +npm.config.set(prop, settings[prop]); +} +}); +}) +.then(function() { +events.emit('log', 'Fetching plugin "' + plugin + '" via npm'); +return Q.ninvoke(npm.commands, 'cache', ['add', plugin]); +}) +.then(function(info) { +var cl = (client === 'plugman' ? 'plugman' : 'cordova-cli'); +bumpCounter(info, cl); +var pluginDir = path.resolve(npm.cache, info.name, info.version, 'package'); +// Unpack the plugin that was added to the cache (CB-8154) +var package_tgz = path.resolve(npm.cache, info.name, info.version, 'package.tgz'); +return unpack.unpackTgz(package_tgz, pluginDir); +}) +.fail(function(error) { +events.emit('log', 'Fetching from npm registry failed'); +return Q.reject(error); +}); +} + + +/** + * @method fetchPlugReg + * @param {Array} with one element - the plugin id or "id@version" + * @return {Promise.} Promised path to fetched package. + */ +function fetchPlugReg(plugin, client) { +return initSettings() +.then(function (settings) { +return Q.nfcall(npm.load) +// configure npm here instead of passing parameters to npm.load due to CB-7670 +.then(function () { +for (var prop in settings){ +npm.config.set(prop, settings[prop]); +} +}); +}) +.then(function() { +events.emit('log', 'Fetching plugin "' + plugin + '" via plugin registry'); +return Q.ninvoke(npm.commands, 'cache', ['add', plugin]); +}) +.then(function(info) { +var cl = (client === 'plugman' ? 'plugman' : 'cordova-cli'); +bumpCounter(info, cl); +var pluginDir = path.resolve(npm.cache, info.name, info.version, 'package'); +// Unpack the plugin that was added to the cache (CB-8154) +var package_tgz = path.resolve(npm.cache, info.name, info.version, 'package.tgz'); +return unpack.unpackTgz(package_tgz, pluginDir); +}) +.fail(function(error) { +events.emit('log', 'Fetching from cordova plugin registry failed'); +return Q.reject(error); +}); +} + +/** + * @method checkPluginID + * @param {Array} with one element - the plugin id or "id@version" + * @return {Promise.} Promised path to fetched package. + */ +function checkPluginID(plugin) { +//if plugin id is not reverse domain name style, skip CPR and fetch from npm + +//Create regex to for digits, words and dashes and three dots in plugin ids which excludes @VERSION. +var re = /([\w-]*\.[\w-]*\.[\w-]*\.[\w-]*[^@])/; --- End diff -- Good call. I will update it > Setup fetching from npm as fallback > --- > > Key: CB-8551 > URL: https://issues.apache.org/jira/browse/CB-8551 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Steve Gill >Assignee: Steve Gill > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345547#comment-14345547 ] ASF GitHub Bot commented on CB-8551: Github user stevengill commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25716498 --- Diff: cordova-lib/src/plugman/registry/registry.js --- @@ -322,3 +324,102 @@ function makeRequest (method, where, what, cb_) { return req; } + +/** + * @method fetchNPM + * @param {Array} with one element - the plugin id or "id@version" + * @return {Promise.} Promised path to fetched package. + */ +function fetchNPM(plugin, client) { +return initSettings(true) +.then(function (settings) { +return Q.nfcall(npm.load) +// configure npm here instead of passing parameters to npm.load due to CB-7670 +.then(function () { +for (var prop in settings){ +npm.config.set(prop, settings[prop]); +} +}); +}) +.then(function() { +events.emit('log', 'Fetching plugin "' + plugin + '" via npm'); +return Q.ninvoke(npm.commands, 'cache', ['add', plugin]); +}) +.then(function(info) { +var cl = (client === 'plugman' ? 'plugman' : 'cordova-cli'); +bumpCounter(info, cl); +var pluginDir = path.resolve(npm.cache, info.name, info.version, 'package'); +// Unpack the plugin that was added to the cache (CB-8154) +var package_tgz = path.resolve(npm.cache, info.name, info.version, 'package.tgz'); +return unpack.unpackTgz(package_tgz, pluginDir); +}) +.fail(function(error) { +events.emit('log', 'Fetching from npm registry failed'); +return Q.reject(error); +}); +} + + +/** + * @method fetchPlugReg + * @param {Array} with one element - the plugin id or "id@version" + * @return {Promise.} Promised path to fetched package. + */ +function fetchPlugReg(plugin, client) { +return initSettings() +.then(function (settings) { +return Q.nfcall(npm.load) +// configure npm here instead of passing parameters to npm.load due to CB-7670 +.then(function () { +for (var prop in settings){ +npm.config.set(prop, settings[prop]); +} +}); +}) +.then(function() { +events.emit('log', 'Fetching plugin "' + plugin + '" via plugin registry'); +return Q.ninvoke(npm.commands, 'cache', ['add', plugin]); +}) +.then(function(info) { +var cl = (client === 'plugman' ? 'plugman' : 'cordova-cli'); +bumpCounter(info, cl); +var pluginDir = path.resolve(npm.cache, info.name, info.version, 'package'); +// Unpack the plugin that was added to the cache (CB-8154) +var package_tgz = path.resolve(npm.cache, info.name, info.version, 'package.tgz'); +return unpack.unpackTgz(package_tgz, pluginDir); +}) +.fail(function(error) { +events.emit('log', 'Fetching from cordova plugin registry failed'); +return Q.reject(error); +}); +} + +/** + * @method checkPluginID + * @param {Array} with one element - the plugin id or "id@version" + * @return {Promise.} Promised path to fetched package. + */ +function checkPluginID(plugin) { +//if plugin id is not reverse domain name style, skip CPR and fetch from npm + +//Create regex to for digits, words and dashes and three dots in plugin ids which excludes @VERSION. +var re = /([\w-]*\.[\w-]*\.[\w-]*\.[\w-]*[^@])/; +var pluginID = plugin.match(re); +//If pluginID equals null, plugin is not reverse domain name style +if(pluginID === null) { +events.emit('verbose', 'Skipping CPR'); +//Q.reject will send us straight to the fail method which is where fetchNPM gets called. --- End diff -- Just because you asked so nicely! :smile: > Setup fetching from npm as fallback > --- > > Key: CB-8551 > URL: https://issues.apache.org/jira/browse/CB-8551 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Steve Gill >Assignee: Steve Gill > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345544#comment-14345544 ] ASF GitHub Bot commented on CB-8551: Github user stevengill commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25716406 --- Diff: cordova-lib/src/plugman/registry/registry.js --- @@ -322,3 +324,102 @@ function makeRequest (method, where, what, cb_) { return req; } + +/** + * @method fetchNPM + * @param {Array} with one element - the plugin id or "id@version" + * @return {Promise.} Promised path to fetched package. + */ +function fetchNPM(plugin, client) { +return initSettings(true) +.then(function (settings) { +return Q.nfcall(npm.load) +// configure npm here instead of passing parameters to npm.load due to CB-7670 +.then(function () { +for (var prop in settings){ +npm.config.set(prop, settings[prop]); +} +}); +}) +.then(function() { +events.emit('log', 'Fetching plugin "' + plugin + '" via npm'); +return Q.ninvoke(npm.commands, 'cache', ['add', plugin]); +}) +.then(function(info) { +var cl = (client === 'plugman' ? 'plugman' : 'cordova-cli'); +bumpCounter(info, cl); +var pluginDir = path.resolve(npm.cache, info.name, info.version, 'package'); +// Unpack the plugin that was added to the cache (CB-8154) +var package_tgz = path.resolve(npm.cache, info.name, info.version, 'package.tgz'); +return unpack.unpackTgz(package_tgz, pluginDir); +}) +.fail(function(error) { +events.emit('log', 'Fetching from npm registry failed'); +return Q.reject(error); +}); +} + + +/** + * @method fetchPlugReg + * @param {Array} with one element - the plugin id or "id@version" + * @return {Promise.} Promised path to fetched package. + */ +function fetchPlugReg(plugin, client) { +return initSettings() +.then(function (settings) { +return Q.nfcall(npm.load) +// configure npm here instead of passing parameters to npm.load due to CB-7670 +.then(function () { +for (var prop in settings){ +npm.config.set(prop, settings[prop]); +} +}); +}) +.then(function() { +events.emit('log', 'Fetching plugin "' + plugin + '" via plugin registry'); +return Q.ninvoke(npm.commands, 'cache', ['add', plugin]); +}) +.then(function(info) { +var cl = (client === 'plugman' ? 'plugman' : 'cordova-cli'); +bumpCounter(info, cl); +var pluginDir = path.resolve(npm.cache, info.name, info.version, 'package'); +// Unpack the plugin that was added to the cache (CB-8154) +var package_tgz = path.resolve(npm.cache, info.name, info.version, 'package.tgz'); +return unpack.unpackTgz(package_tgz, pluginDir); +}) +.fail(function(error) { +events.emit('log', 'Fetching from cordova plugin registry failed'); +return Q.reject(error); +}); +} + +/** + * @method checkPluginID + * @param {Array} with one element - the plugin id or "id@version" + * @return {Promise.} Promised path to fetched package. + */ +function checkPluginID(plugin) { +//if plugin id is not reverse domain name style, skip CPR and fetch from npm + +//Create regex to for digits, words and dashes and three dots in plugin ids which excludes @VERSION. +var re = /([\w-]*\.[\w-]*\.[\w-]*\.[\w-]*[^@])/; +var pluginID = plugin.match(re); +//If pluginID equals null, plugin is not reverse domain name style +if(pluginID === null) { +events.emit('verbose', 'Skipping CPR'); +//Q.reject will send us straight to the fail method which is where fetchNPM gets called. +return Q.reject(); +} else { +//Reverse domain name style plugin ID +//Check if a mapping exists for the pluginID +//if it does, warn the users to use package-name +var packageName = pluginMapper[pluginID[0]]; +if(packageName) { +events.emit('log', 'WARNING: ' + plugin + ' has been renamed to ' + +packageName + ' and moved to npm. Please use `cordova plugin add ' + +packageName + '` next time.'); --- End diff -- It actually doesn't convert and continue. It just warns and continues. `cordova plugin add org.apache.cordova.device` would output `WARNING: o
[jira] [Updated] (CB-8597) Change cordova-lib create.js to import config.xml of default application
[ https://issues.apache.org/jira/browse/CB-8597?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Michal Mocny updated CB-8597: - Issue Type: Improvement (was: Bug) > Change cordova-lib create.js to import config.xml of default application > > > Key: CB-8597 > URL: https://issues.apache.org/jira/browse/CB-8597 > Project: Apache Cordova > Issue Type: Improvement > Components: App Hello World, CLI, CordovaLib >Reporter: Michal Mocny >Assignee: Michal Mocny > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Created] (CB-8597) Change cordova-lib create.js to import config.xml of default application
Michal Mocny created CB-8597: Summary: Change cordova-lib create.js to import config.xml of default application Key: CB-8597 URL: https://issues.apache.org/jira/browse/CB-8597 Project: Apache Cordova Issue Type: Bug Components: App Hello World, CLI, CordovaLib Reporter: Michal Mocny Assignee: Michal Mocny -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345521#comment-14345521 ] ASF GitHub Bot commented on CB-8551: Github user stevengill commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25715602 --- Diff: cordova-lib/src/cordova/plugin.js --- @@ -238,7 +239,21 @@ module.exports = function plugin(command, targets, opts) { return opts.plugins.reduce(function(soFar, target) { // Check if we have the plugin. if (plugins.indexOf(target) < 0) { -return Q.reject(new CordovaError('Plugin "' + target + '" is not present in the project. See `'+cordova_util.binname+' plugin list`.')); +// Convert target from package-name to package-id if necessary +var keys = Object.keys(pluginMapper); +//Traverse through pluginMapper values to see if it equals our target. +//Cordova-plugin-device would get changes to org.apache.cordova.device +for (var i = 0; i < keys.length; i++) { --- End diff -- I agree it should just be exported in pluginMapper. I'll do it up. > Setup fetching from npm as fallback > --- > > Key: CB-8551 > URL: https://issues.apache.org/jira/browse/CB-8551 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Steve Gill >Assignee: Steve Gill > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8499) 'cordova platform save' : should save all installed platforms to config.xml
[ https://issues.apache.org/jira/browse/CB-8499?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345520#comment-14345520 ] ASF GitHub Bot commented on CB-8499: Github user omefire commented on the pull request: https://github.com/apache/cordova-lib/pull/170#issuecomment-77011164 @agrieve , I addressed your comments. could you please take another look ? > 'cordova platform save' : should save all installed platforms to config.xml > --- > > Key: CB-8499 > URL: https://issues.apache.org/jira/browse/CB-8499 > Project: Apache Cordova > Issue Type: New Feature >Reporter: Omar Mefire >Assignee: Omar Mefire > > In addition to using 'cordova platform add android --save' to both add and > save a platform to config.xml, It would be useful to have a way to 'mass > save' already installed platforms to config.xml. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345518#comment-14345518 ] ASF GitHub Bot commented on CB-8551: Github user stevengill commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25715497 --- Diff: cordova-lib/package.json --- @@ -19,6 +19,7 @@ "dependencies": { "bplist-parser": "0.0.6", "cordova-js": "3.8.0", +"cordova-registry-mapper": "0.0.2", --- End diff -- Yup. I could donate it to Apache if it makes sense. Right now it is easy for me to do releases for it without having to go through apache process. I imagine we will see some PRs coming in for it from other plugin devs who rename. > Setup fetching from npm as fallback > --- > > Key: CB-8551 > URL: https://issues.apache.org/jira/browse/CB-8551 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Steve Gill >Assignee: Steve Gill > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Created] (CB-8596) cordova-lib API for retrieval of platforms and plugins from config.xml
Omar Mefire created CB-8596: --- Summary: cordova-lib API for retrieval of platforms and plugins from config.xml Key: CB-8596 URL: https://issues.apache.org/jira/browse/CB-8596 Project: Apache Cordova Issue Type: New Feature Reporter: Omar Mefire Assignee: Omar Mefire IDE's and other apps using cordova's APIs need a way to access project's metadata (platforms and plugins within config.xml) without going directly through the ConfigParser. They should be abstracted away from the storage details. This modification is made even more important with the upcoming move to npm that is going to necessitate moving platforms and plugins infos to package.json. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8594) Store plugin version number
[ https://issues.apache.org/jira/browse/CB-8594?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345492#comment-14345492 ] Omar Mefire commented on CB-8594: - no particular reason that I can think of. I think It should be addressed. > Store plugin version number > --- > > Key: CB-8594 > URL: https://issues.apache.org/jira/browse/CB-8594 > Project: Apache Cordova > Issue Type: Improvement >Reporter: Raymond Camden >Priority: Minor > > I apologize if this has been discussed already - as I was writing this it > seemed a bit familiar. > I noticed that when I used the new --save feature to save both platforms and > plugins, that the platform definition in config.xml includes a version number > for the platform. However this information is not stored for the plugin. > Is there a reason for that? I can see - reasonably - that I may not care when > restoring. But it seems odd to have it stored for one thing (platform) and > not the other. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8593) Allow --save to work with existing projects
[ https://issues.apache.org/jira/browse/CB-8593?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345442#comment-14345442 ] Omar Mefire commented on CB-8593: - great suggestion. we already have these 2 jira issues to make this feature happen : - https://issues.apache.org/jira/browse/CB-8499 - https://issues.apache.org/jira/browse/CB-8521 > Allow --save to work with existing projects > --- > > Key: CB-8593 > URL: https://issues.apache.org/jira/browse/CB-8593 > Project: Apache Cordova > Issue Type: Bug >Reporter: Raymond Camden >Priority: Minor > > The new --save ability only works when you *add* a platform or project. If I > have an existing project I need to remove every single platform and plugin > and then add them back in, one at a time, using --save for each one. > Can we not support a "cordova save" command that would introspect current > platforms/plugins and save them to the configuration? -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345418#comment-14345418 ] ASF GitHub Bot commented on CB-8551: Github user mmocny commented on the pull request: https://github.com/apache/cordova-lib/pull/175#issuecomment-76999272 Overall, impressed with the lack of significant impact. > Setup fetching from npm as fallback > --- > > Key: CB-8551 > URL: https://issues.apache.org/jira/browse/CB-8551 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Steve Gill >Assignee: Steve Gill > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345415#comment-14345415 ] ASF GitHub Bot commented on CB-8551: Github user mmocny commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25710017 --- Diff: cordova-lib/src/plugman/registry/registry.js --- @@ -322,3 +324,102 @@ function makeRequest (method, where, what, cb_) { return req; } + +/** + * @method fetchNPM + * @param {Array} with one element - the plugin id or "id@version" + * @return {Promise.} Promised path to fetched package. + */ +function fetchNPM(plugin, client) { +return initSettings(true) +.then(function (settings) { +return Q.nfcall(npm.load) +// configure npm here instead of passing parameters to npm.load due to CB-7670 +.then(function () { +for (var prop in settings){ +npm.config.set(prop, settings[prop]); +} +}); +}) +.then(function() { +events.emit('log', 'Fetching plugin "' + plugin + '" via npm'); +return Q.ninvoke(npm.commands, 'cache', ['add', plugin]); +}) +.then(function(info) { +var cl = (client === 'plugman' ? 'plugman' : 'cordova-cli'); +bumpCounter(info, cl); +var pluginDir = path.resolve(npm.cache, info.name, info.version, 'package'); +// Unpack the plugin that was added to the cache (CB-8154) +var package_tgz = path.resolve(npm.cache, info.name, info.version, 'package.tgz'); +return unpack.unpackTgz(package_tgz, pluginDir); +}) +.fail(function(error) { +events.emit('log', 'Fetching from npm registry failed'); +return Q.reject(error); +}); +} + + +/** + * @method fetchPlugReg + * @param {Array} with one element - the plugin id or "id@version" + * @return {Promise.} Promised path to fetched package. + */ +function fetchPlugReg(plugin, client) { +return initSettings() +.then(function (settings) { +return Q.nfcall(npm.load) +// configure npm here instead of passing parameters to npm.load due to CB-7670 +.then(function () { +for (var prop in settings){ +npm.config.set(prop, settings[prop]); +} +}); +}) +.then(function() { +events.emit('log', 'Fetching plugin "' + plugin + '" via plugin registry'); +return Q.ninvoke(npm.commands, 'cache', ['add', plugin]); +}) +.then(function(info) { +var cl = (client === 'plugman' ? 'plugman' : 'cordova-cli'); +bumpCounter(info, cl); +var pluginDir = path.resolve(npm.cache, info.name, info.version, 'package'); +// Unpack the plugin that was added to the cache (CB-8154) +var package_tgz = path.resolve(npm.cache, info.name, info.version, 'package.tgz'); +return unpack.unpackTgz(package_tgz, pluginDir); +}) +.fail(function(error) { +events.emit('log', 'Fetching from cordova plugin registry failed'); +return Q.reject(error); +}); +} + +/** + * @method checkPluginID + * @param {Array} with one element - the plugin id or "id@version" + * @return {Promise.} Promised path to fetched package. + */ +function checkPluginID(plugin) { +//if plugin id is not reverse domain name style, skip CPR and fetch from npm + +//Create regex to for digits, words and dashes and three dots in plugin ids which excludes @VERSION. +var re = /([\w-]*\.[\w-]*\.[\w-]*\.[\w-]*[^@])/; +var pluginID = plugin.match(re); +//If pluginID equals null, plugin is not reverse domain name style +if(pluginID === null) { +events.emit('verbose', 'Skipping CPR'); +//Q.reject will send us straight to the fail method which is where fetchNPM gets called. +return Q.reject(); +} else { +//Reverse domain name style plugin ID +//Check if a mapping exists for the pluginID +//if it does, warn the users to use package-name +var packageName = pluginMapper[pluginID[0]]; +if(packageName) { +events.emit('log', 'WARNING: ' + plugin + ' has been renamed to ' + +packageName + ' and moved to npm. Please use `cordova plugin add ' + +packageName + '` next time.'); --- End diff -- Suggestion: `'next time'` -> 'Automatically converting to NAME and continuing` Basically let user know that it didn't fail. > Setup fetc
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345410#comment-14345410 ] ASF GitHub Bot commented on CB-8551: Github user mmocny commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25709825 --- Diff: cordova-lib/src/plugman/registry/registry.js --- @@ -322,3 +324,102 @@ function makeRequest (method, where, what, cb_) { return req; } + +/** + * @method fetchNPM + * @param {Array} with one element - the plugin id or "id@version" + * @return {Promise.} Promised path to fetched package. + */ +function fetchNPM(plugin, client) { +return initSettings(true) +.then(function (settings) { +return Q.nfcall(npm.load) +// configure npm here instead of passing parameters to npm.load due to CB-7670 +.then(function () { +for (var prop in settings){ +npm.config.set(prop, settings[prop]); +} +}); +}) +.then(function() { +events.emit('log', 'Fetching plugin "' + plugin + '" via npm'); +return Q.ninvoke(npm.commands, 'cache', ['add', plugin]); +}) +.then(function(info) { +var cl = (client === 'plugman' ? 'plugman' : 'cordova-cli'); +bumpCounter(info, cl); +var pluginDir = path.resolve(npm.cache, info.name, info.version, 'package'); +// Unpack the plugin that was added to the cache (CB-8154) +var package_tgz = path.resolve(npm.cache, info.name, info.version, 'package.tgz'); +return unpack.unpackTgz(package_tgz, pluginDir); +}) +.fail(function(error) { +events.emit('log', 'Fetching from npm registry failed'); +return Q.reject(error); +}); +} + + +/** + * @method fetchPlugReg + * @param {Array} with one element - the plugin id or "id@version" + * @return {Promise.} Promised path to fetched package. + */ +function fetchPlugReg(plugin, client) { +return initSettings() +.then(function (settings) { +return Q.nfcall(npm.load) +// configure npm here instead of passing parameters to npm.load due to CB-7670 +.then(function () { +for (var prop in settings){ +npm.config.set(prop, settings[prop]); +} +}); +}) +.then(function() { +events.emit('log', 'Fetching plugin "' + plugin + '" via plugin registry'); +return Q.ninvoke(npm.commands, 'cache', ['add', plugin]); +}) +.then(function(info) { +var cl = (client === 'plugman' ? 'plugman' : 'cordova-cli'); +bumpCounter(info, cl); +var pluginDir = path.resolve(npm.cache, info.name, info.version, 'package'); +// Unpack the plugin that was added to the cache (CB-8154) +var package_tgz = path.resolve(npm.cache, info.name, info.version, 'package.tgz'); +return unpack.unpackTgz(package_tgz, pluginDir); +}) +.fail(function(error) { +events.emit('log', 'Fetching from cordova plugin registry failed'); +return Q.reject(error); +}); +} + +/** + * @method checkPluginID + * @param {Array} with one element - the plugin id or "id@version" + * @return {Promise.} Promised path to fetched package. + */ +function checkPluginID(plugin) { +//if plugin id is not reverse domain name style, skip CPR and fetch from npm + +//Create regex to for digits, words and dashes and three dots in plugin ids which excludes @VERSION. +var re = /([\w-]*\.[\w-]*\.[\w-]*\.[\w-]*[^@])/; +var pluginID = plugin.match(re); +//If pluginID equals null, plugin is not reverse domain name style +if(pluginID === null) { +events.emit('verbose', 'Skipping CPR'); +//Q.reject will send us straight to the fail method which is where fetchNPM gets called. --- End diff -- Bravo, thanks for adding straight-to-npm. > Setup fetching from npm as fallback > --- > > Key: CB-8551 > URL: https://issues.apache.org/jira/browse/CB-8551 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Steve Gill >Assignee: Steve Gill > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345407#comment-14345407 ] ASF GitHub Bot commented on CB-8551: Github user mmocny commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25709472 --- Diff: cordova-lib/src/plugman/registry/registry.js --- @@ -218,10 +205,18 @@ module.exports = { /** * @method initSettings + * @param {Boolean} using npm registry * @return {Promise.} Promised settings. */ -function initSettings() { +function initSettings(npm) { --- End diff -- nit: `npm` -> `useNpmRegistry`. Otherwise it looks like a reference to the node module. > Setup fetching from npm as fallback > --- > > Key: CB-8551 > URL: https://issues.apache.org/jira/browse/CB-8551 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Steve Gill >Assignee: Steve Gill > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345405#comment-14345405 ] ASF GitHub Bot commented on CB-8551: Github user mmocny commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25709236 --- Diff: cordova-lib/src/cordova/plugin.js --- @@ -238,7 +239,21 @@ module.exports = function plugin(command, targets, opts) { return opts.plugins.reduce(function(soFar, target) { // Check if we have the plugin. if (plugins.indexOf(target) < 0) { -return Q.reject(new CordovaError('Plugin "' + target + '" is not present in the project. See `'+cordova_util.binname+' plugin list`.')); +// Convert target from package-name to package-id if necessary +var keys = Object.keys(pluginMapper); +//Traverse through pluginMapper values to see if it equals our target. +//Cordova-plugin-device would get changes to org.apache.cordova.device +for (var i = 0; i < keys.length; i++) { --- End diff -- Nevermind, I see its doing reverse mapping. > Setup fetching from npm as fallback > --- > > Key: CB-8551 > URL: https://issues.apache.org/jira/browse/CB-8551 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Steve Gill >Assignee: Steve Gill > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345399#comment-14345399 ] ASF GitHub Bot commented on CB-8551: Github user mmocny commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25708820 --- Diff: cordova-lib/package.json --- @@ -19,6 +19,7 @@ "dependencies": { "bplist-parser": "0.0.6", "cordova-js": "3.8.0", +"cordova-registry-mapper": "0.0.2", --- End diff -- Looks like: https://github.com/stevengill/cordova-registry-mapper > Setup fetching from npm as fallback > --- > > Key: CB-8551 > URL: https://issues.apache.org/jira/browse/CB-8551 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Steve Gill >Assignee: Steve Gill > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345403#comment-14345403 ] ASF GitHub Bot commented on CB-8551: Github user mmocny commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25709035 --- Diff: cordova-lib/src/cordova/plugin.js --- @@ -238,7 +239,21 @@ module.exports = function plugin(command, targets, opts) { return opts.plugins.reduce(function(soFar, target) { // Check if we have the plugin. if (plugins.indexOf(target) < 0) { -return Q.reject(new CordovaError('Plugin "' + target + '" is not present in the project. See `'+cordova_util.binname+' plugin list`.')); +// Convert target from package-name to package-id if necessary +var keys = Object.keys(pluginMapper); +//Traverse through pluginMapper values to see if it equals our target. +//Cordova-plugin-device would get changes to org.apache.cordova.device +for (var i = 0; i < keys.length; i++) { --- End diff -- I don't know why we are iterating anyway? Its already old_id->new_id. Can't we just `.hasOwnProperty()` ? > Setup fetching from npm as fallback > --- > > Key: CB-8551 > URL: https://issues.apache.org/jira/browse/CB-8551 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Steve Gill >Assignee: Steve Gill > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Created] (CB-8595) Merge platform specific code into one place
Mark Koudritsky created CB-8595: --- Summary: Merge platform specific code into one place Key: CB-8595 URL: https://issues.apache.org/jira/browse/CB-8595 Project: Apache Cordova Issue Type: Improvement Reporter: Mark Koudritsky Assignee: Mark Koudritsky Currently we have two separate places for platform specific code src/cordova/metadata src/plugman/platforms This is confusing. Once consolidated the platform specific code will be much easier to move to the platform repos where it belongs. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Resolved] (CB-8592) CordovaWebView crashes on handlePause
[ https://issues.apache.org/jira/browse/CB-8592?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Grieve resolved CB-8592. --- Resolution: Fixed Assignee: Andrew Grieve Fixed on 4.0.0-dev > CordovaWebView crashes on handlePause > - > > Key: CB-8592 > URL: https://issues.apache.org/jira/browse/CB-8592 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Affects Versions: 3.7.1 > Environment: Android >Reporter: Simon Jarbrant >Assignee: Andrew Grieve >Priority: Minor > > We use the Cordova framework in our company and our Android app, and with the > recent upgrade to version 3.7.1 of the framework we've seen that sometimes > when our app calls the handlePause() method on the WebView, a > NullPointerException is thrown in it due to the pluginManager object being > null. This only seems to happen sometimes when onSaveInstanceState() is > called in our app (which then calls handlePause() in the CordovaWebView). > Here's a link to the stack trace and error message that we get: > http://pastebin.com/ceDSmeJm -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8510) Delete copy&paste between AndroidWebView and XWalkWebView
[ https://issues.apache.org/jira/browse/CB-8510?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345163#comment-14345163 ] ASF subversion and git services commented on CB-8510: - Commit 023ad9ddf8b5a69ffe7f15fbcb83719aae77ffcc in cordova-android's branch refs/heads/master from [~agrieve] [ https://git-wip-us.apache.org/repos/asf?p=cordova-android.git;h=023ad9d ] CB-8510 Enforce that CordovaWebViewImpl is instantiated with an Engine No reason to not enforce this. > Delete copy&paste between AndroidWebView and XWalkWebView > - > > Key: CB-8510 > URL: https://issues.apache.org/jira/browse/CB-8510 > Project: Apache Cordova > Issue Type: Bug > Components: Android >Reporter: Andrew Grieve >Assignee: Andrew Grieve > > Right now there is a lot of copy & paste between the two, and bugs that have > been fixed on master have not all made it into XWalkWebView. Copy & paste was > a great way to get the concept off the ground, but it would be vastly more > maintainable to have it shared in some way. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8592) CordovaWebView crashes on handlePause
[ https://issues.apache.org/jira/browse/CB-8592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345165#comment-14345165 ] ASF subversion and git services commented on CB-8592: - Commit 62c081dc85e297581811db2cacdf73eb5d49ea24 in cordova-android's branch refs/heads/master from [~agrieve] [ https://git-wip-us.apache.org/repos/asf?p=cordova-android.git;h=62c081d ] CB-8592 Fix NPE if lifecycle events reach CordovaWebView before `init()` has been called > CordovaWebView crashes on handlePause > - > > Key: CB-8592 > URL: https://issues.apache.org/jira/browse/CB-8592 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Affects Versions: 3.7.1 > Environment: Android >Reporter: Simon Jarbrant >Priority: Minor > > We use the Cordova framework in our company and our Android app, and with the > recent upgrade to version 3.7.1 of the framework we've seen that sometimes > when our app calls the handlePause() method on the WebView, a > NullPointerException is thrown in it due to the pluginManager object being > null. This only seems to happen sometimes when onSaveInstanceState() is > called in our app (which then calls handlePause() in the CordovaWebView). > Here's a link to the stack trace and error message that we get: > http://pastebin.com/ceDSmeJm -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345134#comment-14345134 ] ASF GitHub Bot commented on CB-8551: Github user agrieve commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25691445 --- Diff: cordova-lib/package.json --- @@ -19,6 +19,7 @@ "dependencies": { "bplist-parser": "0.0.6", "cordova-js": "3.8.0", +"cordova-registry-mapper": "0.0.2", --- End diff -- Where is the source for this? > Setup fetching from npm as fallback > --- > > Key: CB-8551 > URL: https://issues.apache.org/jira/browse/CB-8551 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Steve Gill >Assignee: Steve Gill > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345133#comment-14345133 ] ASF GitHub Bot commented on CB-8551: Github user agrieve commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25691366 --- Diff: cordova-lib/src/plugman/registry/registry.js --- @@ -322,3 +324,102 @@ function makeRequest (method, where, what, cb_) { return req; } + +/** + * @method fetchNPM + * @param {Array} with one element - the plugin id or "id@version" + * @return {Promise.} Promised path to fetched package. + */ +function fetchNPM(plugin, client) { +return initSettings(true) +.then(function (settings) { +return Q.nfcall(npm.load) +// configure npm here instead of passing parameters to npm.load due to CB-7670 +.then(function () { +for (var prop in settings){ +npm.config.set(prop, settings[prop]); +} +}); +}) +.then(function() { +events.emit('log', 'Fetching plugin "' + plugin + '" via npm'); +return Q.ninvoke(npm.commands, 'cache', ['add', plugin]); +}) +.then(function(info) { +var cl = (client === 'plugman' ? 'plugman' : 'cordova-cli'); +bumpCounter(info, cl); +var pluginDir = path.resolve(npm.cache, info.name, info.version, 'package'); +// Unpack the plugin that was added to the cache (CB-8154) +var package_tgz = path.resolve(npm.cache, info.name, info.version, 'package.tgz'); +return unpack.unpackTgz(package_tgz, pluginDir); +}) +.fail(function(error) { +events.emit('log', 'Fetching from npm registry failed'); +return Q.reject(error); +}); +} + + +/** + * @method fetchPlugReg + * @param {Array} with one element - the plugin id or "id@version" + * @return {Promise.} Promised path to fetched package. + */ +function fetchPlugReg(plugin, client) { +return initSettings() +.then(function (settings) { +return Q.nfcall(npm.load) +// configure npm here instead of passing parameters to npm.load due to CB-7670 +.then(function () { +for (var prop in settings){ +npm.config.set(prop, settings[prop]); +} +}); +}) +.then(function() { +events.emit('log', 'Fetching plugin "' + plugin + '" via plugin registry'); +return Q.ninvoke(npm.commands, 'cache', ['add', plugin]); +}) +.then(function(info) { +var cl = (client === 'plugman' ? 'plugman' : 'cordova-cli'); +bumpCounter(info, cl); +var pluginDir = path.resolve(npm.cache, info.name, info.version, 'package'); +// Unpack the plugin that was added to the cache (CB-8154) +var package_tgz = path.resolve(npm.cache, info.name, info.version, 'package.tgz'); +return unpack.unpackTgz(package_tgz, pluginDir); +}) +.fail(function(error) { +events.emit('log', 'Fetching from cordova plugin registry failed'); +return Q.reject(error); +}); +} + +/** + * @method checkPluginID + * @param {Array} with one element - the plugin id or "id@version" + * @return {Promise.} Promised path to fetched package. + */ +function checkPluginID(plugin) { --- End diff -- "checkPluginId" doesn't make this method's purpose obvious. How splitting it into `isValidCprName()` and `warnIfRenamed()`. Would also be a bit more obvious if it returned true/false instead of a promise, and to do the logging at the call site. > Setup fetching from npm as fallback > --- > > Key: CB-8551 > URL: https://issues.apache.org/jira/browse/CB-8551 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Steve Gill >Assignee: Steve Gill > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345131#comment-14345131 ] ASF GitHub Bot commented on CB-8551: Github user agrieve commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25691265 --- Diff: cordova-lib/src/plugman/registry/registry.js --- @@ -322,3 +324,102 @@ function makeRequest (method, where, what, cb_) { return req; } + +/** + * @method fetchNPM + * @param {Array} with one element - the plugin id or "id@version" + * @return {Promise.} Promised path to fetched package. + */ +function fetchNPM(plugin, client) { +return initSettings(true) +.then(function (settings) { +return Q.nfcall(npm.load) +// configure npm here instead of passing parameters to npm.load due to CB-7670 +.then(function () { +for (var prop in settings){ +npm.config.set(prop, settings[prop]); +} +}); +}) +.then(function() { +events.emit('log', 'Fetching plugin "' + plugin + '" via npm'); +return Q.ninvoke(npm.commands, 'cache', ['add', plugin]); +}) +.then(function(info) { +var cl = (client === 'plugman' ? 'plugman' : 'cordova-cli'); +bumpCounter(info, cl); +var pluginDir = path.resolve(npm.cache, info.name, info.version, 'package'); +// Unpack the plugin that was added to the cache (CB-8154) +var package_tgz = path.resolve(npm.cache, info.name, info.version, 'package.tgz'); +return unpack.unpackTgz(package_tgz, pluginDir); +}) +.fail(function(error) { +events.emit('log', 'Fetching from npm registry failed'); +return Q.reject(error); +}); +} + + +/** + * @method fetchPlugReg + * @param {Array} with one element - the plugin id or "id@version" + * @return {Promise.} Promised path to fetched package. + */ +function fetchPlugReg(plugin, client) { +return initSettings() +.then(function (settings) { +return Q.nfcall(npm.load) +// configure npm here instead of passing parameters to npm.load due to CB-7670 +.then(function () { +for (var prop in settings){ +npm.config.set(prop, settings[prop]); +} +}); +}) +.then(function() { +events.emit('log', 'Fetching plugin "' + plugin + '" via plugin registry'); +return Q.ninvoke(npm.commands, 'cache', ['add', plugin]); +}) +.then(function(info) { +var cl = (client === 'plugman' ? 'plugman' : 'cordova-cli'); +bumpCounter(info, cl); +var pluginDir = path.resolve(npm.cache, info.name, info.version, 'package'); +// Unpack the plugin that was added to the cache (CB-8154) +var package_tgz = path.resolve(npm.cache, info.name, info.version, 'package.tgz'); +return unpack.unpackTgz(package_tgz, pluginDir); +}) +.fail(function(error) { +events.emit('log', 'Fetching from cordova plugin registry failed'); +return Q.reject(error); +}); +} + +/** + * @method checkPluginID + * @param {Array} with one element - the plugin id or "id@version" + * @return {Promise.} Promised path to fetched package. + */ +function checkPluginID(plugin) { +//if plugin id is not reverse domain name style, skip CPR and fetch from npm + +//Create regex to for digits, words and dashes and three dots in plugin ids which excludes @VERSION. +var re = /([\w-]*\.[\w-]*\.[\w-]*\.[\w-]*[^@])/; --- End diff -- I think we require only two dots. Might make sense to be a bit less strict here: `/([^@]*\.[^@]*\.[^@]*)/.exec(plugin)` > Setup fetching from npm as fallback > --- > > Key: CB-8551 > URL: https://issues.apache.org/jira/browse/CB-8551 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Steve Gill >Assignee: Steve Gill > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Created] (CB-8594) Store plugin version number
Raymond Camden created CB-8594: -- Summary: Store plugin version number Key: CB-8594 URL: https://issues.apache.org/jira/browse/CB-8594 Project: Apache Cordova Issue Type: Improvement Reporter: Raymond Camden Priority: Minor I apologize if this has been discussed already - as I was writing this it seemed a bit familiar. I noticed that when I used the new --save feature to save both platforms and plugins, that the platform definition in config.xml includes a version number for the platform. However this information is not stored for the plugin. Is there a reason for that? I can see - reasonably - that I may not care when restoring. But it seems odd to have it stored for one thing (platform) and not the other. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345114#comment-14345114 ] ASF GitHub Bot commented on CB-8551: Github user agrieve commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25690632 --- Diff: cordova-lib/src/plugman/registry/registry.js --- @@ -322,3 +324,102 @@ function makeRequest (method, where, what, cb_) { return req; } + +/** + * @method fetchNPM + * @param {Array} with one element - the plugin id or "id@version" + * @return {Promise.} Promised path to fetched package. + */ +function fetchNPM(plugin, client) { +return initSettings(true) +.then(function (settings) { +return Q.nfcall(npm.load) +// configure npm here instead of passing parameters to npm.load due to CB-7670 +.then(function () { +for (var prop in settings){ +npm.config.set(prop, settings[prop]); +} +}); +}) +.then(function() { +events.emit('log', 'Fetching plugin "' + plugin + '" via npm'); +return Q.ninvoke(npm.commands, 'cache', ['add', plugin]); +}) +.then(function(info) { +var cl = (client === 'plugman' ? 'plugman' : 'cordova-cli'); +bumpCounter(info, cl); +var pluginDir = path.resolve(npm.cache, info.name, info.version, 'package'); +// Unpack the plugin that was added to the cache (CB-8154) +var package_tgz = path.resolve(npm.cache, info.name, info.version, 'package.tgz'); +return unpack.unpackTgz(package_tgz, pluginDir); +}) +.fail(function(error) { +events.emit('log', 'Fetching from npm registry failed'); +return Q.reject(error); +}); +} + + +/** + * @method fetchPlugReg + * @param {Array} with one element - the plugin id or "id@version" + * @return {Promise.} Promised path to fetched package. + */ +function fetchPlugReg(plugin, client) { +return initSettings() +.then(function (settings) { +return Q.nfcall(npm.load) +// configure npm here instead of passing parameters to npm.load due to CB-7670 +.then(function () { +for (var prop in settings){ +npm.config.set(prop, settings[prop]); +} +}); +}) +.then(function() { +events.emit('log', 'Fetching plugin "' + plugin + '" via plugin registry'); +return Q.ninvoke(npm.commands, 'cache', ['add', plugin]); +}) +.then(function(info) { +var cl = (client === 'plugman' ? 'plugman' : 'cordova-cli'); +bumpCounter(info, cl); +var pluginDir = path.resolve(npm.cache, info.name, info.version, 'package'); +// Unpack the plugin that was added to the cache (CB-8154) +var package_tgz = path.resolve(npm.cache, info.name, info.version, 'package.tgz'); +return unpack.unpackTgz(package_tgz, pluginDir); +}) +.fail(function(error) { +events.emit('log', 'Fetching from cordova plugin registry failed'); +return Q.reject(error); +}); +} + +/** + * @method checkPluginID --- End diff -- I don't think we need a comment to tell us what the function name is :) > Setup fetching from npm as fallback > --- > > Key: CB-8551 > URL: https://issues.apache.org/jira/browse/CB-8551 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Steve Gill >Assignee: Steve Gill > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345112#comment-14345112 ] ASF GitHub Bot commented on CB-8551: Github user agrieve commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25690540 --- Diff: cordova-lib/src/plugman/registry/registry.js --- @@ -236,15 +231,22 @@ function initSettings() { module.exports.settings = rc('plugman', { cache: plugmanCacheDir, -registry: 'http://registry.cordova.io', +registry: registryURL, logstream: fs.createWriteStream(path.resolve(plugmanConfigDir, 'plugman.log')), userconfig: path.resolve(plugmanConfigDir, 'config'), 'cache-min': oneDay }); + +// if npm is true, use npm registry. +// ~/.plugman/config overides the above config if it exists. --- End diff -- isn't this by design? Wouldn't you still want to be able to set this? > Setup fetching from npm as fallback > --- > > Key: CB-8551 > URL: https://issues.apache.org/jira/browse/CB-8551 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Steve Gill >Assignee: Steve Gill > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345109#comment-14345109 ] ASF GitHub Bot commented on CB-8551: Github user agrieve commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25690367 --- Diff: cordova-lib/src/cordova/plugin.js --- @@ -238,7 +239,21 @@ module.exports = function plugin(command, targets, opts) { return opts.plugins.reduce(function(soFar, target) { // Check if we have the plugin. if (plugins.indexOf(target) < 0) { -return Q.reject(new CordovaError('Plugin "' + target + '" is not present in the project. See `'+cordova_util.binname+' plugin list`.')); +// Convert target from package-name to package-id if necessary +var keys = Object.keys(pluginMapper); +//Traverse through pluginMapper values to see if it equals our target. +//Cordova-plugin-device would get changes to org.apache.cordova.device +for (var i = 0; i < keys.length; i++) { --- End diff -- Might as well export the reverse mapping from pluginMapper so that you don't need to do this linear search. Exposing the map as a sub-key of the module is a good idea anyways, since doing it top-level restricts you from ever adding another symbol to it. > Setup fetching from npm as fallback > --- > > Key: CB-8551 > URL: https://issues.apache.org/jira/browse/CB-8551 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Steve Gill >Assignee: Steve Gill > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14345110#comment-14345110 ] ASF GitHub Bot commented on CB-8551: Github user agrieve commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25690407 --- Diff: cordova-lib/src/plugman/fetch.js --- @@ -147,6 +146,9 @@ function fetchPlugin(plugin_src, plugins_dir, options) { checkID(options.expected_id, result.pinfo); metadata.save_fetch_metadata(plugins_dir, result.pinfo.id, { source: result.fetchJsonSource }); return result.dest; +}) +.fail(function(error) { --- End diff -- This is a no-op, is it not? > Setup fetching from npm as fallback > --- > > Key: CB-8551 > URL: https://issues.apache.org/jira/browse/CB-8551 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Steve Gill >Assignee: Steve Gill > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Created] (CB-8593) Allow --save to work with existing projects
Raymond Camden created CB-8593: -- Summary: Allow --save to work with existing projects Key: CB-8593 URL: https://issues.apache.org/jira/browse/CB-8593 Project: Apache Cordova Issue Type: Bug Reporter: Raymond Camden Priority: Minor The new --save ability only works when you *add* a platform or project. If I have an existing project I need to remove every single platform and plugin and then add them back in, one at a time, using --save for each one. Can we not support a "cordova save" command that would introspect current platforms/plugins and save them to the configuration? -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8478) cordova platform add android doesn't use the latest version
[ https://issues.apache.org/jira/browse/CB-8478?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14344948#comment-14344948 ] Wolfgang Flohr-Hochbichler commented on CB-8478: Thank you Herb - the "workaround" solved the problem! Do you know why I must explicitly specify the version number even for new created projects? I thought new created project will use per default the latest platform version :-| > cordova platform add android doesn't use the latest version > --- > > Key: CB-8478 > URL: https://issues.apache.org/jira/browse/CB-8478 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Affects Versions: Master > Environment: Ubuntu 14 >Reporter: Wolfgang Flohr-Hochbichler > > If I create a new cordova 4.2.0 project (using CLI) and add the android > platform (cordova platform add android), the android platform version which > is used is: 3.6.4. > I expected that version 3.7.1 is used because this is the actual version of > the cordova-android module. > $ npm view cordova-android > npm http GET https://registry.npmjs.org/cordova-android > npm http 304 https://registry.npmjs.org/cordova-android > { name: 'cordova-android', > description: 'cordova-android release', > 'dist-tags': { latest: '3.7.1', rc: '3.7.0' }, -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8478) cordova platform add android doesn't use the latest version
[ https://issues.apache.org/jira/browse/CB-8478?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14344938#comment-14344938 ] Herb Abrams commented on CB-8478: - Additional note: The 3.7.1 platform is added correctly if added explicitly, android@3.7.1, to a newly created project. The issue above occurs when an existing platform is upgraded. > cordova platform add android doesn't use the latest version > --- > > Key: CB-8478 > URL: https://issues.apache.org/jira/browse/CB-8478 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Affects Versions: Master > Environment: Ubuntu 14 >Reporter: Wolfgang Flohr-Hochbichler > > If I create a new cordova 4.2.0 project (using CLI) and add the android > platform (cordova platform add android), the android platform version which > is used is: 3.6.4. > I expected that version 3.7.1 is used because this is the actual version of > the cordova-android module. > $ npm view cordova-android > npm http GET https://registry.npmjs.org/cordova-android > npm http 304 https://registry.npmjs.org/cordova-android > { name: 'cordova-android', > description: 'cordova-android release', > 'dist-tags': { latest: '3.7.1', rc: '3.7.0' }, -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Created] (CB-8592) CordovaWebView crashes on handlePause
Simon Jarbrant created CB-8592: -- Summary: CordovaWebView crashes on handlePause Key: CB-8592 URL: https://issues.apache.org/jira/browse/CB-8592 Project: Apache Cordova Issue Type: Bug Components: CordovaLib Affects Versions: 3.7.1 Environment: Android Reporter: Simon Jarbrant Priority: Minor We use the Cordova framework in our company and our Android app, and with the recent upgrade to version 3.7.1 of the framework we've seen that sometimes when our app calls the handlePause() method on the WebView, a NullPointerException is thrown in it due to the pluginManager object being null. This only seems to happen sometimes when onSaveInstanceState() is called in our app (which then calls handlePause() in the CordovaWebView). Here's a link to the stack trace and error message that we get: http://pastebin.com/ceDSmeJm -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8498) Camera plugin on windows does not return native URL for photolibrary source
[ https://issues.apache.org/jira/browse/CB-8498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14344928#comment-14344928 ] ASF GitHub Bot commented on CB-8498: Github user Bubkastor commented on the pull request: https://github.com/apache/cordova-plugin-camera/pull/64#issuecomment-76925942 Image not open this uri object. > Camera plugin on windows does not return native URL for photolibrary source > --- > > Key: CB-8498 > URL: https://issues.apache.org/jira/browse/CB-8498 > Project: Apache Cordova > Issue Type: Bug > Components: Plugin Camera >Affects Versions: 3.5.0 > Environment: Windows 8.1, platform windows >Reporter: Vladimir Avdonin > > getPicture called with options > { > sourceType: Camera.PictureSourceType.PHOTOLIBRARY, > destinationType: Camera.DestinationType.NATIVE_URI > } > returns blob: URI. Expected to return native file URI. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Closed] (CB-8148) No deviceReady on WP8 in Emulator because of SystemException
[ https://issues.apache.org/jira/browse/CB-8148?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Eser Esen closed CB-8148. - > No deviceReady on WP8 in Emulator because of SystemException > > > Key: CB-8148 > URL: https://issues.apache.org/jira/browse/CB-8148 > Project: Apache Cordova > Issue Type: Bug > Components: WP8 >Affects Versions: 4.0.0 > Environment: VisualStudioExpress2013, Windows 8.1 Enterprise >Reporter: Eser Esen >Assignee: Jesse MacFadyen >Priority: Critical > Labels: wp8 > > I successfully created and added wp8 project using cordova CLI. > Running the app also works, it shows the HTML from my index.html file but > then ends up with following below in console. > On my index.html im trying to setup filesystem opening the > cordova.file.dataDirectory using resolveLocalFileSystemURL. But this happens > only within deviceReady function, which is never called, because i put a > console.log there and i dont see any of my logs in the output window in > Visual Studio Express 2013. Whats wrong here? > --- > Adding feature.value=Device > Adding feature.value=DebugConsole > Adding feature.value=File > Adding feature.value=FileTransfer > Adding feature.value=Globalization > Adding feature.value=InAppBrowser > 'TaskHost.exe' (CoreCLR: Silverlight AppDomain): Loaded > 'C:\windows\system32\en-US\mscorlib.debug.resources.dll'. Module was built > without symbols. > A first chance exception of type > 'System.IO.IsolatedStorage.IsolatedStorageException' occurred in > mscorlib.ni.dll > Updating IsolatedStorage for APP:DeviceID :: > 6eb37ee1-d188-40ff-afb0-78504f5158b4 > CordovaBrowser_LoadCompleted > Apache Cordova native platform version 3.7.0 is starting > A first chance exception of type 'System.SystemException' occurred in > Microsoft.Phone.Interop.ni.dll > Error calling js to fire nativeReady event. Did you include cordova.js in > your html script tag? -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Created] (CB-8591) Fix version dropdown order on package page
Peter Bakondy created CB-8591: - Summary: Fix version dropdown order on package page Key: CB-8591 URL: https://issues.apache.org/jira/browse/CB-8591 Project: Apache Cordova Issue Type: Bug Components: Registry Web Reporter: Peter Bakondy Priority: Minor The version dropdown items are listed in a wrong order. For example http://plugins.cordova.io/#/package/com.telerik.plugins.nativepagetransitions Versions currently listed: - 0.2.11 - 0.2.13 - 0.2.7 Expected: - 0.2.7 - 0.2.11 - 0.2.13 -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Closed] (CB-8550) iOS 8 WS timeout when use cellular network at cold start
[ https://issues.apache.org/jira/browse/CB-8550?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] YOANN MERGUI closed CB-8550. Resolution: Done > iOS 8 WS timeout when use cellular network at cold start > > > Key: CB-8550 > URL: https://issues.apache.org/jira/browse/CB-8550 > Project: Apache Cordova > Issue Type: Bug > Components: iOS >Affects Versions: 3.8.0, 3.6.3 >Reporter: YOANN MERGUI >Priority: Blocker > > Hello, > i have a strange problem and I see nothing in the Jira related to it. > Problem : at iOS 8 cold start application, I have a timeout when I call a > webservice (with jquery) or something else on the internet. This append only > when I use celullar network on a real device. > Steps to reproduce: > 1. close the application on the device > 2. turn on flight mode > 3. wait 5 seconds > 4. turn on cellular > 5. launch the application and you will have a timeout when you cal a WS. > After a retry that is working but for example it didn't load pictures... > The problem is the same when the cellular network was in standby mod (when it > is not use for x minutes) and you launch the application or after restarting > the devices. > I test it on 2 iPhones 4S and 1 iPhone 6. > With wifi no problem. > link to an project example > (https://drive.google.com/file/d/0ByCclTy4kpIAeDR4SnZwcTFtYlU/view?usp=sharing) > Thank you -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14344797#comment-14344797 ] ASF GitHub Bot commented on CB-8551: Github user TimBarham commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25672462 --- Diff: cordova-lib/src/plugman/uninstall.js --- @@ -47,7 +47,7 @@ function uninstall(platform, project_dir, id, plugins_dir, options) { options.is_top_level = true; options.pluginInfoProvider = options.pluginInfoProvider || new PluginInfoProvider(); plugins_dir = plugins_dir || path.join(project_dir, 'cordova', 'plugins'); - + --- End diff -- Looks like the only change was adding some spaces :) > Setup fetching from npm as fallback > --- > > Key: CB-8551 > URL: https://issues.apache.org/jira/browse/CB-8551 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Steve Gill >Assignee: Steve Gill > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14344794#comment-14344794 ] ASF GitHub Bot commented on CB-8551: Github user TimBarham commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25672404 --- Diff: cordova-lib/src/plugman/registry/registry.js --- @@ -322,3 +324,102 @@ function makeRequest (method, where, what, cb_) { return req; } + +/** + * @method fetchNPM + * @param {Array} with one element - the plugin id or "id@version" + * @return {Promise.} Promised path to fetched package. + */ +function fetchNPM(plugin, client) { +return initSettings(true) +.then(function (settings) { +return Q.nfcall(npm.load) +// configure npm here instead of passing parameters to npm.load due to CB-7670 +.then(function () { +for (var prop in settings){ +npm.config.set(prop, settings[prop]); +} +}); +}) +.then(function() { +events.emit('log', 'Fetching plugin "' + plugin + '" via npm'); +return Q.ninvoke(npm.commands, 'cache', ['add', plugin]); +}) +.then(function(info) { +var cl = (client === 'plugman' ? 'plugman' : 'cordova-cli'); +bumpCounter(info, cl); +var pluginDir = path.resolve(npm.cache, info.name, info.version, 'package'); +// Unpack the plugin that was added to the cache (CB-8154) +var package_tgz = path.resolve(npm.cache, info.name, info.version, 'package.tgz'); +return unpack.unpackTgz(package_tgz, pluginDir); +}) +.fail(function(error) { +events.emit('log', 'Fetching from npm registry failed'); +return Q.reject(error); +}); +} + + +/** + * @method fetchPlugReg + * @param {Array} with one element - the plugin id or "id@version" + * @return {Promise.} Promised path to fetched package. + */ +function fetchPlugReg(plugin, client) { --- End diff -- This method is identical to `fetchNPM()` other than whether or not we pass `true` to `initSettings()`, and the text of some log messages. Could you create a single helper function modifies those things based on a parameter? > Setup fetching from npm as fallback > --- > > Key: CB-8551 > URL: https://issues.apache.org/jira/browse/CB-8551 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Steve Gill >Assignee: Steve Gill > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14344778#comment-14344778 ] ASF GitHub Bot commented on CB-8551: Github user TimBarham commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25672017 --- Diff: cordova-lib/src/plugman/registry/registry.js --- @@ -236,15 +231,22 @@ function initSettings() { module.exports.settings = rc('plugman', { cache: plugmanCacheDir, -registry: 'http://registry.cordova.io', +registry: registryURL, logstream: fs.createWriteStream(path.resolve(plugmanConfigDir, 'plugman.log')), userconfig: path.resolve(plugmanConfigDir, 'config'), 'cache-min': oneDay }); + +// if npm is true, use npm registry. +// ~/.plugman/config overides the above config if it exists. +// Need to reset the registry value in settings +if(npm) { +settings.registry = 'http://registry.npmjs.org'; --- End diff -- There's no way to avoid this being overwritten in the first place? If not, rather than duplicating the string, can you either: 1. Store this string in a variable and use the variable twice. 2. Simply use the existing registryURL here (since it must be set to the npm registry). > Setup fetching from npm as fallback > --- > > Key: CB-8551 > URL: https://issues.apache.org/jira/browse/CB-8551 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Steve Gill >Assignee: Steve Gill > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8580) PluginResult.Status.NO_RESULT is broken (error CB is invoked instead)
[ https://issues.apache.org/jira/browse/CB-8580?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14344776#comment-14344776 ] Eddy Verbruggen commented on CB-8580: - I seems like someone already fixed it: https://git1-us-west.apache.org/repos/asf?p=cordova-js.git;a=commit;h=24dbb8099209d86a14f4161902d3e10fde9a75fe > PluginResult.Status.NO_RESULT is broken (error CB is invoked instead) > - > > Key: CB-8580 > URL: https://issues.apache.org/jira/browse/CB-8580 > Project: Apache Cordova > Issue Type: Bug > Components: WP8 >Affects Versions: 3.7.0 >Reporter: Eddy Verbruggen >Assignee: Jesse MacFadyen > > Before 3.7.0 a plugin could respond with: > PluginResult pluginResult = new PluginResult(PluginResult.Status.NO_RESULT); > pluginResult.KeepCallback = true; > this.DispatchCommandResult(pluginResult); > This meant the successCB nor the errorCB was invoked awaiting a further > response from native code. > Since 3.7.0 however in this case the errorCB is invoked due to this > difference: > Before 3.7.0: > https://github.com/apache/cordova-wp8/blob/3.5.x/common/www/cordova.js#L293 > Since 3.7.0: > https://github.com/apache/cordova-wp8/blob/3.7.1/template/www/cordova.js#L287 > I'd love to see the old behavior in a future release. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14344775#comment-14344775 ] ASF GitHub Bot commented on CB-8551: Github user TimBarham commented on a diff in the pull request: https://github.com/apache/cordova-lib/pull/175#discussion_r25671898 --- Diff: cordova-lib/src/plugman/registry/registry.js --- @@ -218,10 +205,18 @@ module.exports = { /** * @method initSettings + * @param {Boolean} using npm registry * @return {Promise.} Promised settings. */ -function initSettings() { +function initSettings(npm) { var settings = module.exports.settings; +var registryURL = 'http://registry.cordova.io'; + +//if npm is true, use npm registry +if(npm) { +registryURL = 'http://registry.npmjs.org'; +} + --- End diff -- Minor nit - rather than setting registryURL to one value, then potentially setting it to another value, why not just: var registryURL = npm ? 'http://registry.npmjs.org' : 'http://registry.cordova.io'; > Setup fetching from npm as fallback > --- > > Key: CB-8551 > URL: https://issues.apache.org/jira/browse/CB-8551 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Steve Gill >Assignee: Steve Gill > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Created] (CB-8590) lengthComputable is always true for transfer.download onprogress event on windows
Alexander Sorokin created CB-8590: - Summary: lengthComputable is always true for transfer.download onprogress event on windows Key: CB-8590 URL: https://issues.apache.org/jira/browse/CB-8590 Project: Apache Cordova Issue Type: Bug Components: Plugin File Transfer, Windows Reporter: Alexander Sorokin When downloading file on WIndows platform, in `onprogress` event `lengthComputable` is always true, whether we know total file size or not. it should be set to false when we don't know size of the file being downloaded. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Created] (CB-8589) Cordova no success callback on WP81
Bodo Probst created CB-8589: --- Summary: Cordova no success callback on WP81 Key: CB-8589 URL: https://issues.apache.org/jira/browse/CB-8589 Project: Apache Cordova Issue Type: Bug Components: Plugin File Transfer Environment: Windows Phone 8.1 Reporter: Bodo Probst The success callback in fileTransfer.upload() is not call, when the server does not respond with data, but only with a httpResonseStatus. The call to (FileTransferProxy.js::167) reader.loadAsync(result.progress.bytesReceived).then(function(size) fails with exception, when bytesReceived == 0 On Android, the callback is called correctly. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14344750#comment-14344750 ] ASF subversion and git services commented on CB-8551: - Commit f74768834dcd5b032a82e61f9b57867f43e406db in cordova-lib's branch refs/heads/CB-8551 from [~stevegill] [ https://git-wip-us.apache.org/repos/asf?p=cordova-lib.git;h=f747688 ] Merge branch 'CB-8551' of https://git-wip-us.apache.org/repos/asf/cordova-lib into CB-8551 > Setup fetching from npm as fallback > --- > > Key: CB-8551 > URL: https://issues.apache.org/jira/browse/CB-8551 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Steve Gill >Assignee: Steve Gill > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-8551) Setup fetching from npm as fallback
[ https://issues.apache.org/jira/browse/CB-8551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14344749#comment-14344749 ] ASF subversion and git services commented on CB-8551: - Commit f74768834dcd5b032a82e61f9b57867f43e406db in cordova-lib's branch refs/heads/CB-8551 from [~stevegill] [ https://git-wip-us.apache.org/repos/asf?p=cordova-lib.git;h=f747688 ] Merge branch 'CB-8551' of https://git-wip-us.apache.org/repos/asf/cordova-lib into CB-8551 > Setup fetching from npm as fallback > --- > > Key: CB-8551 > URL: https://issues.apache.org/jira/browse/CB-8551 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib >Reporter: Steve Gill >Assignee: Steve Gill > -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org