getAllTargetReposTagsHashes()

in gulpfile.js [438:493]


          getAllTargetReposTagsHashes().then(function(resp, err) {

            if (err) {
              console.log('ERROR', err);
            }

            // Go through all releases
            Q.all(releases.map(function(release) {
              var def = Q.defer();

              // go through target releases
              // first, find the correct target
              for (var i=0; i<targets.length; i++) {
                if(targets[i].repo === release.repo) {
                  for(var j=0; j<targets[i].releases.length; j++) {

                    // if target version matches release
                    if (targets[i].releases[j][1] === release.version) {

                      // get tag date from remote repo
                      // arguments: repoName, tagHash
                      getTagDate(release.repo, targets[i].releases[j][0]).then(function(response) {
                        release.date=response;
                        def.resolve();
                      });
                      break;
                    }
                  }
                  break;
                }
              }
              return def.promise;
            }))

            // After all tag dates are loaded
            .then(function() {
              // sort releases by date
              releases.sort(function(a, b) {
                return b.date - a.date;
              });

              var fileContents = {};

              // Use the "key" to set core.src and malhar.src, etc.
              targets.forEach(function(trg) {
                // filter releases by repo
                _.set(fileContents, trg.key, releases.filter(function(el) {
                  return el.repo === trg.repo;
                }));
              });

              // Write the file to releases.json
              fs.writeFile('./releases.json', JSON.stringify(fileContents, 0, 2));

            });
          });