Files
tankz/build/prepare.js

37 lines
987 B
JavaScript
Executable File

const ht = require('gulp-haxetool');
const packageInfo = require('../package.json');
const prepareOne = (value) => {
switch (value) {
case ht.Haxe.ID:
const haxe = new ht.Haxe();
return haxe.prepare().then(() => haxe.install(packageInfo.haxeDependencies));
case ht.AdobeAir.ID:
return new ht.AdobeAir().prepare();
case ht.FlashPlayer.ID:
return new ht.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 ht.Haxe().upgrade();
};
const generate = () => function generate() {
return new ht.Haxe().haxelib([
'run', 'protohx', 'generate', 'protohx.json'
]);
};
module.exports = prepare;
module.exports.update = update;
module.exports.generate = generate;