#!/usr/bin/env node 'use strict'; // regenerates download_info.json let fs = require('fs'); let download = require('../lib/download'); let sha = require('../lib/sha'); const version = '0.16.1'; const urlBase = `https://godist.herokuapp.com/projects/ddollar/forego/releases/${version}`; let targets = [ {arch: 'x64', platform: 'darwin', url: urlBase+'/darwin-amd64/forego', filename: `forego-${version}`}, {arch: 'x64', platform: 'linux', url: urlBase+'/linux-amd64/forego', filename: `forego-${version}`}, {arch: 'ia32', platform: 'linux', url: urlBase+'/linux-386/forego', filename: `forego-${version}`}, {arch: 'x64', platform: 'windows', url: urlBase+'/windows-amd64/forego.exe', filename: `forego-${version}.exe`}, {arch: 'ia32', platform: 'windows', url: urlBase+'/windows-386/forego.exe', filename: `forego-${version}.exe`}, ]; Promise.all(targets.map(function (target) { let arch = target.arch; let platform = target.platform; let filename = target.filename || 'forego'; let path = `./tmp/${arch}-${platform}-${filename}`; return download.file(target.url, path, {mode: 0o0755}) .then(function () { return sha.file(path); }) .then(function (sha) { target.sha = sha; }); })) .then(function () { fs.writeFileSync(__dirname + '/../download_info.json', JSON.stringify(targets)); }) .then(function () { console.log('download_info.json updated.'); }) .catch(function (err) { console.error(err.stack); process.exit(1); });