return new Promise(function(resolve, reject) { // writes temp directory, puts zip file inside var newPath = temp.mkdirSync({ prefix: 'mm_' }); fs.copy(path.join(self.path, 'src'), path.join(newPath, 'unpackaged'), function(err) { if (err) { return reject(err); } else { var deployResult; util.zipDirectory(path.join(newPath, 'unpackaged'), newPath) .then(function() { var zipStream = fs.createReadStream(path.join(newPath, 'unpackaged.zip')); return self.sfdcClient.deploy(zipStream, { rollbackOnError : true, performRetrieve: true }); }) .then(function(result) { logger.debug('Compile result: '); logger.debug(result); deployResult = result; if (deployResult.details.retrieveResult) { return self.updateLocalStore(deployResult.details.retrieveResult.fileProperties); } else { return new Promise(function(resolve) { resolve(); }); } }) .then(function() { resolve(deployResult); }) .catch(function(error) { reject(error); }) .done(); } }); });
fs.remove(targetDirectory, function (err) { if (err) { reject(new Error('copyDevelopmentThaliCordovaPluginToProject remove ' + 'failed with ' + err)); return; } console.log('Copying files from ' + sourceDirectory + ' to ' + targetDirectory); fs.copy(sourceDirectory, targetDirectory, function (err) { if (err) { reject( new Error('copyDevelopmentThaliCordovaPluginToProject failed with' + err)); return; } resolve(createGitHubZipResponse(depotName, branchName, thaliDontCheckIn, true)); }); });