const AdobeAir = require('../tasks/adobeAir'); const Haxe = require('../tasks/haxe'); const FlashPlayer = require('../tasks/flashplayer'); const packages = [ {name:'openfl', version:'6.5.3'}, {name:'lime', version:'5.9.1'}, {name:'promhx', version:'1.1.0'}, {name:'protohx', version:'0.4.6'}, {name:'yaml', version:'1.3.0'}, {name:'haxework', git:'git@bitbucket.org:shmyga/haxework.git'}, {name:'orm', version:'2.1.0'}, ]; const prepareOne = (value) => { switch (value) { case Haxe.ID: const haxe = new Haxe(); return haxe.prepare().then(() => haxe.install(packages)); case AdobeAir.ID: return new AdobeAir().prepare(); case FlashPlayer.ID: return new FlashPlayer().prepare(); default: throw Error(`Unknown target: ${value}`) } }; const prepare = (...targets) => function prepare() { const tasks = targets.map((target) => prepareOne(target)); return Promise.all(tasks); }; const update = () => { return new Haxe().upgrade(); }; module.exports = prepare; module.exports.update = update;