gulp.task('gwt:hash:src', function(done) { hashFiles({files: ['java/src/main/java/**']}, function(err, hash) { if (err) { done(err); } else { gitHash = hash; done(); } }); });
function(file) { hashFiles({ algorithm: config.algorithm || 'sha1', files: [file] }, function(error, hash) { computedCallback(file, hash); toUpdate[file] = false; if (checkComplete()) { completeCallback(); } }); });
var hashTranslationFiles = function (grunt) { var hashFiles = require('hash-files'); var fs = require('fs'); var async = require("async"); var done = this.async(); var dist = grunt.config('yeoman').dist + "/" ; var translationsPath = dist + "scripts/translations/"; var translationsFile = "translation.json"; var hashOptions = { files: [translationsPath+'literals/**/*.json'] }; hashFiles(hashOptions, function(error, hash) { if (!error) { var translations = grunt.file.expand(translationsPath+'literals/**/*.json'); var hashedTranslationFilename = "translation."+hash+".json"; replaceTranslationFileReferences(dist+'scripts/scripts.js'); async.each(translations, renameTranslationFile, done); function renameTranslationFile (translation, cb) { var hashedTranslationFile = translation.replace(translationsFile, hashedTranslationFilename); fs.rename(translation, hashedTranslationFile, function (err) { if(err) { cb('Error renaming translation file: '+ err); } console.log('Translation filename hashed', hashedTranslationFile); cb(); }); } function replaceTranslationFileReferences (file) { var fileContent = grunt.file.read(file); var replacedFileContent = fileContent.replace(translationsFile, hashedTranslationFilename); grunt.file.write(file, replacedFileContent); } } }); };
sol_files(dirs, function (files) { hashFiles({files: files}, function (err, files_hash) { if (err) throw (err); var filename = cachedir+'/'+files_hash+'_O'+optimize+'.json'; var compiled = {}; try { compiled = JSON.parse(fs.readFileSync(filename)); console.log('(cache)'); } catch (e) { var file_sources = files.map(take_source); var sources = {}; for (var i in file_sources) sources[file_sources[i].file] = file_sources[i].source; compiled = solc.compile({sources: sources}, optimize); fs.writeFile(filename, JSON.stringify(compiled)); console.log('(compiled)'); } cb(compiled); }); });
return new Promise((resolve, reject) => hashFilesWithCallBack(options, (err, hash) => err ? reject(err) : resolve(hash)));