Return-Path: X-Original-To: apmail-cordova-issues-archive@minotaur.apache.org Delivered-To: apmail-cordova-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id CD0A21823A for ; Wed, 24 Feb 2016 05:33:40 +0000 (UTC) Received: (qmail 38413 invoked by uid 500); 24 Feb 2016 05:33:18 -0000 Delivered-To: apmail-cordova-issues-archive@cordova.apache.org Received: (qmail 38381 invoked by uid 500); 24 Feb 2016 05:33:18 -0000 Mailing-List: contact issues-help@cordova.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list issues@cordova.apache.org Received: (qmail 38365 invoked by uid 99); 24 Feb 2016 05:33:18 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 24 Feb 2016 05:33:18 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 387082C14F8 for ; Wed, 24 Feb 2016 05:33:18 +0000 (UTC) Date: Wed, 24 Feb 2016 05:33:18 +0000 (UTC) From: "Byoungro So (JIRA)" To: issues@cordova.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (CB-10328) dependency plugins are not removed even if not top-level MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/CB-10328?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Byoungro So updated CB-10328: ----------------------------- Description: Some plugins fetch and install dependency plugins. These dependency plugins should be removed when the top-level depender plugin is removed. However, this is not happening. For example, cordova-plugin-media brings cordova-plugin-file as a dependency. When, cordova-plugin-media is removed cordova-plugin-file should be removed together. I figured that this is caused by resetting the top-level property of plugins when adding a new platform. Here is how to reproduce the bug. {code} [test] cordova create test Creating a new cordova project. [test] cd test [test] cordova plugin add cordova-plugin-media Fetching plugin "cordova-plugin-media@~2.1.0" via npm [test] cordova platform add ios Adding ios project... iOS project created with cordova-ios@4.0.1 Discovered plugin "cordova-plugin-whitelist" in config.xml. Installing to the project Fetching plugin "cordova-plugin-whitelist@1" via npm Installing "cordova-plugin-whitelist" for ios Installing "cordova-plugin-media" for ios Fetching plugin "cordova-plugin-file" via npm Installing "cordova-plugin-file" for ios [test] cordova plugin cordova-plugin-file 4.1.1 "File" cordova-plugin-media 2.1.0 "Media" cordova-plugin-whitelist 1.2.1 "Whitelist" [test] cordova plugin rm cordova-plugin-media Uninstalling 1 dependent plugins. Uninstalling cordova-plugin-file from ios Uninstalling cordova-plugin-media from ios Removing "cordova-plugin-media" [test] cordova plugin add cordova-plugin-media Fetching plugin "cordova-plugin-media@~2.1.0" via npm Installing "cordova-plugin-media" for ios Fetching plugin "cordova-plugin-file" via npm Installing "cordova-plugin-file" for ios [test] cordova platform add android Adding android project... Creating Cordova project for the Android platform: Path: platforms/android Package: io.cordova.hellocordova Name: HelloCordova Activity: MainActivity Android target: android-23 Android project created with cordova-android@5.1.0 Installing "cordova-plugin-file" for android Installing "cordova-plugin-media" for android Dependent plugin "cordova-plugin-file" already installed on android. Installing "cordova-plugin-whitelist" for android This plugin is only applicable for versions of cordova-android greater than 4.0. If you have a previous platform version, you do *not* need this plugin since the whitelist will be built in. [test] cordova plugin cordova-plugin-file 4.1.1 "File" cordova-plugin-media 2.1.0 "Media" cordova-plugin-whitelist 1.2.1 "Whitelist" [test] cordova plugin rm cordova-plugin-media Uninstalling cordova-plugin-media from android Uninstalling 1 dependent plugins. Uninstalling cordova-plugin-file from ios Uninstalling cordova-plugin-media from ios Removing "cordova-plugin-media" [test] cordova plugin cordova-plugin-file 4.1.1 "File" cordova-plugin-whitelist 1.2.1 "Whitelist" {code} was: Some plugins fetch and install dependency plugins. These dependency plugins should be removed when the top-level depender plugin is removed. However, this is not happening. For example, cordova-plugin-media brings cordova-plugin-file as a dependency. When, cordova-plugin-media is removed cordova-plugin-file should be removed together. > dependency plugins are not removed even if not top-level > -------------------------------------------------------- > > Key: CB-10328 > URL: https://issues.apache.org/jira/browse/CB-10328 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib > Reporter: Byoungro So > Assignee: Byoungro So > Labels: triaged > > Some plugins fetch and install dependency plugins. > These dependency plugins should be removed when the top-level depender plugin is removed. > However, this is not happening. > For example, cordova-plugin-media brings cordova-plugin-file as a dependency. > When, cordova-plugin-media is removed cordova-plugin-file should be removed together. > I figured that this is caused by resetting the top-level property of plugins when adding a new platform. > Here is how to reproduce the bug. > {code} > [test] cordova create test > Creating a new cordova project. > [test] cd test > [test] cordova plugin add cordova-plugin-media > Fetching plugin "cordova-plugin-media@~2.1.0" via npm > [test] cordova platform add ios > Adding ios project... > iOS project created with cordova-ios@4.0.1 > Discovered plugin "cordova-plugin-whitelist" in config.xml. Installing to the project > Fetching plugin "cordova-plugin-whitelist@1" via npm > Installing "cordova-plugin-whitelist" for ios > Installing "cordova-plugin-media" for ios > Fetching plugin "cordova-plugin-file" via npm > Installing "cordova-plugin-file" for ios > [test] cordova plugin > cordova-plugin-file 4.1.1 "File" > cordova-plugin-media 2.1.0 "Media" > cordova-plugin-whitelist 1.2.1 "Whitelist" > [test] cordova plugin rm cordova-plugin-media > Uninstalling 1 dependent plugins. > Uninstalling cordova-plugin-file from ios > Uninstalling cordova-plugin-media from ios > Removing "cordova-plugin-media" > [test] cordova plugin add cordova-plugin-media > Fetching plugin "cordova-plugin-media@~2.1.0" via npm > Installing "cordova-plugin-media" for ios > Fetching plugin "cordova-plugin-file" via npm > Installing "cordova-plugin-file" for ios > [test] cordova platform add android > Adding android project... > Creating Cordova project for the Android platform: > Path: platforms/android > Package: io.cordova.hellocordova > Name: HelloCordova > Activity: MainActivity > Android target: android-23 > Android project created with cordova-android@5.1.0 > Installing "cordova-plugin-file" for android > Installing "cordova-plugin-media" for android > Dependent plugin "cordova-plugin-file" already installed on android. > Installing "cordova-plugin-whitelist" for android > This plugin is only applicable for versions of cordova-android greater than 4.0. If you have a previous platform version, you do *not* need this plugin since the whitelist will be built in. > > [test] cordova plugin > cordova-plugin-file 4.1.1 "File" > cordova-plugin-media 2.1.0 "Media" > cordova-plugin-whitelist 1.2.1 "Whitelist" > [test] cordova plugin rm cordova-plugin-media > Uninstalling cordova-plugin-media from android > Uninstalling 1 dependent plugins. > Uninstalling cordova-plugin-file from ios > Uninstalling cordova-plugin-media from ios > Removing "cordova-plugin-media" > [test] cordova plugin > cordova-plugin-file 4.1.1 "File" > cordova-plugin-whitelist 1.2.1 "Whitelist" > {code} -- 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