[
https://issues.apache.org/jira/browse/CB-8596?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14348170#comment-14348170
]
ASF GitHub Bot commented on CB-8596:
------------------------------------
Github user nikhilkh commented on a diff in the pull request:
https://github.com/apache/cordova-lib/pull/177#discussion_r25840412
--- Diff: cordova-lib/src/cordova/project_metadata.js ---
@@ -0,0 +1,60 @@
+/**
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+*/
+
+var cordova_util = require('./util'),
+ ConfigParser = require('../configparser/ConfigParser'),
+ Q = require('q');
+
+// Returns all the platforms that are currently saved into config.xml
+// Return type is a promise that is fulfilled with a list of objects with
name and version properties. e.g: [{name: 'android', version: '3.5.0'}, {name:
'wp8', version: 'C:/path/to/platform'}, {name: 'ios', version: 'git://...'}]
+// ToDo: Once we move to npm, this function should be updated to rely on
npm instead
+function getPlatforms(projectRoot){
+ var xml = cordova_util.projectConfig(projectRoot);
+ var cfg = new ConfigParser(xml);
+ return Q(cfg.getEngines());
+}
+
+// Returns all the plugins that are currently saved into config.xml
+// Return type is a promise that is fulfilled with a list of objects with
name and version properties. e.g: [ {id: 'org.apache.cordova.device', name:
'Device', APP_ID: 'my-app-id', APP_NAME: 'my-app-name'} ]
+// ToDO: Once we move to npm, this function should be updated to rely on
npm instead
+function getPlugins(projectRoot){
--- End diff --
Ah..in that case it makes sense to remain consistent and return Q. Is this
API documented? JSDoc comments are easier to read and serve as good
documentation.
From: Omar Mefire [mailto:[email protected]]
Sent: Wednesday, March 4, 2015 8:50 PM
To: apache/cordova-lib
Cc: Nikhil Khandelwal
Subject: Re: [cordova-lib] CB-8596 Expose APIs to retrieve platforms and
plugins saved in config.xml (#177)
In
cordova-lib/src/cordova/project_metadata.js<https://github.com/apache/cordova-lib/pull/177#discussion_r25839537>:
> + ConfigParser = require('../configparser/ConfigParser'),
> + Q = require('q');
> +
> +// Returns all the platforms that are currently saved into config.xml
> +// Return type is a promise that is fulfilled with a list of objects
with name and version properties. e.g: [{name: 'android', version: '3.5.0'},
{name: 'wp8', version: 'C:/path/to/platform'}, {name: 'ios', version:
'git://...'}]
> +// ToDo: Once we move to npm, this function should be updated to rely on
npm instead
> +function getPlatforms(projectRoot){
> + var xml = cordova_util.projectConfig(projectRoot);
> + var cfg = new ConfigParser(xml);
> + return Q(cfg.getEngines());
> +}
> +
> +// Returns all the plugins that are currently saved into config.xml
> +// Return type is a promise that is fulfilled with a list of objects
with name and version properties. e.g: [ {id: 'org.apache.cordova.device',
name: 'Device', APP_ID: 'my-app-id', APP_NAME: 'my-app-name'} ]
> +// ToDO: Once we move to npm, this function should be updated to rely on
npm instead
> +function getPlugins(projectRoot){
valid point! however, we already return promises with all our other APIs.
—
Reply to this email directly or view it on
GitHub<https://github.com/apache/cordova-lib/pull/177/files#r25839537>.
> 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: [email protected]
For additional commands, e-mail: [email protected]