Uploaded image for project: 'Apache Cordova'
  1. Apache Cordova
  2. CB-11022

Adding plugins prepares platforms, which is redundant and slow

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: cordova-lib
    • Labels:

      Description

      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.

        Attachments

          Activity

            People

            • Assignee:
              vladimir.kotikov Vladimir Kotikov
              Reporter:
              jasongin Jason Ginchereau
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: