[
https://issues.apache.org/jira/browse/CB-6698?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14016392#comment-14016392
]
ASF GitHub Bot commented on CB-6698:
------------------------------------
Github user mbektchiev commented on a diff in the pull request:
https://github.com/apache/cordova-lib/pull/21#discussion_r13329193
--- Diff: cordova-lib/src/plugman/platforms/android.js ---
@@ -80,10 +84,115 @@ module.exports = {
},
"framework": {
install:function(source_el, plugin_dir, project_dir, plugin_id) {
- events.emit('verbose', 'framework.install is not supported for
android');
+ var src = source_el.attrib.src;
+ var custom = source_el.attrib.custom;
+ if (!src) throw new Error('src not specified in framework
element');
+
+ events.emit('verbose', "Installing Android library: " + src);
+ var parent = source_el.attrib.parent;
+ var parentDir = parent ? path.resolve(project_dir, parent) :
project_dir;
+ var subDir;
+ if (custom) {
+ subDir = path.resolve(project_dir, src);
+ } else {
+ var localProperties =
properties_parser.createEditor(path.resolve(project_dir, "local.properties"));
+ subDir = path.resolve(localProperties.get("sdk.dir"), src);
+ }
+ var projectConfig =
module.exports.parseProjectFile(project_dir);
+ projectConfig.addSubProject(parentDir, subDir);
},
uninstall:function(source_el, project_dir, plugin_id) {
- events.emit('verbose', 'framework.uninstall is not supported
for android');
+ var src = source_el.attrib.src;
+ if (!src) throw new Error('src not specified in framework
element');
+
+ events.emit('verbose', "Uninstalling Android library: " + src);
+ var parent = source_el.attrib.parent;
+ var parentDir = parent ? path.resolve(project_dir, parent) :
project_dir;
+ var subDir = path.resolve(project_dir, src);
+ var projectConfig =
module.exports.parseProjectFile(project_dir);
+ projectConfig.removeSubProject(parentDir, subDir);
}
+ },
+ parseProjectFile: function(project_dir){
+ if (!projectFileCache[project_dir]) {
+ projectFileCache[project_dir] = {
--- End diff --
I totally agree! I extracted it in a separate js.
> Plugman support for referencing Android libraries
> -------------------------------------------------
>
> Key: CB-6698
> URL: https://issues.apache.org/jira/browse/CB-6698
> Project: Apache Cordova
> Issue Type: New Feature
> Components: Plugman
> Reporter: Martin Bektchiev
> Assignee: Martin Bektchiev
>
> Make plugman capable of referencing an Android library project from within a
> plugin.
> Currently there's no viable way to do it and it is becoming common to try to
> circumvent this limitation by abusing *plugin.xml* to (try to) merge a
> library's resources, code and configuration. (see
> https://github.com/wildabeast/BarcodeScanner)
--
This message was sent by Atlassian JIRA
(v6.2#6252)