[
https://issues.apache.org/jira/browse/CB-11117?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15261670#comment-15261670
]
ASF GitHub Bot commented on CB-11117:
-------------------------------------
Github user vladimir-kotikov commented on a diff in the pull request:
https://github.com/apache/cordova-android/pull/295#discussion_r61383391
--- Diff: bin/templates/cordova/lib/prepare.js ---
@@ -26,26 +26,43 @@ var AndroidManifest = require('./AndroidManifest');
var xmlHelpers = require('cordova-common').xmlHelpers;
var CordovaError = require('cordova-common').CordovaError;
var ConfigParser = require('cordova-common').ConfigParser;
+var FileUpdater = require('cordova-common').FileUpdater;
-module.exports.prepare = function (cordovaProject) {
+module.exports.prepare = function (cordovaProject, options) {
var self = this;
+ var platformResourcesDir = path.relative(cordovaProject.root,
path.join(this.locations.root, 'res'));
this._config = updateConfigFilesFrom(cordovaProject.projectConfig,
this._munger, this.locations);
// Update own www dir with project's www assets and plugins' assets
and js-files
- return Q.when(updateWwwFrom(cordovaProject, this.locations))
+ return Q.when(updateWww.call(self, cordovaProject))
--- End diff --
I'd rather not to pass `this` reference to this method, especially if the
only thing we need is a couple of properties from 'locations' object
(`this.locations.platformWww` and `this.locations.www` at L120). Maybe just
pass these properties as an arguments, or revert to previous signature?
> 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]