cordova-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CB-9825) Support third-party package managers like Cocoapods and Nuget
Date Tue, 05 Jul 2016 04:12:11 GMT

    [ https://issues.apache.org/jira/browse/CB-9825?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15361972#comment-15361972
] 

ASF GitHub Bot commented on CB-9825:
------------------------------------

Github user shazron commented on a diff in the pull request:

    https://github.com/apache/cordova-ios/pull/234#discussion_r69505429
  
    --- Diff: bin/templates/scripts/cordova/Api.js ---
    @@ -236,10 +317,50 @@ Api.prototype.addPlugin = function (plugin, installOptions) {
      *   CordovaError instance.
      */
     Api.prototype.removePlugin = function (plugin, uninstallOptions) {
    -
         var xcodeproj = projectFile.parse(this.locations);
         return PluginManager.get(this.platform, this.locations, xcodeproj)
             .removePlugin(plugin, uninstallOptions)
    +        .then(function() {
    +            if (plugin.getFrameworks(this.platform).length === 0) return;
    +                console.log('Looking into removing pods since the plugin contained <framework>');
    +                //require script to run pod remove
    +                //pods.json might not exist (if not pods were removed). 
    +                //the pod will already be removed from pods.json at this stage
    +                //need to check podfile and see if a pod exists in podfile that doesn't
exist in pods.json. If so, remove it.
    +
    +                // which pods are in the plugin? 
    +                var frameworkTags = plugin.getFrameworks(this.platform);
    +                var project_dir = this.locations.root;
    +                var pods_file = path.join(project_dir, 'pods.json');
    +                var array_of_pod_objects = [];
    +
    +                delete require.cache[require.resolve(pods_file)];
    +                var pods = require(pods_file);
    +            
    +                // check if any of the framework tags are of type "podspec" 
    +                frameworkTags.forEach(function (obj) { 
    +                    if (obj.type == 'podspec') {
    +                        array_of_pod_objects.push(obj);
    +                    }
    +                });
    +
    +                var podMod = require('./lib/podMod');
    +                
    +                array_of_pod_objects.forEach(function (obj) {
    +                    // according to pods.json, does more than one plugin depend on the
pod?
    +                    if (pods[obj.src].count > 1) {
    --- End diff --
    
    Inconsistent logic from your other code: https://github.com/apache/cordova-ios/pull/234/commits/e95fd6f393b7888b8d739dfbe8bd84805e30c67e#diff-4dd01b7c4b3f825b9b9e6f223a83ec71R104


> Support third-party package managers like Cocoapods and Nuget
> -------------------------------------------------------------
>
>                 Key: CB-9825
>                 URL: https://issues.apache.org/jira/browse/CB-9825
>             Project: Apache Cordova
>          Issue Type: New Feature
>          Components: CordovaLib
>            Reporter: Shazron Abdullah
>            Assignee: Julia Geist
>              Labels: cordova-ios-5.0.x
>
> ML discussion:
> http://markmail.org/message/5qvg6rwr4nz4q7mc
> cordova-discuss proposal (to be brought back to the list when finalized):
> https://github.com/cordova/cordova-discuss/blob/master/proposals/ThirdPartyPackageManagers.md
> From Steve Gill in the ML:
> At the Cordova F2F, everyone seemed to agree that we should bring CocoaPods
> support to plugins as dependencies for iOS.
> Cordova-android currently uses Gradle as a way to enable external
> dependency resolution for plugins using the framework tag.
> A suggestion about using the engine tag to fetch cocoapods-cli (mac) &
> NuGet (windows) followed by using the framework tag was discussed.
> The minutes[1] show Carlos, Shaz and Raghav as looking into the design.
> Someone should write up a proposal on cordova-discuss[2] and create the
> issues. Post them in this thread.
> This shouldn't take priority over cordova-ios 4 issues.
> [1]
> https://docs.google.com/document/d/1MArKRmnLS052LBbhPxJF57_4ZivghOj8znWo5sTCkbU/edit?usp=sharing
> [2] https://github.com/cordova/cordova-discuss



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org


Mime
View raw message