[ https://issues.apache.org/jira/browse/CB-11022?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15234957#comment-15234957 ]
ASF GitHub Bot commented on CB-11022: ------------------------------------- Github user vladimir-kotikov commented on the pull request: https://github.com/apache/cordova-lib/pull/423#issuecomment-208311472 The config file transformations are already handled during both plugin add/rm and prepare. Consider the following code: [Api.js#L233-L237](https://github.com/apache/cordova-android/blob/master/bin/templates/cordova/Api.js#L233-L237). It calls `add_plugin_changes` from [ConfigChanges.js#L128](https://github.com/apache/cordova-lib/blob/master/cordova-common/src/ConfigChanges/ConfigChanges.js#L128) which: 1. saves these transormations into `<platform>.json` for further usage and 2. applies these transformations immediately (see [ConfigChanges.js#L160](https://github.com/apache/cordova-lib/blob/master/cordova-common/src/ConfigChanges/ConfigChanges.js#L160)). So right now the only goal of calling `prepare` right after `plugin add` is to copy www files. > Adding plugins prepares platforms, which is redundant and slow > -------------------------------------------------------------- > > Key: CB-11022 > URL: https://issues.apache.org/jira/browse/CB-11022 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaLib > Reporter: Jason Ginchereau > Assignee: Vladimir Kotikov > > For CB-9617, a change was made to automatically do a 'cordova prepare' > operation after adding every plugin. As part of the prepare, all the files > from the project's www directory are re-copied into the platform_www > directory. For a large project with lots of source files, images, and other > resources, this copy operation is potentially time-consuming. And it is > redundant and unnecessary when adding a plugin, because those files do not > need to be changed when adding a plugin. > For a large project with many plugins, this slow redundant operation is > repeated for every plugin, making the first-time build (installing all the > plugins) take a very long time. As an extreme case, a customer reported their > large project (35 plugins, ~150 MB in www) takes about 2 hours to build the > first time. Most of that time is spent repeatedly preparing the platforms > after adding each plugin. The log line that appears to be slow says it is > "Generating config.xml from defaults for platform <platform>", but what it is > actually doing is redundantly copying lots of files from www. > This issue can also be observed at a smaller scale when building the Cordova > mobilespec project, which contains tests for all the core plugins. -- 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