Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
Many cordova CLI commands include a "prepare" operation, including 'cordova build', 'cordova run', 'cordova plugin add', and more. Every time each of those commands runs, the target platform is "prepared", which involves copying all files from the [<project>/www, <project>/platforms/<platform>/platform_www, <project>/merges/<platform>] to the platform's target www folder, as well as copying a bunch of icons and splash screens to platform-specific locations.
For the very first prepare of a platform, all that file copying is necessary. But most of the time after that most of the files being copied have not changed and therefore don't really need to be copied again. So the typical developer inner loop (edit a few source files, build and run the app, repeat) is a lot slower than it could be for a Cordova project, especially one that includes a significant number of source files or resources.
Instead, Cordova should be smart enough to skip copying of files that haven't changed, based on their last-modified timestamp. (But also there should still be a way to force a clean/full/non-incremental build if desired.)