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

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

Github user jasongin commented on the pull request:

    https://github.com/apache/cordova-lib/pull/429#issuecomment-216611405
  
    All right, I think this is the best we can do. The latest logic copies the 
file if the source's last-modified time is >= the target's last-modified time, 
or if the file sizes are different. At the time the file gets copied, the 
target's last-modified time gets set to the current time, so it is greater than 
the source's time until the source gets modified again.
    
    This should work fine with hooks, because a hook that modifies a file is 
likely to change the size, or if it doesn't change the size then the hook is 
likely to handle the file not being refreshed. One could contrive an artificial 
scenario in which the right thing doesn't happen, but in practice I don't think 
there would be any issues. And still there will be the 'clean' functionality to 
fall back on.


> Preparing platforms should skip copying files which haven't changed
> -------------------------------------------------------------------
>
>                 Key: CB-11117
>                 URL: https://issues.apache.org/jira/browse/CB-11117
>             Project: Apache Cordova
>          Issue Type: Improvement
>          Components: Android, iOS, Windows
>            Reporter: Jason Ginchereau
>            Assignee: Jason Ginchereau
>
> 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.)



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to